Commit graph

140 commits

Author SHA1 Message Date
Alex Tselegidis
7343389f7b Correct the + symbol processing when sorting results in the API controllers (#1322) 2023-01-23 07:54:06 +01:00
Alex Tselegidis
07b628324d Add default values to the authentication parameters 2023-01-23 07:45:40 +01:00
Alex Tselegidis
f23c9aad49 Do not apply the limitation of customers if the corresponding setting is disabled 2022-12-21 19:09:21 +01:00
Alex Tselegidis
c1c588be22 Correct the email mime type for the ICS file 2022-11-30 11:22:48 +01: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
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