Commit graph

136 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
3d8d5afa4c Add new setting for limiting new public bookings in the future (#1203). 2022-06-27 15:14:46 +03:00
Alex Tselegidis
2ae250c698 Use getter methods instead of public variables directly 2022-06-20 12:39:14 +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
32ed2c32e6 Add descriptive messages to library log output 2022-06-20 12:12:36 +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
c0e7a082f3 Check both appointments and unavailabilities when generating available hours 2022-06-20 12:12:36 +03:00
Alex Tselegidis
df0105c65a Create the Permissions library with the "has_customer_access" method 2022-05-27 09:24:01 +02:00
Alex Tselegidis
15cf1cf2bf Correct exclude appointment condition 2022-05-26 14:47:12 +02:00
Alex Tselegidis
905dd59425 Allow the user to select their own preferred language (#1263) 2022-05-20 18:15:14 +02:00
Alex Tselegidis
63dbb51dec Check the role slug in Api.php 2022-05-09 23:26:28 +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
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
aeee91f4ed PHP 8.1 support (#1209) 2022-02-23 13:42:27 +01:00
Alex Tselegidis
9c87d53079 Remove the Google Calendar read-only scope use as it is not needed (#1212) 2022-02-23 11:33:26 +01:00
Alex Tselegidis
5569369b15 Remove the Google Calendar read-only scope use as it is not needed (#1212) 2022-02-23 11:02:09 +01:00
Alex Tselegidis
ed178ca631 PHP 8.1 support (#1209) 2022-02-23 09:35:50 +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
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
e4774ee991 Do not send an email to customer if no email is provided. 2021-12-20 09:39:01 +01:00
Alex Tselegidis
a090b2eba9 Updated the file banner info 2021-12-18 17:44:07 +01:00
Alex Tselegidis
7b919e2c39 Changed reschedule links for both customer and provider 2021-12-17 09:19:31 +01:00
Alex Tselegidis
255d1b5d95 Corrected the CORS headers hanlding 2021-11-18 15:01:17 +01:00
alextselegidis
af42c7c532 The availability generation algorithm needs performance improvements when many appointments are stored in the system (#1171). 2021-11-17 18:10:06 +01:00
alextselegidis
3fa817d52d Renamed the email templates for more consistency 2021-11-12 16:58:55 +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
130adf88c3 Created new email messages library (ported the deprecated engine email class) 2021-11-06 16:11:44 +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
1883b97630 Fixed API authorization issue 2021-11-06 15:01:17 +01:00
Alex Tselegidis
2406eefd39 Added validation to the sort direction value 2021-11-06 13:30:12 +01:00
Alex Tselegidis
01dfdf22f1 Added manual imports so that the migration system works again 2021-11-06 11:15:32 +01:00
Alex Tselegidis
10ee3401e4 The API library can correctly sort and set the CORS headers 2021-11-03 08:21:30 +01:00
Alex Tselegidis
7d3bc3104c Created new library that handles common API functionality. 2021-11-02 10:44:37 +01:00
Alex Tselegidis
dc50f8dee1 Updated @since tag 2021-11-02 09:24:28 +01:00
Alex Tselegidis
76afdef30b Moved the instance handling logic to a re-usable library 2021-10-29 10:44:01 +02:00
Alex Tselegidis
61a718cb2f Updated the Timezones.php library to work with the updated code. 2021-10-28 14:00:48 +02:00
Alex Tselegidis
8e11dddf4a Updated the Synchronization.php library to work with the updated code. 2021-10-28 14:00:40 +02:00
Alex Tselegidis
44aea4febb Updated the Notifications.php library to work with the updated code. 2021-10-28 14:00:33 +02:00
Alex Tselegidis
23d80259d9 Updated the Ics_file.php library to work with the updated code. 2021-10-28 14:00:18 +02:00
Alex Tselegidis
f540922abc Updated the Google_sync.php library to work with the updated code. 2021-10-28 14:00:10 +02:00
Alex Tselegidis
e4c01f54f8 Updated the Availability.php library to work with the updated code. 2021-10-28 13:59:56 +02:00
Alex Tselegidis
b2d2a5a1ce Updated the new accounts library. 2021-10-28 13:29:15 +02:00
Alex Tselegidis
de4c232488 Migrated the user model logic into the accounts library 2021-10-27 10:05:26 +02:00
Alex Tselegidis
86bc718782 Condier unavailable time periods that span into multiple days (#880). 2021-10-18 12:43:40 +02:00
Alex Tselegidis
0c0ac6a0b2 The backend appointment removal is using the notifications library 2021-10-04 09:26:12 +02:00
Alex Tselegidis
5d513ea43f Resolve availability generation issue with 5 minute services. 2021-07-19 16:59:41 +03:00
Alex Tselegidis
5a039f2757 Missing Pacific (and potentially other) timezones (#980). 2021-07-19 16:07:26 +03:00
Alex Tselegidis
4f0b2c6c8f Make sure admins do not get notified on appointment removals, if their notification setting is deactivated (#1074). 2021-05-17 12:57:06 +02:00
Mips2648
45273fe707
fix notification to secretaries 2021-03-12 19:48:19 +01:00
Alex Tselegidis
2c67f7ce26 Correctly check for the assigned providers when notifying secretaries (#966). 2021-01-08 12:07:08 +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
17e1f77a69 Changed the class name for consistency 2020-12-14 20:37:30 +02:00
Alex Tselegidis
3381b998a1 Check for other services when calculating multiple attendants number availability (#948). 2020-12-11 12:44:29 +02:00
Alex Tselegidis
bde91f5a14 Ensure that multiple attendant services can be modified with proper availability. 2020-12-09 15:32:39 +02:00
Alex Tselegidis
cc44f3e0c6 Corrected timezone support when syncing events with Google Calendar 2020-12-09 14:07:14 +02:00
Alex Tselegidis
9c3d253456 Code enhancements in the model classes 2020-12-05 11:38:57 +02:00
Alex Tselegidis
9cde499f9a Use the shorthand method for config items 2020-12-02 22:12:54 +02:00
Alex Tselegidis
e7b4aeedab Automatically load the translations 2020-12-02 20:04:06 +02:00
Alex Tselegidis
e8655066fd Added scope to the Google Calendar connection flow to enforce the user consent screen. 2020-11-30 21:34:12 +02:00
Alex Tselegidis
fe9d385a72 Fallback value for working days that are disabled. 2020-11-21 22:21:37 +02:00
Alex Tselegidis
8c836bf10c Multiple attendant number generation must take into consideration the working plan exceptions 2020-11-21 22:16:53 +02:00
Alex Tselegidis
46d604f5e6 Applied consistent code style to the engine class files. 2020-11-16 11:55:34 +02:00
Alex Tselegidis
084aed9e23 Notifications go out on the recipient's timezone (#914) 2020-11-16 11:55:33 +02:00
Alex Tselegidis
75a5addbc2 Grouped the property tag into parent core classes so that it does not need to be repeated. 2020-11-16 10:29:36 +02:00
Alex Tselegidis
0c20363b8b Correction in the Appointments check datetime availability method 2020-11-12 14:46:51 +02:00
Alex Tselegidis
cc6b18022c Ensure that non working days are not processed. 2020-11-12 14:15:12 +02:00
Alex Tselegidis
f7ca104836 Moved duplicated code into re-usable library classes 2020-10-21 21:37:47 +03:00
Alex Tselegidis
0cd6e793c2 Added parethnesis between the utc time difference of the timezone list items 2020-09-28 13:51:38 +03:00
Alex Tselegidis
068a3995b0 Further fixes on the google synyc activation (#890). 2020-09-24 10:26:29 +03:00
Alex Tselegidis
4c10b5a173 Add scope to the google sync client (#890). 2020-09-24 09:43:11 +03:00
Alex Tselegidis
abe6de3ab5 Added more information to the ICS file, sent with the email confirmation. 2020-09-23 14:53:15 +03:00
Alex Tselegidis
12c25da042 Removed unnecessary command from Google_sync.php 2020-09-23 13:16:37 +03:00
Alex Tselegidis
532548d64d Proper use of the property phpdoc tag 2020-09-23 13:16:37 +03:00
Alex Tselegidis
fc02e55a69 Removed the notifications library (it will be implemented on an upcoming version). 2020-09-23 11:35:54 +03:00
Alex Tselegidis
46d1f745ee Added boilerplate code for the new notifications library. 2020-05-12 20:59:29 +02:00
Alex Tselegidis
df44f72964 The timezones model got converted into a library (as there is no direct database table to manage). 2020-05-12 20:59:29 +02:00
Alex Tselegidis
c48a74e037 Imported the Google API Client with composer (old files are no longer needed). 2020-05-12 20:59:28 +02:00
Alex Tselegidis
39956c6b37 Major refactoring and improvements to the application API code. 2020-04-22 21:48:56 +02:00
Alex Tselegidis
0b50814cf4 Appointment location could be empty, use the company name instead. 2020-04-08 10:57:31 +02:00
Alex Tselegidis
fc8bb6c03b Fixed issue with PHP 7.4 compatibility. 2020-04-06 20:48:22 +02:00
Alex Tselegidis
e1e9a60085 Moved source files to the root directory. 2020-03-11 10:24:25 +01:00