Commit graph

340 commits

Author SHA1 Message Date
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
Alex Tselegidis
718fbf97aa
Merge pull request #967 from bevanjkay/all-day-google-events
All day google events
2021-04-07 09:49:35 +02:00
Alex Tselegidis
0b5938471e The availabilities API controller must use the Availability library (this change will also fix the PHP error, when processing a service with multiple attendants) (#990) 2021-01-27 13:40:01 +01:00
Alex Tselegidis
7c9137f69d Make sure the selected hour is checked before selecting a provider on behalf of the customer, if he selected the any-provider option (#982). 2021-01-20 15:21:59 +01:00
Bevan Kay
edace7b002 Add ability to sync all-day Google Calendar Events 2021-01-07 16:10:47 +11:00
Alex Tselegidis
5a52bde05a Additional check for the provided user props via the API 2020-12-17 16:49:04 +02:00
Alex Tselegidis
cf7bad9f19 Always display events in the provider's timezone in the backend calendar pages 2020-12-14 20:41:21 +02:00
Alex Tselegidis
5512731c41 Added customer data in the book success page 2020-12-14 20:40:56 +02:00