Commit graph

553 commits

Author SHA1 Message Date
Alex Tselegidis
f6ad9bba25 Remove debugger statement 2022-07-26 17:10:20 +03:00
Alex Tselegidis
ec0924fb7e Add matomo analytics settings page 2022-07-26 16:39:31 +03:00
Alex Tselegidis
8eddb768d4 Add google analytics settings page 2022-07-26 16:39:15 +03:00
Alex Tselegidis
27d58effdf Add API settings page 2022-07-26 16:38:58 +03:00
Alex Tselegidis
95450932a7 Correct typo in booking.js 2022-07-26 16:19:29 +03:00
Alex Tselegidis
71e12a1aae The search method parameters are optional 2022-06-21 13:02:10 +03:00
Alex Tselegidis
0576e69ad5 Change the private field id attribute for consistency 2022-06-21 12:59:24 +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
7cbce26160 Correct calendar rendering in table view 2022-06-02 09:37:43 +02:00
Alex Tselegidis
ca7727dfaa Correct event name for toggling BS tabs 2022-06-02 09:14:38 +02:00
Alex Tselegidis
8a5e4a67b0 Use no-value placeholders in the appointments modal 2022-05-27 09:29:19 +02:00
Alex Tselegidis
e390ab6b42 The filter HTML will use no-value placeholders for empty fields 2022-05-27 09:25:21 +02:00
Alex Tselegidis
e09647d01f Fix the booking cancellation flow and make sure analytics are loaded in both confirmation and cancellation (#1200) 2022-05-26 15:35:17 +02:00
Alex Tselegidis
72e84bd4f3 Group commonly used UI components to a single utility module 2022-05-26 15:17:33 +02:00
Alex Tselegidis
906c91331f Rename unavailability dates to unavailable dates 2022-05-26 14:50:12 +02:00
Alex Tselegidis
d6e913edd8 Change the table view slot time format (consistent with default view) 2022-05-26 14:47:12 +02:00
Alex Tselegidis
995b995aba
Merge pull request #1267 from jeroenvds/patch-1
Fix unavailability in calendar while booking
2022-05-26 14:47:06 +02:00
Alex Tselegidis
a9a72e503d Use the default service duration if the user just clicks on a calendar slot for creating a new appointment (#1237) 2022-05-26 14:26:36 +02:00
Alex Tselegidis
ae71c4c89d Make sure the right provider timezone information is displayed in the appointment and unavailability modals 2022-05-24 10:47:56 +02:00
jeroenvds
148b5df302
Fix unavailability in calendar while booking
Use moment set date for setting the day of the month. Day is used for day of the week.
2022-05-23 17:56:11 +02:00
Alex Tselegidis
b253a002a8 Do no to overwrite the password when updating the account info 2022-05-20 18:15:14 +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
ffb19f113a Do not display the working plan exception option if no direct provider is selected 2022-05-20 18:03:03 +02:00
Alex Tselegidis
0e316e7dea
Merge pull request #1206 from albertsalles4/develop
Fix Datepicker in Backend's Calendar Header does not change accordinly to language and first day #1201
2022-05-10 14:34:25 +02:00
Alex Tselegidis
403edba15f
Merge pull request #1245 from JanC/1244-secreterie-providers
[1244] Fix providers not visible for secretaries
2022-05-10 13:51:44 +02:00
Jan Chaloupecky
b87f7aa1b3 fix providers not visible for secretaries 2022-04-22 15:15:42 +02:00
Jan Chaloupecky
ae171b3ffb Validate email address only when it's set 2022-04-22 14:24:20 +02:00
Alex Tselegidis
c8b6f0fb1c Empty the available hours list before rendering the new time 2022-04-11 13:03:47 +02:00
Alex Tselegidis
ae2fc9ef99 Set overflow-auto to the error message container for better display 2022-03-29 10:49:15 +02:00
Alex Tselegidis
09711853a6 Do not display a message if there's no content 2022-03-29 10:48:55 +02:00
Alex Tselegidis
669aa2f6c6 Add customer language and timezone fields to the appointments modal (#1094) 2022-03-29 10:15:24 +02:00
Alex Tselegidis
942cb3d46f Update the usage of the localization http client across all layouts and pages 2022-03-28 08:33:45 +02:00
Alex Tselegidis
8f66376b74 Move the change change language method to the new localization controller (removed from account) 2022-03-28 08:30:51 +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
ce028607c2 Remove unnecessary file (post-merge fix) 2022-03-28 08:17:42 +02:00
Alex Tselegidis
e4e285931f Move the consent creation process to when the appointment gets created and not earlier 2022-03-25 12:44:05 +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
13e81c80b1 Make sure the window.cookieconsent object is loaded before using it, as some browsers or extensions might block it 2022-03-08 17:31:33 +01:00
Alex Tselegidis
53993b2994 Do not display empty messages 2022-03-08 17:21:11 +01:00
Alex Tselegidis
09444c1b5e Only show the any-provider option if there are more than one providers 2022-03-08 17:01:25 +01:00
Alex Tselegidis
95fbbeec27 Prepend the any-provider option in the booking page 2022-03-08 17:00:33 +01:00
Alex Tselegidis
1bc02e11c0 Corrected working plan exception removal issue on table view 2022-03-08 16:45:01 +01:00
Alex Tselegidis
803f4e4e7e Reset add-break button disabled state 2022-03-08 16:32:45 +01:00
Alex Tselegidis
89acfafcce Improve popover handling while reloading appointments 2022-03-02 13:28:20 +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
cc5d219311 Provider and secretary users can only add unavailabilities for their authorized users (#1214) 2022-02-23 12:00:39 +01:00
Alex Tselegidis
1cf4f5246f Move the change language operation into a new public controller (#1210) 2022-02-23 11:09:24 +01:00
albertsalles4
1732a39965 Fix Datepicker in Backend's Calendar Header does not change accordinly to language and first day #1201 2022-02-22 12:04:20 +01:00
Alex Tselegidis
ab7ba646a8 Add global JS error handling for HTTP requests. 2022-02-10 20:54:05 +01:00
Alex Tselegidis
0a4ea1c336 Only pre-select the service if its found 2022-02-10 20:34:59 +01:00
Alex Tselegidis
05e6704e67 Secondary info wrapped in small tag and using text-muted class. 2022-01-26 21:27:57 +01:00
Alex Tselegidis
72baa18b86 Prefill the form field though url parameters (#1021). 2022-01-24 23:57:59 +01:00
Alex Tselegidis
9097a968ca Skip the first booking step when only one service and one provider are available (#349). 2022-01-24 23:53:06 +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
b968970fa6 Correct slot label format for default view. 2022-01-24 22:43:18 +01:00
Alex Tselegidis
b6e9a7209f Select appointment time from within the calendar when "all" select filter item is selected. 2022-01-24 22:40:35 +01:00
Alex Tselegidis
5df3e63055 Correct deserialize general settings method. 2022-01-24 22:38:45 +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
0bbbff47c8 Correct reload call (not in select filter item callback). 2022-01-24 22:00:47 +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
9271c21fba Optimize column display in the booking page. 2022-01-24 21:15:33 +01:00
Alex Tselegidis
8a02d5bf0a Remove the dashes from the any-provider option. 2022-01-24 21:06:06 +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
86d3ce8dc9 Change the phone number validation regex. 2022-01-24 20:44:59 +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
598fda9dfc Add file utility module. 2022-01-24 17:07:46 +01:00
Alex Tselegidis
617ee37ec7 Comment fix 2022-01-24 17:05:38 +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
e659bd6e08 Add soft phone number validation (#820). 2022-01-24 15:48:20 +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
93aab06187 Correct argument value. 2022-01-24 15:08:30 +01:00
Alex Tselegidis
652f96f53b Use translation key instead of hard coded title. 2022-01-24 14:23:29 +01:00
Alex Tselegidis
aa71d8afad Change the call-to-action message button to "delete" instead of "ok". 2022-01-24 14:11:15 +01:00
Alex Tselegidis
be985b3912 Message box button styling. 2022-01-24 14:10:49 +01:00
Alex Tselegidis
fbb9baec50 Change display of read only field (remove border). 2022-01-19 09:39:13 +01:00
Alex Tselegidis
3594bb8294 Use the appointment color value when rendering the appointments on the calendar. 2022-01-18 19:03:06 +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
76f5324901 Correct delta prop name and rename calendar-event related callback methods. 2022-01-18 17:40:43 +01:00
Alex Tselegidis
e636ec2986 Update the table view so that it works with FullCalendar 5 2022-01-18 17:38:57 +01:00
Alex Tselegidis
ba175fab7f Trigger the "click" event on the reload appointments button. 2022-01-18 17:38:25 +01:00
Alex Tselegidis
2f057ac28b Update return type jsdoc. 2022-01-18 17:18:52 +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
075e67e0e3 Correct return type in jsdoc block. 2022-01-18 15:50:09 +01:00
Alex Tselegidis
54e4c208a3 Update the project subtitle. 2022-01-18 13:05:42 +01:00
Alex Tselegidis
116ccb9a76 Update since comment tag with 1.5 value 2022-01-18 13:01:22 +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
6e53af0356 Convert remaining functions to arrow functions in JS files. 2022-01-18 11:14:45 +01:00
Alex Tselegidis
8bc1f49613 Remove prefix from admins HTML elements 2022-01-18 10:33:59 +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
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
7b2315c371 Rename the working plan bindEventListeners to addEventListeners 2022-01-18 08:47:16 +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
380ce3784a Perform various post-refactoring fixes to the calendar page views (default/table). 2022-01-17 21:33:04 +01:00
Alex Tselegidis
0cf99d9538 Parse the working plan start and end value correctly, depending on the current time format setting. 2022-01-17 21:32:44 +01:00
Alex Tselegidis
2feb0d5c99 Add missing selector const and convert remaining functions to arrow functions 2022-01-17 21:32:17 +01:00
Alex Tselegidis
3ca5fa6de6 Proper mark selected row when clicking on a result list item. 2022-01-17 21:31:53 +01:00
Alex Tselegidis
f4f494e4b4 Minor business settings module improvements. 2022-01-17 21:20:29 +01:00
Alex Tselegidis
79c9566257 Hide the appointments modal after a successful appointment store method. 2022-01-17 21:20:06 +01:00
Alex Tselegidis
398b85363f Update the request params (now using snake_case). 2022-01-17 21:19:46 +01:00
Alex Tselegidis
777d15423c Backend notification functionality and styling. 2022-01-17 21:19:17 +01:00
Alex Tselegidis
0da73ab43e Remove the "ajax_" prefix from all new AJAX endpoints. 2022-01-17 19:44:44 +01:00
Alex Tselegidis
c154280026 Create new Google HTTP client. 2022-01-17 19:44:21 +01:00
Alex Tselegidis
3c0f925596 Login works again using the new login HTTP client. 2022-01-17 18:23:11 +01:00
Alex Tselegidis
af464bd83c Create new login HTTP client JS module. 2022-01-17 18:22:23 +01:00
Alex Tselegidis
0051a30673 Correct upperCaseFirstLetter call namespace 2022-01-17 18:22:05 +01:00
Alex Tselegidis
adf7943297 Replace GeneralFunctions upperCaseFirstLetter with the string utility module. 2022-01-17 18:01:09 +01:00
Alex Tselegidis
7a9aa3d91d Replace GlobalVariables use with App.Vars.* values. 2022-01-17 18:00:25 +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
1986438357 Port escapeHtml method to string utility module. 2022-01-17 17:49:29 +01:00
Alex Tselegidis
d333869952 Port the change language callback to the Account controller. 2022-01-17 17:42:47 +01:00
Alex Tselegidis
cd6ec7400c Create new lang utility. 2022-01-17 17:42:12 +01:00
Alex Tselegidis
89c91fbf8b Code refactoring and improvements for the working plan utilities page. 2022-01-17 15:31:04 +01:00
Alex Tselegidis
b13fb1c574 Add jsdoc block to http utility functions 2022-01-17 15:22:12 +01:00
Alex Tselegidis
6a89e11d39 Code refactoring and improvements for the calendar related utilities page. 2022-01-17 15:21:59 +01:00
Alex Tselegidis
c9f4a8303a Code refactoring and improvements for the services page. 2022-01-17 15:03:50 +01:00
Alex Tselegidis
f004807014 Code refactoring and improvements for the secretaries page. 2022-01-17 14:56:08 +01:00
Alex Tselegidis
390d66f8d2 Code refactoring and improvements for the recovery page. 2022-01-17 14:45:20 +01:00
Alex Tselegidis
2451d4d5b7 Code refactoring and improvements for the providers page. 2022-01-17 14:37:21 +01:00
Alex Tselegidis
a513ee895e Rename $adminId selector variable to $id. 2022-01-17 14:27:46 +01:00
Alex Tselegidis
7481ebca65 Code refactoring and improvements for the login page. 2022-01-17 14:27:10 +01:00
Alex Tselegidis
ce853c99ef Code refactoring and improvements for the customers page. 2022-01-17 14:25:45 +01:00
Alex Tselegidis
8b74297fb3 Code refactoring and improvements for the categories page. 2022-01-17 06:40:48 +01:00
Alex Tselegidis
0a7f40a65e Code refactoring and improvements for the calendar page. 2022-01-17 06:31:27 +01:00
Alex Tselegidis
5c5498670c Code refactoring and improvements for the booking confirmation page. 2022-01-17 06:26:07 +01:00
Alex Tselegidis
5f4ec0264e Code refactoring and improvements for the booking page. 2022-01-17 05:57:52 +01:00
Alex Tselegidis
ea6b13f1d2 Code refactoring and improvements for the admins page. 2022-01-17 05:39:12 +01:00
Alex Tselegidis
22439eb60a Replace all backend layout occurrences. 2022-01-17 05:26:57 +01:00
Alex Tselegidis
4ee715e308 Port functionality from old backend file to the new backend layout module. 2022-01-17 05:26:26 +01:00
Alex Tselegidis
63c81dc09c Code refactoring and improvements for the booking HTTP client. 2022-01-17 05:14:36 +01:00
Alex Tselegidis
04ec3adaa0 Code refactoring and improvements for the default calendar view utility. 2022-01-17 05:10:26 +01:00
Alex Tselegidis
7f1302087a Code refactoring and improvements for the calendar page module. 2022-01-17 05:10:14 +01:00
Alex Tselegidis
1ebc50893e Code refactoring and improvements for the unavailabilities modal component. 2022-01-17 04:46:18 +01:00
Alex Tselegidis
fe7d6de462 The format method access a date object as well. 2022-01-17 04:45:58 +01:00
Alex Tselegidis
9467113ad9 The initialize method will be called by the DOMContentLoaded event automatically. 2022-01-17 04:44:22 +01:00
Alex Tselegidis
8438f647f0 Code refactoring and improvements for the appointments modal component. 2022-01-17 04:33:31 +01:00
Alex Tselegidis
32b6052546 Update the js doc content of the javascript files. 2022-01-14 09:26:44 +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