Alex Tselegidis
|
e7ddad5641
|
Make sure there are no duplicate unavailability entries (#1388)
|
2023-07-17 07:59:56 +02:00 |
|
Alex Tselegidis
|
ebe087553e
|
Automatically select the next available date in the booking page or display a message if this month is unavailable (#1075) (#1204)
|
2023-07-11 08:11:41 +02:00 |
|
Alex Tselegidis
|
87e27d4070
|
Use the unavailabilities model to save the sync events (#1363)
|
2023-07-11 07:46:28 +02:00 |
|
Alex Tselegidis
|
5473544258
|
Allow working plan exceptions to be defined as non-working days (#1383).
|
2023-07-10 08:22:55 +02:00 |
|
Alex Tselegidis
|
674d7c4eeb
|
Correct the array key access in Google.php (#1362)
|
2023-07-03 10:21:46 +02:00 |
|
Alex Tselegidis
|
d055d10610
|
Add "notes" to the whitelisted field list
|
2023-06-21 09:50:52 +03:00 |
|
Alex Tselegidis
|
2f69be2bd0
|
Update the equivalent appointment removal action of the calendar table view.
|
2023-06-01 14:30:08 +02:00 |
|
Alex Tselegidis
|
8e37e54bdb
|
Refactor the calendar page appointment removal so that it also uses a request parameter called "cancellation_reason", just like the public booking page does.
|
2023-06-01 14:25:02 +02:00 |
|
Alex Tselegidis
|
890e3ac4d9
|
Order the records by update datetime to avoid them missing in the UI
|
2023-05-04 17:55:29 +02:00 |
|
Alex Tselegidis
|
fb7b2af812
|
Re-enable the captcha image distortion.
|
2023-05-03 07:26:39 +02:00 |
|
Alex Tselegidis
|
1655b0df2d
|
Correct the captcha builer php issues.
|
2023-05-03 07:21:20 +02:00 |
|
Alex Tselegidis
|
f13b1a17c4
|
Correct the API controller constructor methods.
|
2023-04-24 13:22:49 +02:00 |
|
Alex Tselegidis
|
d1e1000cb4
|
The "id_categories" columnn is optional
|
2023-04-24 10:13:44 +02:00 |
|
Alex Tselegidis
|
7f37350fab
|
Regenerate the session ID after logging in to avoid Session Fixation attacks
|
2023-04-15 14:46:30 +02:00 |
|
Alex Tselegidis
|
75b2473576
|
Do not return appointments of a different user to the another provider or secretary on the default calendar screen.
|
2023-04-15 14:39:12 +02:00 |
|
Alex Tselegidis
|
6fc45c3368
|
Correct the field filtering
|
2023-04-15 14:33:40 +02:00 |
|
Alex Tselegidis
|
d4185b2b05
|
Load the framework while testing in order to allow for additional tests
|
2023-03-24 08:11:25 +01:00 |
|
Alex Tselegidis
|
7bfe16b6be
|
Check on trashed items when fetching appointment information
|
2023-03-17 07:53:16 +01:00 |
|
Alex Tselegidis
|
2b552c4535
|
Resolve various PHP inspection issues
|
2023-03-13 09:06:18 +01:00 |
|
Alex Tselegidis
|
2731d2f17c
|
Update the seeders so that they set dynamic passwords by default
|
2023-03-01 09:00:24 +01:00 |
|
Alex Tselegidis
|
963413eb88
|
White list the working plan and working plan exceptions when saving a provider record
|
2023-03-01 08:26:58 +01:00 |
|
Alex Tselegidis
|
ea30c62a84
|
Load required settings
|
2023-02-21 08:11:18 +01:00 |
|
Alex Tselegidis
|
ddee652231
|
Remove unnecessary cache load
|
2023-02-21 07:58:30 +01:00 |
|
Alex Tselegidis
|
c8bfb623e2
|
Apply the future booking limit to the booking page
|
2023-02-13 09:36:08 +01:00 |
|
Alex Tselegidis
|
04f480c4c6
|
Remove duplicate command
|
2023-01-23 07:47:47 +01:00 |
|
Alex Tselegidis
|
f8925ddb0d
|
Add the missing "only" filtering to the backend controllers.
|
2023-01-21 12:51:06 +01:00 |
|
Alex Tselegidis
|
8449d5454c
|
Add ID to the allowed appointments fields (this will fix the rescheduling flow)
|
2023-01-18 10:59:57 +01:00 |
|
Alex Tselegidis
|
50ec06b29c
|
Allow API clients to filter appointments by service, provider and customer ID (#1296, #1325)
|
2023-01-14 10:25:25 +01:00 |
|
Alex Tselegidis
|
dfacdc901a
|
Use the "array_values" method in both available-provider filtering conditions to avoid issues with missing keys
|
2023-01-14 10:16:32 +01:00 |
|
Alex Tselegidis
|
59170af997
|
Adjust manage mode handling in booking page
|
2023-01-14 10:15:06 +01:00 |
|
Alex Tselegidis
|
8879fa7889
|
Merge pull request #1326 from eerojaaskelainen/RelFrontFixes
Fixes for frontend problems running in release mode
|
2023-01-14 10:15:01 +01:00 |
|
Alex Tselegidis
|
f68e475e27
|
Merge pull request #1330 from eerojaaskelainen/BookingRescheduleManageModeFix
Booking reschedule: Fixed manage mode getter
|
2023-01-14 10:02:37 +01:00 |
|
Alex Tselegidis
|
2e3e766f73
|
Add missing field filtering and the optional model method
|
2023-01-14 09:38:49 +01:00 |
|
Alex Tselegidis
|
bc0de8ec53
|
Add a missing condition on permissions in Calendar.php
|
2022-11-30 11:22:48 +01:00 |
|
Eero Jääskeläinen
|
a5e9ed3e99
|
Booking reschedule: Fixed manage mode getter
|
2022-11-28 13:21:32 +02:00 |
|
Eero Jääskeläinen
|
066e9eb236
|
Sorting with known previous sibling's ID
|
2022-11-28 09:40:52 +02:00 |
|
Eero Jääskeläinen
|
0b0c89ba3c
|
Added service sorting
|
2022-11-24 16:19:41 +02:00 |
|
Eero Jääskeläinen
|
ad6bf65667
|
Strip providers script vars' keys to fix 'find() undefined' JS error
|
2022-11-17 12:54:05 +02:00 |
|
Alex Tselegidis
|
f389608aa1
|
Add date, from and till query parameters to the filter the appointments index results by date (#1134).
|
2022-10-16 22:17:36 +03:00 |
|
Alex Tselegidis
|
0f6df76667
|
Allow the users to define their own status and assign them to appointments (#244).
|
2022-10-16 21:54:26 +03:00 |
|
Alex Tselegidis
|
8449fd3d28
|
Fix the rescheduling functionality in the booking page
|
2022-10-16 18:07:45 +03:00 |
|
Alex Tselegidis
|
c8ebfae7ff
|
Make sure the search method sorts by update_datetime in descending order
|
2022-10-16 18:07:01 +03:00 |
|
Alex Tselegidis
|
d02c71a0e2
|
Add page title to the account pages
|
2022-10-16 18:02:47 +03:00 |
|
Alex Tselegidis
|
b204437473
|
Add missing provider fields in the "create" and "update" methods
|
2022-10-03 17:06:01 +03:00 |
|
Alex Tselegidis
|
b39d02b416
|
Correct the available slot collection display, when any-provider is selected
|
2022-10-03 17:06:01 +03:00 |
|
Alex Tselegidis
|
e784df50e9
|
Fix the update page error (missing proper template variable assignment)
|
2022-10-03 17:06:01 +03:00 |
|
Alex Tselegidis
|
0e2eced83c
|
Correct the constructor phpdoc block comment
|
2022-10-03 17:06:01 +03:00 |
|
Alex Tselegidis
|
fb9e78535f
|
Correct the response prop name and load the 50 last updated customers in the calendar page.
|
2022-10-03 17:06:01 +03:00 |
|
Alex Tselegidis
|
dcc5084807
|
Display the company working plan when browsing the "all" filter item
|
2022-07-27 02:19:42 +03:00 |
|
Alex Tselegidis
|
f89fdb23c0
|
Make sure that synced appointments are removed from Google Calendar if the provider changes after an appointment update action
|
2022-07-26 16:43:37 +03:00 |
|
Alex Tselegidis
|
ec0924fb7e
|
Add matomo analytics settings page
|
2022-07-26 16:39:31 +03:00 |
|
Alex Tselegidis
|
8eddb768d4
|
Add google analytics settings page
|
2022-07-26 16:39:15 +03:00 |
|
Alex Tselegidis
|
27d58effdf
|
Add API settings page
|
2022-07-26 16:38:58 +03:00 |
|
Alex Tselegidis
|
1aac411c7f
|
Create new "Integrations" page for managing 3rd party integrations
|
2022-07-26 16:38:29 +03:00 |
|
Alex Tselegidis
|
63084a73e4
|
Correct library name typo
|
2022-07-26 16:09:36 +03:00 |
|
Alex Tselegidis
|
8fde7e5221
|
Apply the "only" method to the providers controller
|
2022-06-27 11:27:46 +03:00 |
|
Alex Tselegidis
|
2ae250c698
|
Use getter methods instead of public variables directly
|
2022-06-20 12:39:14 +03:00 |
|
Alex Tselegidis
|
5027b59150
|
Catch the Throwable interface instead of the exception class
|
2022-06-20 12:37:16 +03:00 |
|
Alex Tselegidis
|
15af90ff2e
|
Use associative array when parsing the provider's google token for consistency
|
2022-06-20 12:36:44 +03:00 |
|
Alex Tselegidis
|
658ac78d8f
|
Replace the default exception classes with more specific ones
|
2022-06-20 12:31:11 +03:00 |
|
Alex Tselegidis
|
3c9631ede0
|
Apply the Google Sync fixes so that events are synced properly
|
2022-06-20 12:25:57 +03:00 |
|
Alex Tselegidis
|
0d5e60cdb7
|
Add support for dynamic webhook definition in the settings page (#581)
|
2022-06-20 12:12:36 +03:00 |
|
Alex Tselegidis
|
6b821792fa
|
Non-API routes will accept string argument values instead of integer
|
2022-06-20 12:12:36 +03:00 |
|
Alex Tselegidis
|
264328032b
|
Change cancellation title
|
2022-06-02 09:44:02 +02:00 |
|
Alex Tselegidis
|
89d22ed7e1
|
Apply company color to message layout pages too
|
2022-06-02 09:42:14 +02:00 |
|
Alex Tselegidis
|
12df8420cb
|
The theme variable can be changed by the "theme" query parameter for the booking page (#1205)
|
2022-05-27 10:04:40 +02:00 |
|
Alex Tselegidis
|
9108de8865
|
Apply the permissions library to the customers controller
|
2022-05-27 09:24:34 +02:00 |
|
Alex Tselegidis
|
e09647d01f
|
Fix the booking cancellation flow and make sure analytics are loaded in both confirmation and cancellation (#1200)
|
2022-05-26 15:35:17 +02:00 |
|
Alex Tselegidis
|
906c91331f
|
Rename unavailability dates to unavailable dates
|
2022-05-26 14:50:12 +02:00 |
|
Alex Tselegidis
|
c84fb2d3db
|
Change the way theme files are loaded, keep only 10 themes
|
2022-05-22 17:18:44 +02:00 |
|
Alex Tselegidis
|
6666e5862c
|
Support multiple Bootswatch themes for the app (#1205).
|
2022-05-22 14:39:19 +02:00 |
|
Alex Tselegidis
|
48122c4cd3
|
Update the session language and remove password from the $account array
|
2022-05-22 13:50:25 +02:00 |
|
Alex Tselegidis
|
ffb19f113a
|
Do not display the working plan exception option if no direct provider is selected
|
2022-05-20 18:03:03 +02:00 |
|
Alex Tselegidis
|
98bf660aa2
|
Correct permissions for the customers controller
|
2022-05-10 14:28:56 +02:00 |
|
Jan Chaloupecky
|
6429dabb41
|
Added secretary_providers in the JS script_vars
|
2022-04-22 13:15:06 +02:00 |
|
Alex Tselegidis
|
227612565d
|
Correct translation message key
|
2022-04-19 09:14:13 +02:00 |
|
Alex Tselegidis
|
efc532664a
|
Use grouped_timezones consistently across the app controllers
|
2022-03-29 10:16:07 +02:00 |
|
Alex Tselegidis
|
669aa2f6c6
|
Add customer language and timezone fields to the appointments modal (#1094)
|
2022-03-29 10:15:24 +02:00 |
|
Alex Tselegidis
|
8f66376b74
|
Move the change change language method to the new localization controller (removed from account)
|
2022-03-28 08:30:51 +02:00 |
|
Alex Tselegidis
|
2f67141d75
|
Apply the new add-to-google button for 1.5
|
2022-03-28 08:18:00 +02:00 |
|
Alex Tselegidis
|
1b20f49f9d
|
Rearrange main controller create/update commands
|
2022-03-25 12:50:40 +01:00 |
|
Alex Tselegidis
|
e4e285931f
|
Move the consent creation process to when the appointment gets created and not earlier
|
2022-03-25 12:44:05 +01:00 |
|
Alex Tselegidis
|
e11814057d
|
Whitelist other incoming request params
|
2022-03-25 12:29:17 +01:00 |
|
Alex Tselegidis
|
b7833643c2
|
Whitelist incoming account update request params (#1225)
|
2022-03-25 11:59:00 +01:00 |
|
Alex Tselegidis
|
a3b8228122
|
Merge branch 'master' into develop
# Conflicts:
# application/config/autoload.php
# application/config/config.php
# application/controllers/Appointments.php
# application/controllers/Backend.php
# application/controllers/Backend_api.php
# application/controllers/Captcha.php
# application/controllers/Console.php
# application/controllers/Google.php
# application/controllers/Installation.php
# application/core/EA_Controller.php
# application/core/EA_Model.php
# application/libraries/Google_sync.php
# application/libraries/Ics_file.php
# application/models/Settings_model.php
# application/views/appointments/book_success.php
# assets/css/layouts/backend_layout.scss
# assets/css/no_privileges.css
# assets/js/backend_calendar_table_view.js
# assets/js/backend_calendar_unavailability_events_modal.js
# assets/js/frontend_book.js
# assets/js/general_functions.js
# assets/js/pages/booking_confirmation.js
# assets/js/working_plan_exceptions_modal.js
# composer.json
# composer.lock
# docs/console.md
# docs/docker.md
# docs/faq.md
# docs/get-involved.md
# docs/google-calendar-sync.md
# docs/installation-guide.md
# docs/manage-translations.md
# docs/readme.md
# docs/rest-api.md
# docs/update-guide.md
# gulpfile.js
# system/core/Input.php
# system/core/Output.php
# system/core/Security.php
# system/libraries/Session/drivers/Session_files_driver.php
|
2022-03-25 10:53:46 +01:00 |
|
Alex Tselegidis
|
293f4fe663
|
Add missing customer data from stripped array
|
2022-03-04 18:04:53 +01:00 |
|
Alex Tselegidis
|
dce26bafe0
|
Fix timezone issue with add-to-google link of the booking page (#1216)
|
2022-02-24 15:58:30 +01:00 |
|
Alex Tselegidis
|
f7ffb25f05
|
Replace Google Client JS with the Google Calendar Template link in the book success page (#1216)
|
2022-02-24 15:38:51 +01:00 |
|
Alex Tselegidis
|
bb71c97736
|
Security configuration enhancements in the application (#1208)
|
2022-02-23 14:54:41 +01:00 |
|
Alex Tselegidis
|
aeee91f4ed
|
PHP 8.1 support (#1209)
|
2022-02-23 13:42:27 +01:00 |
|
Alex Tselegidis
|
cc5d219311
|
Provider and secretary users can only add unavailabilities for their authorized users (#1214)
|
2022-02-23 12:00:39 +01:00 |
|
Alex Tselegidis
|
b841864bc9
|
The table calendar view breaks for secretaries and providers due to appointment and unavailability removals (#1211)
|
2022-02-23 11:42:30 +01:00 |
|
Alex Tselegidis
|
cd1842fc40
|
Switch to go-to-latest database migration configuration for simplicity (#1213)
|
2022-02-23 11:29:45 +01:00 |
|
Alex Tselegidis
|
1cf4f5246f
|
Move the change language operation into a new public controller (#1210)
|
2022-02-23 11:09:24 +01:00 |
|
Alex Tselegidis
|
050478492c
|
Make the captcha challenges more user friendly.
|
2022-01-26 22:04:33 +01:00 |
|
Alex Tselegidis
|
42534ffcb3
|
Service duration values shorter than 5 minutes should be acceptable via the services page (#1110).
|
2022-01-24 22:09:30 +01:00 |
|
Alex Tselegidis
|
4f5fbb8262
|
Display appointments from all providers in one view.
|
2022-01-24 22:07:24 +01:00 |
|
Alex Tselegidis
|
97f98c5118
|
All the user roles with access to the backend calendar page can filter by service (#956).
|
2022-01-24 21:57:17 +01:00 |
|
Alex Tselegidis
|
2f41c28786
|
Add a new "is_private" flag to services and providers so that they do not appear in the booking page (#378).
|
2022-01-24 20:50:14 +01:00 |
|
Alex Tselegidis
|
2bf9a6193e
|
Add a new setting that toggles the login link of the booking page (#1148).
|
2022-01-24 20:02:17 +01:00 |
|