Commit graph

1300 commits

Author SHA1 Message Date
c032664bde
fix(timezone): update Istanbul timezone 2023-12-22 21:35:13 +03:00
Alex Tselegidis
cda450c4d1 Redirect to the about page after DB update 2023-12-22 13:31:19 +01:00
Alex Tselegidis
aeadbfbe98 Block the public booking operations if the booking page is disabled 2023-12-22 12:48:06 +01:00
Alex Tselegidis
2878d1299a Reformat entire codebase for trailing comma that will make line duplication easier 2023-12-22 11:35:41 +01:00
Alex Tselegidis
054c4fe36d Remove unnecessary "find" method parameter 2023-12-13 12:22:16 +01:00
Alex Tselegidis
1eada1b0e2 Send the appointment notifications to the language of the recipient instead of the currently logged in user language #1402 2023-12-12 12:14:01 +01:00
Alex Tselegidis
65aacce924 No calendars are being displayed in the calendar table view while being logged in as a secretary (#1418) 2023-12-12 11:58:07 +01:00
Alex Tselegidis
e6b3ffd66b Add support for custom fields on customers (#1133) 2023-12-11 09:54:29 +01:00
Alex Tselegidis
aa10b57b3a Remove line breaks from translations 2023-12-08 11:28:24 +01:00
Alex Tselegidis
c6f231e11e Add <pre> container to the dd function output 2023-12-06 10:58:40 +01:00
Alex Tselegidis
1cb5a2288c Return password 2023-11-29 10:43:08 +01:00
Alex Tselegidis
57c9aa38a3 Correct migrations 2023-11-29 10:43:01 +01:00
Alex Tselegidis
c8a9e2c24b Enable prettier for php and reformat the entire application directory 2023-11-29 10:24:09 +01:00
Alex Tselegidis
1b22f90b6a Replace occurrences to the non-used id_categories field 2023-11-17 12:23:07 +01:00
Alex Tselegidis
f040404332 Apply the blocked periods to the booking page availability (#432) 2023-11-17 11:38:17 +01:00
Alex Tselegidis
0cc51ed33c Display the blocked periods to the calendar page (#432) 2023-11-17 09:42:57 +01:00
Alex Tselegidis
f5360d2f2d Rename the block period description field to notes for compatibility with the other unavailability events 2023-11-17 09:37:38 +01:00
Alex Tselegidis
602afb50b9 Display the blocked periods in the calendar (#432) 2023-11-17 08:40:29 +01:00
Alex Tselegidis
8d0b2cfa20 Fix margin classes 2023-11-17 08:23:05 +01:00
Alex Tselegidis
e6ed92697f Add blocked periods section in the business settings page (#432) 2023-11-17 08:20:16 +01:00
Alex Tselegidis
42ee635081 Increase the left margin 2023-11-17 08:19:48 +01:00
Alex Tselegidis
64ce83922d Add date validation to blocked periods (#432) 2023-11-17 08:10:03 +01:00
Alex Tselegidis
f3d7b78b15 Add the blocked periods to the webhooks page (#432) 2023-11-17 08:06:34 +01:00
Alex Tselegidis
1c3ae956aa Update the blocked period CRUD (#432) 2023-11-17 08:04:27 +01:00
Alex Tselegidis
9e2c4827aa Revert back to the default password for simplicity 2023-11-17 07:35:52 +01:00
Alex Tselegidis
fbcd35f197 Add blocked period CRUD operations to the app (#432) 2023-11-03 18:25:23 +01:00
Alex Tselegidis
38f872d857 Various minor service and service category fixes 2023-11-03 18:24:49 +01:00
Alex Tselegidis
bcf03a4b90 Load the api library before using it in Unavailabilities_api_v1.php 2023-10-27 09:01:00 +02:00
Alex Tselegidis
29940e2cd1 Correct session value 2023-10-26 08:11:49 +02:00
Alex Tselegidis
ee2fd4ea5a Rename some variables in Service_categories_model.php 2023-10-26 08:11:49 +02:00
Alex Tselegidis
4b18b78e69 Rename the "create" method of controllers to "store" 2023-10-26 08:11:49 +02:00
Alex Tselegidis
c1faa8972d Add the aria-label attribute to keyword 2023-10-26 08:11:49 +02:00
Alex Tselegidis
3847391c3d Switch from define to const constant definitions for better IDE support 2023-10-26 08:11:49 +02:00
Alex Tselegidis
7eb048e1d2 Rename webhook related constant 2023-10-26 08:11:49 +02:00
Alex Tselegidis
c37757e969 Translation changes 2023-10-26 08:11:48 +02:00
Alex Tselegidis
e9842a40bc Revert renaming the service-categories to categories (for clarity) 2023-10-26 08:11:31 +02:00
Alex Tselegidis
ae76ad7385 Do not allow a customer to book the same hours multiple times
(#1420)
2023-10-23 11:46:41 +02:00
Alex Tselegidis
e987aedf75 Various fixed on the Google Sync process 2023-10-23 11:34:39 +02:00
Alex Tselegidis
0ba5015147 Comment 2023-10-23 11:21:30 +02:00
Alex Tselegidis
cf19a90311 Drop support for soft deletes in order to reduce the code complexity and data usage 2023-10-19 16:25:45 +02:00
Alex Tselegidis
1710d46b6d Pass the required_notes param to the appointments_modal template 2023-10-19 16:05:17 +02:00
Alex Tselegidis
bf69e17ae6 Apply the company color to the appointments modal existing customer list entries (#1429) 2023-10-19 16:04:28 +02:00
Alex Tselegidis
f0a91600bf Apply the company color to the appointments modal dropdown (#1422) 2023-10-16 11:54:27 +02:00
Alex Tselegidis
c1535ef527 Typo in greek translation (#1425) 2023-10-16 11:48:23 +02:00
Alex Tselegidis
ec0432d515 Correct the require-notes setting use in the appointments_modal.php (#1426) 2023-10-16 11:47:14 +02:00
Alex Tselegidis
73323c15d3 Use the same email subject for both customer and provider for when an appointment is updated (#1403) 2023-10-12 12:58:54 +02:00
Alex Tselegidis
cbbcaa417f Corrections to the german translations (#1404) 2023-10-12 12:56:13 +02:00
Alex Tselegidis
b88952497c Cast the provider ID to avoid errors 2023-10-09 16:48:35 +02:00
Alex Tselegidis
784cb0c877
Merge pull request #1410 from laravel-vesuvius/develop
Fix search Appointments_model
2023-10-09 15:49:07 +02:00
Alex Tselegidis
f49f65af69
Merge pull request #1411 from laravel-vesuvius/customer
Customers_model: api_encode: add timezone field
2023-10-09 15:48:15 +02:00
Alex Tselegidis
5bd328ee4f Correct the variable type check value 2023-10-09 12:18:24 +02:00
Alex Tselegidis
cac3e6317d Rename variable 2023-10-09 09:56:40 +02:00
Alex Tselegidis
3aba05bd28 Update the croatian translations 2023-10-04 16:39:28 +03:00
Alex Tselegidis
b1bf3ac3c0 Update the catalan translations 2023-10-04 15:55:41 +03:00
Vadim Serdunich
249e67ef91 Customers_model: api_encode: add timezone field 2023-09-15 16:40:02 +03:00
Vadim Serdunich
193205bfc0 Fix search Appointments_model: appointments id field 2023-09-14 19:39:52 +03:00
Vadim Serdunich
a05551ba74 Fix search Appointments_model 2023-09-13 17:27:19 +03:00
Alex Tselegidis
c3eb4d1632 Only the IP and type are required fields 2023-09-12 17:17:12 +03:00
Alex Tselegidis
072ff2862e Fallback value for arg 2023-09-12 17:00:30 +03:00
Alex Tselegidis
93e53649cb Update the CORS configuration 2023-08-02 19:08:24 +02:00
Alex Tselegidis
007145e213 Set up swagger-ui in the docker compose (port 8000) 2023-08-01 22:09:01 +02:00
Alex Tselegidis
307d44b6af Custom handling for empty request URI values 2023-07-29 12:36:12 +02:00
Alex Tselegidis
5a5c4333be Set a default value for the default provider 2023-07-29 12:02:52 +02:00
Alex Tselegidis
29bd6dd23a Set the default value of the working plan exceptions to be an array 2023-07-29 11:59:41 +02:00
Alex Tselegidis
c39dad618e Add line break configuration that is needed by many SMTP relay servers 2023-07-27 16:12:03 +02:00
Alex Tselegidis
8d7952ee44 Update the og description value 2023-07-27 16:12:03 +02:00
Alex Tselegidis
c226d188c9 Use the unavailabilities model instead of the appointments model 2023-07-18 07:54:47 +02:00
Alex Tselegidis
5bea235ec8 Cast the result value to int 2023-07-17 14:17:37 +02:00
Alex Tselegidis
b37b460195 Only allow authorized users to manage appointments from the calendar page (#1387) 2023-07-17 08:14:15 +02:00
Alex Tselegidis
e7ddad5641 Make sure there are no duplicate unavailability entries (#1388) 2023-07-17 07:59:56 +02:00
Alex Tselegidis
90c5c0282d Update the working plan exception checks in Availability.php for non-working days 2023-07-17 07:56:51 +02:00
Alex Tselegidis
0bb02ae2bf Set the right locale to the fullcalendar instances 2023-07-17 07:50:55 +02:00
Alex Tselegidis
ebe087553e Automatically select the next available date in the booking page or display a message if this month is unavailable (#1075) (#1204) 2023-07-11 08:11:41 +02:00
Alex Tselegidis
ae26a5f397 Add Open Graph information to the public booking page so that it renders nicely once shared on social media apps (#1382) 2023-07-11 07:58:57 +02:00
Alex Tselegidis
36937a6492 Remove the Google Product Name and Google API Key config values as they are no longer needed 2023-07-11 07:50:16 +02:00
Alex Tselegidis
87e27d4070 Use the unavailabilities model to save the sync events (#1363) 2023-07-11 07:46:28 +02:00
Alex Tselegidis
5473544258 Allow working plan exceptions to be defined as non-working days (#1383). 2023-07-10 08:22:55 +02:00
Alex Tselegidis
198c855b74 Update the newer german translation strings 2023-07-05 17:39:35 +02:00
Alex Tselegidis
ebe8f84ba1 Release v1.5.0-dev.4 2023-07-03 10:42:02 +02:00
Alex Tselegidis
a9798bf27e Set the correct HTML language code 2023-07-03 10:27:23 +02:00
Alex Tselegidis
674d7c4eeb Correct the array key access in Google.php (#1362) 2023-07-03 10:21:46 +02:00
Alex Tselegidis
a225019f6f Add the Google "notranslate" meta to all layouts (#1360) 2023-07-03 10:19:05 +02:00
Alex Tselegidis
9828cd2fbf Add the service description to the appointment email notifications (#1374). 2023-07-03 10:07:10 +02:00
Alex Tselegidis
66dfd36d6d Fix the booking settings require-notes setting application, as it should check on the appointment notes and not the customer ones 2023-06-30 19:04:35 +02:00
Alex Tselegidis
d055d10610 Add "notes" to the whitelisted field list 2023-06-21 09:50:52 +03:00
Ronan LE MEILLAT
5cd3d9284a French translations 2023-06-13 15:05:52 +02:00
Ronan LE MEILLAT
ea1ff5fd1a missing \ 2023-06-13 14:00:33 +02:00
Ronan LE MEILLAT
0bcfd016c1 Update french translations 2023-06-13 11:59:39 +02:00
Alex Tselegidis
8dbe0842d8 Add Swedish as a selectable language in the web-ui (#1369). 2023-06-12 12:50:37 +02:00
Alex Tselegidis
2f69be2bd0 Update the equivalent appointment removal action of the calendar table view. 2023-06-01 14:30:08 +02:00
Alex Tselegidis
8e37e54bdb Refactor the calendar page appointment removal so that it also uses a request parameter called "cancellation_reason", just like the public booking page does. 2023-06-01 14:25:02 +02:00
Alex Tselegidis
531496f06a Convert the appointment hours of the email notifications to match the right timezone 2023-05-04 18:09:57 +02:00
Alex Tselegidis
cfac49e920 Update the method names of the library. 2023-05-04 18:02:40 +02:00
Alex Tselegidis
890e3ac4d9 Order the records by update datetime to avoid them missing in the UI 2023-05-04 17:55:29 +02:00
Alex Tselegidis
d3c96efac5 Enhance the booking info field display. 2023-05-04 11:52:54 +02:00
Alex Tselegidis
fbd3273864 Align the booking info fields to the top. 2023-05-04 11:43:59 +02:00
Alex Tselegidis
6050e6eb71 Add missing API fields 2023-05-04 11:32:40 +02:00
Alex Tselegidis
fa8b8459d4 Avoid null argument values passed to the PHP function 2023-05-04 11:32:32 +02:00
Alex Tselegidis
36ff857c4d Update the timezone info styling in the appointments and unavailability modals 2023-05-03 07:51:53 +02:00
Alex Tselegidis
4a0f1a1354 Position the booking confirmation text in the center. 2023-05-03 07:28:16 +02:00
Alex Tselegidis
fb7b2af812 Re-enable the captcha image distortion. 2023-05-03 07:26:39 +02:00
Alex Tselegidis
1655b0df2d Correct the captcha builer php issues. 2023-05-03 07:21:20 +02:00
Alex Tselegidis
f13b1a17c4 Correct the API controller constructor methods. 2023-04-24 13:22:49 +02:00
Alex Tselegidis
7ffc249706 Release v1.5.0-dev.3 2023-04-24 10:13:55 +02:00
Alex Tselegidis
d1e1000cb4 The "id_categories" columnn is optional 2023-04-24 10:13:44 +02:00
Alex Tselegidis
f7be8a1e1d Center the email templates and set a min height for the content 2023-04-24 10:02:53 +02:00
Alex Tselegidis
791030ba60 Update the russian translation file 2023-04-24 09:43:28 +02:00
Alex Tselegidis
83a83755e4 Merge branch 'translaster-master' into develop 2023-04-24 09:43:03 +02:00
krote5k
01dfd12959 Russian translation is done 2023-04-17 15:17:47 +05:00
Alex Tselegidis
a5f5bbb071 Correct the german translation of "October" 2023-04-17 10:07:45 +02:00
Alex Tselegidis
7f37350fab Regenerate the session ID after logging in to avoid Session Fixation attacks 2023-04-15 14:46:30 +02:00
Alex Tselegidis
75b2473576 Do not return appointments of a different user to the another provider or secretary on the default calendar screen. 2023-04-15 14:39:12 +02:00
Alex Tselegidis
c7a304c197 Add a method to quickly check if a provider is assigned to a secretary. 2023-04-15 14:34:42 +02:00
Alex Tselegidis
f540192570 Add helper methods to quickly check if a service is assigned to a provider 2023-04-15 14:34:23 +02:00
Alex Tselegidis
6fc45c3368 Correct the field filtering 2023-04-15 14:33:40 +02:00
Alex Tselegidis
46a865300e Escape the legal settings, service and category name in the booking page 2023-04-15 14:14:42 +02:00
Alex Tselegidis
bddc5cbeb7 Escape the user display name in the backend section 2023-04-15 14:03:51 +02:00
Alex Tselegidis
87a114af9c Update the return type. 2023-04-05 15:35:31 +02:00
Alex Tselegidis
d4185b2b05 Load the framework while testing in order to allow for additional tests 2023-03-24 08:11:25 +01:00
Alex Tselegidis
ea3bdb17ee Add the "user-scalable=no" meta value 2023-03-22 10:05:41 +01:00
Alex Tselegidis
55b64d42ae Perform various styling changes to the fullcalendar widget 2023-03-20 08:56:02 +01:00
Alex Tselegidis
299842cdb2 Correct language name in translation file 2023-03-17 08:00:04 +01:00
Alex Tselegidis
7bfe16b6be Check on trashed items when fetching appointment information 2023-03-17 07:53:16 +01:00
Alex Tselegidis
dae737ad17 Add missing @throws tag 2023-03-17 07:20:29 +01:00
Alex Tselegidis
2b552c4535 Resolve various PHP inspection issues 2023-03-13 09:06:18 +01:00
Alex Tselegidis
7be4c73e4e Use the "end_section" html helper for better clarify on when a section starts and when it ends 2023-03-13 08:24:43 +01:00
Alex Tselegidis
453c6e1302 Apply the new escape helper function to the view files 2023-03-13 08:18:39 +01:00
Alex Tselegidis
9b66e9fedc Remove the escape function from the lang helper 2023-03-13 08:11:01 +01:00
Alex Tselegidis
35023fef06 Removed unused config item 2023-03-13 08:08:50 +01:00
Alex Tselegidis
9a6233ad3a Add a new string escape helper function 2023-03-13 08:08:43 +01:00
Alex Tselegidis
e1a8de1652 Do not allow a user to access the app if their account was removed. 2023-03-13 07:42:06 +01:00
Alex Tselegidis
f3a3fb047e Add the X-Frame-Options header to the app 2023-03-08 10:48:37 +01:00
Alex Tselegidis
af1904679e Add the croatian translation files 2023-03-06 10:42:50 +01:00
Alex Tselegidis
2731d2f17c Update the seeders so that they set dynamic passwords by default 2023-03-01 09:00:24 +01:00
Alex Tselegidis
963413eb88 White list the working plan and working plan exceptions when saving a provider record 2023-03-01 08:26:58 +01:00
Alex Tselegidis
9e3611c547 Correct button display in mobile views 2023-03-01 08:21:57 +01:00
Alex Tselegidis
a04364adcd Remove unused config files 2023-03-01 07:45:09 +01:00
Alex Tselegidis
6226e0f86c Toggle the first booking step 2023-02-21 08:32:30 +01:00
Alex Tselegidis
9681e7d6ad Set the recipients timezone before sending the appointment email 2023-02-21 08:17:22 +01:00
Alex Tselegidis
ea30c62a84 Load required settings 2023-02-21 08:11:18 +01:00
Alex Tselegidis
c9715d7431 Script checks before rendering 2023-02-21 08:11:14 +01:00
Alex Tselegidis
a8996b6b99 Add the location and notes fields to the appointment email notifications (if a value was provided). (#1341) 2023-02-21 08:02:32 +01:00
Alex Tselegidis
ddee652231 Remove unnecessary cache load 2023-02-21 07:58:30 +01:00
Alex Tselegidis
4d79e1d3cf Improve the structure of the email notifications 2023-02-21 07:58:21 +01:00
Alex Tselegidis
c3aca37591 Add the "format_timezone" helper function 2023-02-21 07:44:34 +01:00
Alex Tselegidis
98976ee382 Wrap the date_helper.php functions with try-catch blocks 2023-02-20 08:57:50 +01:00
Alex Tselegidis
270c261a58 Add the date_helper.php to the project 2023-02-20 08:54:29 +01:00
Alex Tselegidis
697b3fa5a8 Refactor the email template HTML structure 2023-02-20 08:43:00 +01:00
Alex Tselegidis
9727d22205 Add a back link to the webhooks page 2023-02-20 08:35:29 +01:00
Alex Tselegidis
97382d8da3 Add missing JS file to business_settings.php 2023-02-20 08:17:48 +01:00