Commit Graph

347 Commits

Author SHA1 Message Date
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
Alex Tselegidis a090b2eba9 Updated the file banner info 2021-12-18 17:44:07 +01:00
Alex Tselegidis 72bc5efe34 Removed obsolete permissions prop 2021-12-18 17:37:00 +01:00
Alex Tselegidis 526df6e4d7 Replaced the "show_error" with the "abort" equivalent 2021-12-18 17:32:05 +01:00
Alex Tselegidis 0ff19b050d Use the html_vars and script_vars for assigning the page variables 2021-12-18 17:22:40 +01:00
Alex Tselegidis 5420ef1389 Updated the booking page so that it works with the new html_vars and script_vars helper functions. 2021-12-17 10:55:37 +01:00
Alex Tselegidis 16cea9e6a9 Updated Login to use the script_vars helper function 2021-12-17 10:53:22 +01:00
Alex Tselegidis 5916ad47d1 Added support for the new "calendar/reschedule" callback 2021-12-17 09:20:54 +01:00
Alex Tselegidis c49f141bbb Moved the booking confirmation and cancellation code out of the booking controller 2021-12-16 08:37:55 +01:00
Alex Tselegidis dc8d6ad140 Update has its own controller class 2021-12-16 08:10:01 +01:00
Alex Tselegidis ff03b71060 Replaced resource names with constants for "cannot" checks 2021-12-15 08:05:08 +01:00
Alex Tselegidis 568ff9be2e Renamed the service category resource to just category 2021-12-15 08:00:48 +01:00
Alex Tselegidis c8bd47d1e5 Removed the "_page" postfix from page view files 2021-12-14 08:08:06 +01:00
Alex Tselegidis 12e4eebd1f Set the "dest_url" js config 2021-12-14 08:06:10 +01:00
Alex Tselegidis 6376fea885 Added the find method to controllers 2021-12-14 07:18:46 +01:00
Alex Tselegidis bd412eba8e Refactored the installation page functionality 2021-12-10 09:12:08 +01:00
Alex Tselegidis 6ab32781ad Moved the recovery functionality into its own controller and files 2021-12-10 08:41:16 +01:00
Alex Tselegidis c00bfd9948 Changed var order 2021-12-10 08:34:56 +01:00
Alex Tselegidis 246d25c7f4 Moved the logout functionality into its own controller and files 2021-12-10 08:26:05 +01:00
Alex Tselegidis 63da7afce2 Renamed and moved the controller and view files of the settings page 2021-12-07 11:09:34 +01:00
Alex Tselegidis 622a4e9390 Moved the about controller and renamed the view file 2021-12-07 11:00:13 +01:00
Alex Tselegidis 523db7e5e3 Moved the login functionality into its own controller and files 2021-12-07 10:53:59 +01:00
Alex Tselegidis cd5eff8819 Use the show_error function instead of the no-permissions callback 2021-12-07 10:53:20 +01:00
Alex Tselegidis f1849e3a16 Restructured the view/js/css files (flatter file structure) 2021-12-06 09:00:02 +01:00
Alex Tselegidis d94617945b Added missing index method of Calendar controller 2021-11-25 09:13:19 +01:00
Alex Tselegidis f2bb4519a5 Load the appointment and customer data after inserting them for the first time 2021-11-25 08:40:37 +01:00
Alex Tselegidis 232fa89b15 Load roles model 2021-11-24 09:23:48 +01:00
alextselegidis 83bfd87d5d Ported the current about content to a new standalone page 2021-11-22 08:09:56 +01:00
alextselegidis a622f2f295 Ported the current user settings functionality to a new standalone page 2021-11-22 08:09:56 +01:00
alextselegidis 35a05de1f0 Ported the legal contents settings functionality to a new standalone page 2021-11-22 08:09:56 +01:00
alextselegidis fc48db0ea4 Ported the client form settings functionality to a new standalone page 2021-11-22 08:09:56 +01:00
Alex Tselegidis 255d1b5d95 Corrected the CORS headers hanlding 2021-11-18 15:01:17 +01:00
alextselegidis 2d1fb357c8 Ported the business logic settings functionality to a new standalone page 2021-11-18 08:49:23 +01:00
alextselegidis 753237d003 Ported the general settings functionality to a new standalone page 2021-11-18 07:53:41 +01:00
alextselegidis fa97f743ae Added settings related callbacks to the Settings controller (copied from Backend_api) 2021-11-18 07:34:43 +01:00
alextselegidis f5cedbd0d5 Added calendar related callbacks to the Calendar controller (copied from Backend_api) 2021-11-18 07:30:52 +01:00
alextselegidis 4b4d8887e8 Added google related callbacks to the Google controller (copied from Backend_api) 2021-11-18 07:30:31 +01:00
alextselegidis b06a2505b2 Created a new unavailabilities resource controller 2021-11-18 07:29:41 +01:00
alextselegidis 7eac5b8638 Moved the frontend book functionality to a new controller called Booking.php and created a new resource controller for appointments 2021-11-18 07:12:16 +01:00
alextselegidis 28f6a58211 Updated comment 2021-11-18 07:09:21 +01:00
alextselegidis fec42278c8 Created a new customers resource controller 2021-11-18 06:34:07 +01:00
alextselegidis 7a3aa38622 Created a new secretaries resource controller 2021-11-18 06:23:21 +01:00
alextselegidis d6b294a12b Created a new admins resource controller 2021-11-18 06:11:18 +01:00
alextselegidis 4bbcb9fff8 Created a new providers resource controller 2021-11-18 06:08:36 +01:00
alextselegidis aadac6a060 Created a new service categories resource controller 2021-11-18 05:23:54 +01:00
alextselegidis 8dd509d4dc Created a new services resource controller 2021-11-18 05:21:30 +01:00
alextselegidis ca8f3524ef Replaced the render function with the new component function 2021-11-16 10:15:37 +01:00
alextselegidis 8f74643437 Updated the controller classes to use the slots instead 2021-11-15 09:49:19 +01:00
alextselegidis abf9bdd049 Set the page title of the booking page 2021-11-12 21:27:11 +01:00
alextselegidis 1103db92df Loaded scripts from the appointments controller 2021-11-12 17:30:09 +01:00
alextselegidis 2d1c7c0f7a Miscellaneous fixes and refactoring on Appointments.php 2021-11-12 17:23:43 +01:00
alextselegidis d2be2327e8 Minor refactoring for the appointments page 2021-11-12 17:09:39 +01:00
alextselegidis 007e95ed7a Moved the installation and update pages to the new view/pages directory 2021-11-12 16:57:05 +01:00
alextselegidis cf579dddc2 Removed the error override configuration and files 2021-11-12 16:53:42 +01:00
alextselegidis ee6729cf0b Converted all the account related pages to the new layout structure 2021-11-12 16:51:25 +01:00
alextselegidis 9fdafa5497 Converted the booking message to the booking message layout 2021-11-12 16:39:38 +01:00
alextselegidis b31b4c87bd Converted the booking success page to the layout structure 2021-11-12 16:33:01 +01:00
alextselegidis d96e65792b Converted the booking page view files to the layout structure 2021-11-12 08:38:20 +01:00
alextselegidis 2479ffb3a1 Changed the users callback to use the layout loading method 2021-11-12 08:37:50 +01:00
Alex Tselegidis f41547b77d Method could also return null and not always an int 2021-11-08 10:44:36 +01:00
Alex Tselegidis 85bd7b9b38 Renamed attach to load in Backend_api.php 2021-11-06 17:14:57 +01:00
Alex Tselegidis a20f2e9e33 Corrected the login HTTP callback 2021-11-06 16:51:36 +01:00
Alex Tselegidis 54e86795d5 Minor comment changes for consistency 2021-11-06 16:21:27 +01:00
Alex Tselegidis 245fc43ec1 Replaced the old engine class use with the new Email_messages library 2021-11-06 16:11:55 +01:00
Alex Tselegidis 31b452766d Refactored the login controller callback 2021-11-06 16:09:59 +01:00
Alex Tselegidis e38df7452b Renamed the attach query paramter of API controllers to with 2021-11-06 15:41:11 +01:00
Alex Tselegidis f36c49819c Added support for the "attach" query parameter to all API controllers 2021-11-06 15:34:54 +01:00
Alex Tselegidis bcc9b88623 Added support for upgrading and downgrading manually the database via the CLI 2021-11-06 15:17:03 +01:00
Alex Tselegidis 8603a8ae33 Refactored all the API controller classes (and renamed them) to work well on top of the models 2021-11-06 15:03:08 +01:00
Alex Tselegidis 27c5c3ab35 Replaced the appointments model with the unavailabilities model in the Backend_api.php 2021-11-06 14:56:56 +01:00
Alex Tselegidis afc05577a4 Refactored the admins API controller (no engine code is being used). 2021-11-03 08:38:59 +01:00
Alex Tselegidis 4c6c5b5913 Remove the old and deprecated API_V1_Controller.php 2021-11-02 10:45:05 +01:00
Alex Tselegidis bdaa46459c The new settings model does not have the set_setting and get_setting values. 2021-10-29 13:21:03 +02:00
Alex Tselegidis 306e94a082 The delete model method does not return a result any more. 2021-10-29 13:20:33 +02:00
Alex Tselegidis 4ed7465784 Corrected the name of the exception variable 2021-10-29 13:16:21 +02:00
Alex Tselegidis 182cebfb74 Renamed the add_unavailable method to save_unavailable for consistency 2021-10-29 13:12:39 +02:00
Alex Tselegidis e29c2198de Removed the delete_unavailable method 2021-10-29 13:11:56 +02:00
Alex Tselegidis 76afdef30b Moved the instance handling logic to a re-usable library 2021-10-29 10:44:01 +02:00
Alex Tselegidis 8ecf389bf1 Updated all the API controllers to work with the updated code. 2021-10-28 14:01:27 +02:00
Alex Tselegidis a280496294 Updated all the main controllers to work with the updated code. 2021-10-28 14:01:17 +02:00
Thomas Saedt 9671def4ea Merge branch 'develop' into 1081_hide_data_fields 2021-10-20 22:12:47 +02:00
Alex Tselegidis 1664ac6f9f
Merge pull request #1119 from om-ha/patch-1
FIX Providers API incorrect `array_key_exists`
2021-10-18 13:58:42 +02:00
Alex Tselegidis 6b179c3b58 When selecting the any provider option in the booking page then merge all the available hours of all providers that can serve the selected service (#1147). 2021-10-18 13:04:32 +02:00
Alex Tselegidis 0c0ac6a0b2 The backend appointment removal is using the notifications library 2021-10-04 09:26:12 +02:00
om-ha a17c234698
FIX Providers API incorrect `array_key_exists`
- `array_key_exists` should search for they key `working_plan` within `$provider['settings']` and not `$provider['settings']['working_plan']`
2021-08-28 14:50:01 +03:00
Thomas Saedt 1bcbf9f71b [1081] Made show booking form field settings functional 2021-05-30 13:27:39 +02:00
Thomas S 872640c46d [1081] Frontend hiding of fields 2021-05-28 15:39:14 +02:00
Thomas S 094b780fd8 [1081] Add new settings in db 2021-05-28 13:37:58 +02:00
Winfried Mosler 95dfc866e1 fix calendar table events for roles other than admin 2021-04-07 10:52:09 +02:00
Alex Tselegidis 1c763f3870 Support all-day events while syncing with Google Calendar (#1040). 2021-04-07 10:02:30 +02:00