Commit graph

336 commits

Author SHA1 Message Date
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
Alex Tselegidis
e9a9314909 Enable the change of the brand logo and colors from the backend (#789). 2022-01-24 18:36:12 +01:00
Alex Tselegidis
083a3e07f6 Add the ability to temporarily block new appointments / set away message (#940). 2022-01-24 16:38:03 +01:00
Alex Tselegidis
458595fa24 Add an option to deactivate the remove-all-data function for customers (#808). 2022-01-24 15:31:42 +01:00
Alex Tselegidis
6cd3179caa Display "Not Found" booking message when rescheduling with an appointment hash that does not exist. 2022-01-19 10:25:28 +01:00
Alex Tselegidis
821afb2211 Remove the html_vars call when loading views as it is currently unnecessary. 2022-01-19 10:21:05 +01:00
Alex Tselegidis
59c44994f7 Add custom Matomo analytics integration (#974). 2022-01-19 10:18:00 +01:00
Alex Tselegidis
573786bb65 Set the default appointment color upon registration. 2022-01-19 09:11:42 +01:00
Alex Tselegidis
b65eabd9ed Make sure the booking cancellation is a post request and has a reason value provided (#1178). 2022-01-18 18:03:55 +01:00
Alex Tselegidis
378c5eaa25 Set the manage mode to TRUE if the appointment ID is set. 2022-01-18 17:59:10 +01:00
Alex Tselegidis
628e5a2dfa Use the unavailabilities model to pull the proper records for the table view. 2022-01-18 17:38:02 +01:00
Alex Tselegidis
387ac5bc19 Update the default view so that it works with FullCalendar 5 2022-01-18 15:55:21 +01:00
Alex Tselegidis
54e4c208a3 Update the project subtitle. 2022-01-18 13:05:42 +01:00
Alex Tselegidis
09775d25d5 Rename all "unavailable" occurrences to "unavailability" for consistency. 2022-01-18 12:54:41 +01:00
Alex Tselegidis
f7bebedf61 Add deprecated phpdoc tag to Backend.php and Backend_api.php files. 2022-01-18 12:06:20 +01:00
Alex Tselegidis
1fb9983cd7 Update the Backend_api controller class with the deprecation notice and redirect all requests to the new controllers. 2022-01-18 12:05:07 +01:00
Alex Tselegidis
fa60eec728 Remove "ajax_" prefix from calendar controller. 2022-01-18 11:49:17 +01:00
Alex Tselegidis
ef3324d3b8 Update the Backend controller class with the deprecation notice and redirect all requests to the new controllers. 2022-01-18 11:45:44 +01:00
Alex Tselegidis
49585d388d Use the component helper for rendering the timezone dropdown in account page. 2022-01-18 10:35:34 +01:00
Alex Tselegidis
d2fb826f8f Use the component helper for rendering the timezone dropdown in admins page. 2022-01-18 10:34:53 +01:00
Alex Tselegidis
65d2836911 The timezone component must not use the global vars when rendering. 2022-01-18 10:32:30 +01:00
Alex Tselegidis
7ca93f5eeb Pass the calendar view to both the html and script vars 2022-01-17 21:18:43 +01:00
Alex Tselegidis
0da73ab43e Remove the "ajax_" prefix from all new AJAX endpoints. 2022-01-17 19:44:44 +01:00
Alex Tselegidis
8d93f283f8 Redirect to the login page if the user is not logged in or display the no permissions message when the permissions are insufficient. 2022-01-17 18:24:02 +01:00
Alex Tselegidis
d333869952 Port the change language callback to the Account controller. 2022-01-17 17:42:47 +01:00
Alex Tselegidis
778edf0b21 Redirect to "calendar" route instead of "backend" after a successful log in. 2022-01-14 08:34:28 +01:00
Alex Tselegidis
f327fd5221 Refactor the booking confirmation related JS files so that they become standalone modules. 2022-01-13 11:33:46 +01:00
Alex Tselegidis
43ad017d7a Refactor the booking related JS files so that they become standalone modules. 2022-01-13 11:33:40 +01:00
Alex Tselegidis
745f70848a Refactor the calendar related JS files so that they become standalone modules. 2022-01-12 11:22:54 +01:00
Alex Tselegidis
21be3e7b50 Refactor the providers helper JS file so that it becomes a standalone module. 2022-01-11 10:54:46 +01:00
Alex Tselegidis
d574a3b981 Make sure the user ID and role slug are available on all backend pages. 2022-01-10 09:36:11 +01:00
Alex Tselegidis
e2bffc5e95 Refactor the categories helper JS file so that it becomes a standalone module. 2022-01-10 09:26:28 +01:00
Alex Tselegidis
195680e8b3 Refactor the services helper JS file so that it becomes a standalone module. 2022-01-10 09:16:28 +01:00
Alex Tselegidis
41f25026de Convert the secretaries page to the new js module structure. 2022-01-07 09:44:51 +01:00
Alex Tselegidis
30418468e8 Convert the admins page to the new js module structure. 2022-01-07 09:29:04 +01:00
Alex Tselegidis
5f211ff005 Add the required script and html vars for the customers page to work. 2022-01-06 09:54:06 +01:00
Alex Tselegidis
917f9c7ca4 Remove unnecessary loader calls 2022-01-05 09:08:50 +01:00
Alex Tselegidis
ae342f1671 Refactored the legal settings page functionality and structure 2022-01-05 09:08:39 +01:00
Alex Tselegidis
4e9ed6bf52 Adjusted required customer fields based on booking to the appointments modal 2022-01-05 08:31:58 +01:00
Alex Tselegidis
d4005bd378 Adjusted required customer fields based on booking to the customers page 2022-01-05 08:31:57 +01:00
Alex Tselegidis
270b29dccc Removed unused variable 2022-01-05 08:06:56 +01:00
Alex Tselegidis
afad7920eb The booking page will render based on the selected displayed/required fields. 2021-12-20 09:38:37 +01:00
Alex Tselegidis
4eec5fbe46 Refactored the booking settings page functionality and structure 2021-12-20 09:16:44 +01:00
Alex Tselegidis
7799f08da6 The privileges variable is not needed by the account.php template 2021-12-20 09:16:05 +01:00
Alex Tselegidis
37c46c7286 Removed unnecessary validation from general settings 2021-12-20 09:15:05 +01:00
Alex Tselegidis
6017abea45 Refactored the business settings page functionality and structure 2021-12-18 21:36:25 +01:00
Alex Tselegidis
34fbd2060d Fixes on the general settings page 2021-12-18 21:06:24 +01:00
Alex Tselegidis
42ff670928 Refactored the general settings page functionality and structure 2021-12-18 20:53:59 +01:00
Alex Tselegidis
a3282febc9 Added new callback to the account controller to validate usernames 2021-12-18 18:55:58 +01:00
Alex Tselegidis
c53cd000d8 Refactored the account page functionality and structure 2021-12-18 18:25:03 +01:00