Commit graph

952 commits

Author SHA1 Message Date
Alex Tselegidis
b7833643c2 Whitelist incoming account update request params (#1225) 2022-03-25 11:59:00 +01:00
Alex Tselegidis
0452e9543d Perform styling improvements in final booking step 2022-03-25 11:09:29 +01:00
Alex Tselegidis
2d88e720ae Add more contrast 2022-03-25 11:02:07 +01:00
Alex Tselegidis
328dc1b0ee Auto load the new rate limit helper 2022-03-25 10:58:17 +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
44af526a6f Release v1.4.3 2022-03-08 18:27:15 +01:00
Alex Tselegidis
c1a8dba1a3 Reduce the default rate limit duration to 2 minutes 2022-03-08 17:25:25 +01:00
Alex Tselegidis
293f4fe663 Add missing customer data from stripped array 2022-03-04 18:04:53 +01:00
Alex Tselegidis
16613905ba Release v1.4.3-beta.1 2022-02-25 11:19:40 +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
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
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
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
c133b24874 Remove unused "render" helper file from the project as it is no longer used (use the components instead). 2022-02-10 20:57:38 +01:00
Alex Tselegidis
3d71f019e2 Add missing parameter to Secretaries_model.php 2022-02-10 20:54:27 +01:00
Alex Tselegidis
6d404b0a9a The installation page uses the custom bootstrap style. 2022-02-10 20:54:15 +01:00
Alex Tselegidis
7fdc5cf7fe Correct the installation page (#1187) 2022-02-10 20:40:44 +01:00
Alex Tselegidis
5378bc4940
Merge branch 'develop' into develop 2022-02-10 20:28:29 +01:00
mickemartinsson
f090dbfc5a Swedish translation
New and updated translation to Swedish
2022-02-05 08:53:11 +01:00
Alex Tselegidis
050478492c Make the captcha challenges more user friendly. 2022-01-26 22:04:33 +01:00
Alex Tselegidis
4410c5fb8c Release v1.5.0-dev.1 2022-01-25 00:11:51 +01:00
Alex Tselegidis
24f6b5b4e9 Move cache busting parameter out of config.php 2022-01-25 00:11:43 +01:00
Alex Tselegidis
ccc503e618 Touch the new timestamp fields on insert/update. 2022-01-24 23:42:13 +01:00
Alex Tselegidis
2c203ae1aa Add support for soft appointment, service, customer and provider removals (#1115). 2022-01-24 23:32:42 +01:00
Alex Tselegidis
4c0793129d The calendar will ask for the kind of event to be added after selecting time slots with the mouse. 2022-01-24 22:55:35 +01:00
Alex Tselegidis
987dc4aaeb Add missing "me-2" class to sync button. 2022-01-24 22:41:09 +01:00
Alex Tselegidis
03010184f6 Improve the display of the booking link for services, providers and service-provider combinations. 2022-01-24 22:37:05 +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
d4d7fd13d0 Add a border between the display selected service and provider provider 2022-01-24 21:23:41 +01:00
Alex Tselegidis
9271c21fba Optimize column display in the booking page. 2022-01-24 21:15:33 +01:00
Alex Tselegidis
ab4e404fac The display-selected-service and display-selected-provider elements will be invisible by default. 2022-01-24 21:05:43 +01:00
Alex Tselegidis
442c644c01 Move the terms and privacy checkbox to the last step. 2022-01-24 21:04:03 +01:00
Alex Tselegidis
d580463977 Add reset company color button so that the color can be easily switched back to the original state. 2022-01-24 20:58:15 +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
cd51576217 Update about page content 2022-01-24 17:43:44 +01:00
Alex Tselegidis
ca01a25e19 Load the new file utility for on layout files. 2022-01-24 17:11:13 +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
e1fe30d73b Update the backend header setting menu item titles. 2022-01-24 15:56:14 +01:00
Alex Tselegidis
ff5b03fe53 Bottom margin between legal setting contents. 2022-01-24 15:53:07 +01:00
Alex Tselegidis
e659bd6e08 Add soft phone number validation (#820). 2022-01-24 15:48:20 +01:00
Alex Tselegidis
08f09d66a9 Change placeholder service and provider text. 2022-01-24 15:47:02 +01:00
Alex Tselegidis
f31fcfbca7 Company name styling. 2022-01-24 15:45:24 +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
5982a79852 Skip the first booking step if both service and provider were preselected (#1117). 2022-01-24 15:22:34 +01:00
Alex Tselegidis
296cfd31c9 Reduce margin in booking_settings.php template. 2022-01-24 14:20:09 +01:00
Alex Tselegidis
a91d6c0ce6 Language selection bg color in backend pages. 2022-01-24 14:18:47 +01:00
Alex Tselegidis
5ca7d93781 Change the dropdown-menu-right to dropdown-menu-end (bootstrap v5). 2022-01-24 13:48:06 +01:00
Alex Tselegidis
ad8308794c The login/logout/recovery page have a better structure. 2022-01-24 13:42:13 +01:00
Alex Tselegidis
becf82ad67 Change the success elements with the primary brand 2022-01-24 13:41:59 +01:00
Alex Tselegidis
aa00c97fb3 Styling changes to the booking cancellation frame. 2022-01-24 13:28:29 +01:00
Alex Tselegidis
7d9e3279bf Booking message styling updates. 2022-01-24 13:12:44 +01:00
Alex Tselegidis
500bf90cd1 Correct variable initialization for booking cancellation frame. 2022-01-24 13:09:57 +01:00
Alex Tselegidis
79652feba9 Booking confirmation styling updates. 2022-01-24 12:58:48 +01:00
Alex Tselegidis
e07f47b30b Import new bootwatch theme and adjust the styling of the app elements for better display 2022-01-24 12:55:45 +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
88b8742b10 Move the analytics script to the booking message page 2022-01-19 10:25:04 +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
37163c9bf5 Remove unnecessary phpdoc blocks. 2022-01-19 10:00:30 +01:00
Alex Tselegidis
fbb9baec50 Change display of read only field (remove border). 2022-01-19 09:39:13 +01:00
Alex Tselegidis
573786bb65 Set the default appointment color upon registration. 2022-01-19 09:11:42 +01:00
Alex Tselegidis
0f0b3c114e Apply the new color selection component to the appointments modal. 2022-01-18 19:01:26 +01:00
Alex Tselegidis
73a6c791ec Apply the new color selection component to services. 2022-01-18 18:54:44 +01:00
Alex Tselegidis
a72dd9edb5 Create new color selection component. 2022-01-18 18:54:36 +01:00
Alex Tselegidis
36cf005da2 Add "color" to translation files. 2022-01-18 18:54:22 +01:00
Alex Tselegidis
932d8d7ca1 Change default color for color column. 2022-01-18 18:54:11 +01:00
Alex Tselegidis
25f533df39 The service and appointment models support color API encoding/decoding. 2022-01-18 18:22:24 +01:00
Alex Tselegidis
df1d4fdeea Add color columns on service and appointment tables (#422). 2022-01-18 18:22:00 +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
2e28567e7f Keep the calendar view to table when clicking on the backend header menu item. 2022-01-18 17:05:11 +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
a762a37d7b Fix working plan save and delete methods. 2022-01-18 15:50:38 +01:00
Alex Tselegidis
d8d12c4c9f Correct GPL license link in about page 2022-01-18 13:33:00 +01:00
Alex Tselegidis
54e4c208a3 Update the project subtitle. 2022-01-18 13:05:42 +01:00
Alex Tselegidis
0768c07be6 Correct the update css name 2022-01-18 12:56:54 +01:00
Alex Tselegidis
09775d25d5 Rename all "unavailable" occurrences to "unavailability" for consistency. 2022-01-18 12:54:41 +01:00
Alex Tselegidis
7d8bbe5b61 Remove the general_functions.js file. 2022-01-18 12:32:11 +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
fac8ff87d2 Correct backend links. 2022-01-18 11:49:16 +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
253286f0ec Remove availableLanguages instantiation (not needed any more). 2022-01-18 11:15:13 +01:00
Alex Tselegidis
a7077ef642 Make sure that component view files are reusable by only using the local variables instead of the global ones. 2022-01-18 11:04:08 +01:00
Alex Tselegidis
626d8b86a1 The component helper function will now have a single vars argument for both attributes and params. 2022-01-18 11:03:44 +01:00
Alex Tselegidis
c9fd813d0b Remove attribute from js script components. 2022-01-18 10:43:40 +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
8bc1f49613 Remove prefix from admins HTML elements 2022-01-18 10:33:59 +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
837bcab4fc Remove prefix from secretaries HTML elements 2022-01-18 10:05:17 +01:00
Alex Tselegidis
cacc84fd74 Remove prefix from providers HTML elements 2022-01-18 09:40:19 +01:00
Alex Tselegidis
e23bdbb45f Render with the html_vars helper. 2022-01-18 09:40:13 +01:00
Alex Tselegidis
cf1fe8d537 Remove prefix from category HTML elements 2022-01-18 09:31:19 +01:00
Alex Tselegidis
b7d9efe7c3 Remove prefix from service HTML elements 2022-01-18 09:29:56 +01:00
Alex Tselegidis
1690ba7b10 Remove unused "users.php" view file. 2022-01-18 08:45:15 +01:00
Alex Tselegidis
9f08ce329e Replace direct use of variables inside views with the new "vars" helper method. 2022-01-18 08:45:02 +01:00
Alex Tselegidis
8dad2d9624 Replace the global App.Lang with the "lang" helper method, which is more appropriate due to the dynamic load of script translation strings. 2022-01-18 08:22:25 +01:00
Alex Tselegidis
e93565500d Replace the global App.Vars with the "vars" helper method, which is more appropriate due to the dynamic load of script vars. 2022-01-18 08:18:22 +01:00
Alex Tselegidis
ca4e58313a Pull the available languages from the App.Vars.* object. 2022-01-18 07:20:04 +01:00
Alex Tselegidis
6589e4e5c8 The scripts section must be at the bottom of the file. 2022-01-17 21:18:59 +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
3c0f925596 Login works again using the new login HTTP client. 2022-01-17 18:23:11 +01:00
Alex Tselegidis
4580d095ee Automatically load the common utility modules directly inside layout view files. 2022-01-17 18:21:44 +01:00
Alex Tselegidis
a8b5062bd3 Correct login href value based on logged-in state. 2022-01-17 18:06:31 +01:00
Alex Tselegidis
2b0eb8d18b Remove remanining GlobalVariables occurrences. 2022-01-17 18:02:50 +01:00
Alex Tselegidis
46f0a27998 The layout modules will initialize the language selection on their own. 2022-01-17 17:54:30 +01:00
Alex Tselegidis
d333869952 Port the change language callback to the Account controller. 2022-01-17 17:42:47 +01:00
Alex Tselegidis
390d66f8d2 Code refactoring and improvements for the recovery page. 2022-01-17 14:45:20 +01:00
Alex Tselegidis
1ebc50893e Code refactoring and improvements for the unavailabilities modal component. 2022-01-17 04:46:18 +01:00
Alex Tselegidis
f2c40a58b2 Rename the manage-unavailable-modal to unavailabilities-modal 2022-01-14 08:43:53 +01:00
Alex Tselegidis
7126d75988 Rename the manage-appointment-modal to appointments-modal 2022-01-14 08:39:11 +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
795eccb165 The booking footer "backend" link must point to the new calendar controller. 2022-01-13 11:33:19 +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
44b438440b Add missing phpdoc template variable. 2022-01-12 11:20:07 +01:00
Alex Tselegidis
64eecc5895 Add missing utils to installations.php template. 2022-01-12 11:18:57 +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
5e59c3b5a3 Add missing utulity scripts to business_settings.php. 2022-01-11 10:54:14 +01:00
Alex Tselegidis
c5a1c2a8c0 Add support for nested layout sections 2022-01-11 10:26:49 +01:00
Alex Tselegidis
0a005d570b Support multiple additions of the same section content 2022-01-11 10:11:09 +01:00
Alex Tselegidis
cd2fe86aa3 The working_plan_exceptions_modal.php will load its own script automatically 2022-01-10 09:38:06 +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
7f4756a6df Correct input filter component and remove the clear button for other pages 2022-01-07 08:56:46 +01:00
Alex Tselegidis
7b54377f92 Correct input filter component and remove the clear button 2022-01-07 08:47:19 +01:00
Alex Tselegidis
fe06d8382e Add missing scripts to customers template 2022-01-07 08:42:28 +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
1a2909f9d0 Removed the old customer javascript initialization code from customers.php 2022-01-06 09:52:27 +01:00
Alex Tselegidis
df84875314 Fine tuning the about page structure. 2022-01-05 09:16:23 +01:00