Commit graph

343 commits

Author SHA1 Message Date
Alex Tselegidis
7799f08da6 The privileges variable is not needed by the account.php template 2021-12-20 09:16:05 +01:00
Alex Tselegidis
37c46c7286 Removed unnecessary validation from general settings 2021-12-20 09:15:05 +01:00
Alex Tselegidis
6017abea45 Refactored the business settings page functionality and structure 2021-12-18 21:36:25 +01:00
Alex Tselegidis
34fbd2060d Fixes on the general settings page 2021-12-18 21:06:24 +01:00
Alex Tselegidis
42ff670928 Refactored the general settings page functionality and structure 2021-12-18 20:53:59 +01:00
Alex Tselegidis
a3282febc9 Added new callback to the account controller to validate usernames 2021-12-18 18:55:58 +01:00
Alex Tselegidis
c53cd000d8 Refactored the account page functionality and structure 2021-12-18 18:25:03 +01:00
Alex Tselegidis
a090b2eba9 Updated the file banner info 2021-12-18 17:44:07 +01:00
Alex Tselegidis
72bc5efe34 Removed obsolete permissions prop 2021-12-18 17:37:00 +01:00
Alex Tselegidis
526df6e4d7 Replaced the "show_error" with the "abort" equivalent 2021-12-18 17:32:05 +01:00
Alex Tselegidis
0ff19b050d Use the html_vars and script_vars for assigning the page variables 2021-12-18 17:22:40 +01:00
Alex Tselegidis
5420ef1389 Updated the booking page so that it works with the new html_vars and script_vars helper functions. 2021-12-17 10:55:37 +01:00
Alex Tselegidis
16cea9e6a9 Updated Login to use the script_vars helper function 2021-12-17 10:53:22 +01:00
Alex Tselegidis
5916ad47d1 Added support for the new "calendar/reschedule" callback 2021-12-17 09:20:54 +01:00
Alex Tselegidis
c49f141bbb Moved the booking confirmation and cancellation code out of the booking controller 2021-12-16 08:37:55 +01:00
Alex Tselegidis
dc8d6ad140 Update has its own controller class 2021-12-16 08:10:01 +01:00
Alex Tselegidis
ff03b71060 Replaced resource names with constants for "cannot" checks 2021-12-15 08:05:08 +01:00
Alex Tselegidis
568ff9be2e Renamed the service category resource to just category 2021-12-15 08:00:48 +01:00
Alex Tselegidis
c8bd47d1e5 Removed the "_page" postfix from page view files 2021-12-14 08:08:06 +01:00
Alex Tselegidis
12e4eebd1f Set the "dest_url" js config 2021-12-14 08:06:10 +01:00
Alex Tselegidis
6376fea885 Added the find method to controllers 2021-12-14 07:18:46 +01:00
Alex Tselegidis
bd412eba8e Refactored the installation page functionality 2021-12-10 09:12:08 +01:00
Alex Tselegidis
6ab32781ad Moved the recovery functionality into its own controller and files 2021-12-10 08:41:16 +01:00
Alex Tselegidis
c00bfd9948 Changed var order 2021-12-10 08:34:56 +01:00
Alex Tselegidis
246d25c7f4 Moved the logout functionality into its own controller and files 2021-12-10 08:26:05 +01:00
Alex Tselegidis
63da7afce2 Renamed and moved the controller and view files of the settings page 2021-12-07 11:09:34 +01:00
Alex Tselegidis
622a4e9390 Moved the about controller and renamed the view file 2021-12-07 11:00:13 +01:00
Alex Tselegidis
523db7e5e3 Moved the login functionality into its own controller and files 2021-12-07 10:53:59 +01:00
Alex Tselegidis
cd5eff8819 Use the show_error function instead of the no-permissions callback 2021-12-07 10:53:20 +01:00
Alex Tselegidis
f1849e3a16 Restructured the view/js/css files (flatter file structure) 2021-12-06 09:00:02 +01:00
Alex Tselegidis
d94617945b Added missing index method of Calendar controller 2021-11-25 09:13:19 +01:00
Alex Tselegidis
f2bb4519a5 Load the appointment and customer data after inserting them for the first time 2021-11-25 08:40:37 +01:00
Alex Tselegidis
232fa89b15 Load roles model 2021-11-24 09:23:48 +01:00
alextselegidis
83bfd87d5d Ported the current about content to a new standalone page 2021-11-22 08:09:56 +01:00
alextselegidis
a622f2f295 Ported the current user settings functionality to a new standalone page 2021-11-22 08:09:56 +01:00
alextselegidis
35a05de1f0 Ported the legal contents settings functionality to a new standalone page 2021-11-22 08:09:56 +01:00
alextselegidis
fc48db0ea4 Ported the client form settings functionality to a new standalone page 2021-11-22 08:09:56 +01:00
Alex Tselegidis
255d1b5d95 Corrected the CORS headers hanlding 2021-11-18 15:01:17 +01:00
alextselegidis
2d1fb357c8 Ported the business logic settings functionality to a new standalone page 2021-11-18 08:49:23 +01:00
alextselegidis
753237d003 Ported the general settings functionality to a new standalone page 2021-11-18 07:53:41 +01:00
alextselegidis
fa97f743ae Added settings related callbacks to the Settings controller (copied from Backend_api) 2021-11-18 07:34:43 +01:00
alextselegidis
f5cedbd0d5 Added calendar related callbacks to the Calendar controller (copied from Backend_api) 2021-11-18 07:30:52 +01:00
alextselegidis
4b4d8887e8 Added google related callbacks to the Google controller (copied from Backend_api) 2021-11-18 07:30:31 +01:00
alextselegidis
b06a2505b2 Created a new unavailabilities resource controller 2021-11-18 07:29:41 +01:00
alextselegidis
7eac5b8638 Moved the frontend book functionality to a new controller called Booking.php and created a new resource controller for appointments 2021-11-18 07:12:16 +01:00
alextselegidis
28f6a58211 Updated comment 2021-11-18 07:09:21 +01:00
alextselegidis
fec42278c8 Created a new customers resource controller 2021-11-18 06:34:07 +01:00
alextselegidis
7a3aa38622 Created a new secretaries resource controller 2021-11-18 06:23:21 +01:00
alextselegidis
d6b294a12b Created a new admins resource controller 2021-11-18 06:11:18 +01:00
alextselegidis
4bbcb9fff8 Created a new providers resource controller 2021-11-18 06:08:36 +01:00
alextselegidis
aadac6a060 Created a new service categories resource controller 2021-11-18 05:23:54 +01:00
alextselegidis
8dd509d4dc Created a new services resource controller 2021-11-18 05:21:30 +01:00
alextselegidis
ca8f3524ef Replaced the render function with the new component function 2021-11-16 10:15:37 +01:00
alextselegidis
8f74643437 Updated the controller classes to use the slots instead 2021-11-15 09:49:19 +01:00
alextselegidis
abf9bdd049 Set the page title of the booking page 2021-11-12 21:27:11 +01:00
alextselegidis
1103db92df Loaded scripts from the appointments controller 2021-11-12 17:30:09 +01:00
alextselegidis
2d1c7c0f7a Miscellaneous fixes and refactoring on Appointments.php 2021-11-12 17:23:43 +01:00
alextselegidis
d2be2327e8 Minor refactoring for the appointments page 2021-11-12 17:09:39 +01:00
alextselegidis
007e95ed7a Moved the installation and update pages to the new view/pages directory 2021-11-12 16:57:05 +01:00
alextselegidis
cf579dddc2 Removed the error override configuration and files 2021-11-12 16:53:42 +01:00
alextselegidis
ee6729cf0b Converted all the account related pages to the new layout structure 2021-11-12 16:51:25 +01:00
alextselegidis
9fdafa5497 Converted the booking message to the booking message layout 2021-11-12 16:39:38 +01:00
alextselegidis
b31b4c87bd Converted the booking success page to the layout structure 2021-11-12 16:33:01 +01:00
alextselegidis
d96e65792b Converted the booking page view files to the layout structure 2021-11-12 08:38:20 +01:00
alextselegidis
2479ffb3a1 Changed the users callback to use the layout loading method 2021-11-12 08:37:50 +01:00
Alex Tselegidis
f41547b77d Method could also return null and not always an int 2021-11-08 10:44:36 +01:00
Alex Tselegidis
85bd7b9b38 Renamed attach to load in Backend_api.php 2021-11-06 17:14:57 +01:00
Alex Tselegidis
a20f2e9e33 Corrected the login HTTP callback 2021-11-06 16:51:36 +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
31b452766d Refactored the login controller callback 2021-11-06 16:09:59 +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
8603a8ae33 Refactored all the API controller classes (and renamed them) to work well on top of the models 2021-11-06 15:03:08 +01:00
Alex Tselegidis
27c5c3ab35 Replaced the appointments model with the unavailabilities model in the Backend_api.php 2021-11-06 14:56:56 +01:00
Alex Tselegidis
afc05577a4 Refactored the admins API controller (no engine code is being used). 2021-11-03 08:38:59 +01:00
Alex Tselegidis
4c6c5b5913 Remove the old and deprecated API_V1_Controller.php 2021-11-02 10:45:05 +01:00
Alex Tselegidis
bdaa46459c The new settings model does not have the set_setting and get_setting values. 2021-10-29 13:21:03 +02:00
Alex Tselegidis
306e94a082 The delete model method does not return a result any more. 2021-10-29 13:20:33 +02:00
Alex Tselegidis
4ed7465784 Corrected the name of the exception variable 2021-10-29 13:16:21 +02:00
Alex Tselegidis
182cebfb74 Renamed the add_unavailable method to save_unavailable for consistency 2021-10-29 13:12:39 +02:00
Alex Tselegidis
e29c2198de Removed the delete_unavailable method 2021-10-29 13:11:56 +02:00
Alex Tselegidis
76afdef30b Moved the instance handling logic to a re-usable library 2021-10-29 10:44:01 +02:00
Alex Tselegidis
8ecf389bf1 Updated all the API controllers to work with the updated code. 2021-10-28 14:01:27 +02:00
Alex Tselegidis
a280496294 Updated all the main controllers to work with the updated code. 2021-10-28 14:01:17 +02:00
Thomas Saedt
9671def4ea Merge branch 'develop' into 1081_hide_data_fields 2021-10-20 22:12:47 +02:00
Alex Tselegidis
1664ac6f9f
Merge pull request #1119 from om-ha/patch-1
FIX Providers API incorrect `array_key_exists`
2021-10-18 13:58:42 +02:00
Alex Tselegidis
6b179c3b58 When selecting the any provider option in the booking page then merge all the available hours of all providers that can serve the selected service (#1147). 2021-10-18 13:04:32 +02:00
Alex Tselegidis
0c0ac6a0b2 The backend appointment removal is using the notifications library 2021-10-04 09:26:12 +02:00
om-ha
a17c234698
FIX Providers API incorrect array_key_exists
- `array_key_exists` should search for they key `working_plan` within `$provider['settings']` and not `$provider['settings']['working_plan']`
2021-08-28 14:50:01 +03:00
Thomas Saedt
1bcbf9f71b [1081] Made show booking form field settings functional 2021-05-30 13:27:39 +02:00
Thomas S
872640c46d [1081] Frontend hiding of fields 2021-05-28 15:39:14 +02:00
Thomas S
094b780fd8 [1081] Add new settings in db 2021-05-28 13:37:58 +02:00
Winfried Mosler
95dfc866e1 fix calendar table events for roles other than admin 2021-04-07 10:52:09 +02:00
Alex Tselegidis
1c763f3870 Support all-day events while syncing with Google Calendar (#1040). 2021-04-07 10:02:30 +02:00
Alex Tselegidis
718fbf97aa
Merge pull request #967 from bevanjkay/all-day-google-events
All day google events
2021-04-07 09:49:35 +02:00
Alex Tselegidis
0b5938471e The availabilities API controller must use the Availability library (this change will also fix the PHP error, when processing a service with multiple attendants) (#990) 2021-01-27 13:40:01 +01:00
Alex Tselegidis
7c9137f69d Make sure the selected hour is checked before selecting a provider on behalf of the customer, if he selected the any-provider option (#982). 2021-01-20 15:21:59 +01:00
Bevan Kay
edace7b002 Add ability to sync all-day Google Calendar Events 2021-01-07 16:10:47 +11:00
Alex Tselegidis
5a52bde05a Additional check for the provided user props via the API 2020-12-17 16:49:04 +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
5512731c41 Added customer data in the book success page 2020-12-14 20:40:56 +02:00
Alex Tselegidis
36def8c52c Corrections in the API endpoints (#950) 2020-12-11 21:16:49 +02:00
Alex Tselegidis
ae3e0b1dcb Google Calendar sync must not break when syncing all day events (#945). 2020-12-10 11:31:59 +02:00
Alex Tselegidis
75905752f7 Adding missing parent constructor call in Privacy.php controller 2020-12-09 14:55:27 +02:00
Alex Tselegidis
39d4f3185e Removed [AJAX] string from controller comments. 2020-12-09 14:46:27 +02:00
Alex Tselegidis
b87be634b4 Applied same default data for both console and UI installation 2020-12-09 14:45:55 +02:00
Alex Tselegidis
8a68e97f94 Reformatted code files 2020-12-09 14:17:45 +02:00
Alex Tselegidis
022644b59e Corrected method call argument 2020-12-09 14:07:01 +02:00
Alex Tselegidis
9655feca6c Corrected issue with table view and duplicate appointments 2020-12-08 10:17:24 +02:00
Alex Tselegidis
228235fa26 Corrected argument order 2020-12-07 22:56:37 +02:00
Alex Tselegidis
40cf6cab40 Renamed variable 2020-12-07 22:55:31 +02:00
Alex Tselegidis
e084ee913f Moved all the loader commands to the constructors 2020-12-05 11:55:09 +02:00
Alex Tselegidis
e31aec1ab5 Pass the manage_mode parameter to notifications and google libraries 2020-12-05 11:46:05 +02:00
Alex Tselegidis
9c3d253456 Code enhancements in the model classes 2020-12-05 11:38:57 +02:00
Alex Tselegidis
033719e9b4 Renamed variables in API controllers 2020-12-05 11:14:13 +02:00
Alex Tselegidis
3dca937728 Improved condition checks in the API controller classes 2020-12-05 11:09:25 +02:00
Alex Tselegidis
93c2eb190f Added a help command in the console 2020-12-05 11:03:12 +02:00
Alex Tselegidis
3f43d2f768 Added new console command for created data backups. 2020-12-04 14:28:18 +02:00
Alex Tselegidis
76379ede44 Added a seed and installation command. 2020-12-04 12:49:57 +02:00
Alex Tselegidis
8171d18fd4 Updated code style in API_V1_Controller.php 2020-12-04 12:36:27 +02:00
Alex Tselegidis
fc362b340b Added fresh option to migrations 2020-12-02 22:21:35 +02:00
Alex Tselegidis
9cde499f9a Use the shorthand method for config items 2020-12-02 22:12:54 +02:00
Alex Tselegidis
77d8d4e5ab Use the shorthand method for translations 2020-12-02 22:11:07 +02:00
Alex Tselegidis
238c480837 Consistently use $CI to reference the framework instance 2020-12-02 22:10:11 +02:00
Alex Tselegidis
e7b4aeedab Automatically load the translations 2020-12-02 20:04:06 +02:00
Alex Tselegidis
c0a6370544 Snake case variable name 2020-12-02 19:50:17 +02:00
Alex Tselegidis
f6ee08608a Initialize unavailability array 2020-11-21 23:09:27 +02:00
Alex Tselegidis
d5d4893840 Corrected method calls in when appointment gets saved from the backend 2020-11-21 23:08:07 +02:00
Alex Tselegidis
d6a5373264 Less data loaded for providers in book success. 2020-11-21 22:02:55 +02:00
Alex Tselegidis
da187c8b02 Redirect to appointments instead of appointments/index 2020-11-21 22:02:44 +02:00
Alex Tselegidis
46d604f5e6 Applied consistent code style to the engine class files. 2020-11-16 11:55:34 +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
976cabb2c4 Updated URLs in the file comments 2020-11-16 10:16:00 +02:00
Alex Tselegidis
6e66eb4fd8 Consistent module naming throughout the app 2020-11-16 10:16:00 +02:00
Alex Tselegidis
8842e2d918 Update session date based on the current user settings page updates 2020-11-12 14:47:15 +02:00
Alex Tselegidis
0c20363b8b Correction in the Appointments check datetime availability method 2020-11-12 14:46:51 +02:00
Alex Tselegidis
d13df8f8e1 Corrected condition fallback value in Categories.php API controller 2020-11-12 14:16:23 +02:00
Alex Tselegidis
25fdd5636d Corrected wrong parameters order. 2020-11-12 14:15:38 +02:00
Alex Tselegidis
733e9a119a Updated the code style of the API controllers 2020-10-21 21:49:05 +03:00
Alex Tselegidis
1067a92a18 Renamed further "unavailabilities" occurrences to "unavailability events" 2020-10-21 21:44:35 +03:00
Alex Tselegidis
f7ca104836 Moved duplicated code into re-usable library classes 2020-10-21 21:37:47 +03:00
Alex Tselegidis
0e6fdebe0f Completed the working plan exceptions feature. 2020-10-20 16:05:00 +03:00
Alex Tselegidis
cab9aed12f Styling upgrades for the backend calendar page 2020-09-28 15:17:47 +03:00
Alex Tselegidis
068a3995b0 Further fixes on the google synyc activation (#890). 2020-09-24 10:26:29 +03:00
Alex Tselegidis
069509c8da Merge branch 'book-advance-timeout-improvements' of https://github.com/popod/easyappointments into popod-book-advance-timeout-improvements
# Conflicts:
#	application/views/backend/calendar.php
#	application/views/backend/settings.php
2020-09-23 15:13:58 +03:00
Alex Tselegidis
46a176db5b Updated the default service currency value 2020-09-23 14:59:43 +03:00
Alex Tselegidis
cfc6167d4f Use the "alnum" method when generating random strings via the codeigniter helper function (generates shorter strings) 2020-09-23 14:37:09 +03:00
Alex Tselegidis
a3dfb91550 Improvements in the user language storage feature. 2020-09-23 13:48:07 +03:00
Alex Tselegidis
5706447ea6 Problem with links in legal content (#813). 2020-09-23 13:44:12 +03:00
Alex Tselegidis
683aa269b0 Use the codeigniter random string generation function for creating random passwords (#680). 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
7bbe85b88a
Merge pull request #817 from popod/save-customer-language
Save customer language to the database
2020-09-23 13:16:25 +03:00
Alex Tselegidis
f5a94ea6fe Notify admins and secretaries on appointment changes (#889). 2020-09-23 12:42:18 +03:00
Alex Tselegidis
30eb95461a Improvements and fixes on the custom availability feature 2020-09-23 12:24:42 +03:00
Alex Tselegidis
1aa8132e4d Added console commands and support for triggering the google sync from the terminal 2020-09-23 12:24:20 +03:00
Alex Tselegidis
ae1f951cf8 Resolve the any-provider selection before processing provider information (#885). 2020-09-21 14:26:21 +03:00
Alex Tselegidis
529e418589 Set default notifications setting value for the installation admin. 2020-09-07 11:45:57 +03:00
Alex Tselegidis
02628a2cbd Random password for installation provider record. 2020-09-07 11:18:08 +03:00
Alex Tselegidis
5220e87249 Renamed installation helper method 2020-09-07 11:15:58 +03:00
Alex Tselegidis
0e0a5e6b20 Removed the subpackage phpdoc tag (not supported). 2020-09-07 10:56:40 +03:00
Alex Tselegidis
395b329e78 Minor formatting changes in API_V1_Controller.php 2020-09-03 14:59:05 +03:00
Alex Tselegidis
65d3243986 Add the appointment has in the stored "dest_url" value when trying to access the calendar page without being logged in first (#804). 2020-08-15 15:58:17 +03:00
Alex Tselegidis
4f1c39b564 Consider the book advance timeout when generating unavailable dates (#855). 2020-08-15 15:58:17 +03:00
Alex Tselegidis
d8a7318c95 Added missing response variable 2020-07-01 10:16:09 +02:00
Sébastien
1e6a13d146 Save customer language. 2020-06-16 17:01:27 +02:00
Sébastien
18d0541114 Improve the "help block" for the book advance timeout field in french. 2020-06-05 20:36:40 +02:00
Sébastien
950738f2fe Redirect clients which are tying to update an appointment during the book advance timeout to a warning page. 2020-06-05 18:24:05 +02:00
Sébastien
8704413c0f Do not add bookAdvanceTimeout delay to new appointment modal on the backend. 2020-06-05 17:29:35 +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
07276d46a6 Code changes on automatically end_datetime assignment via the REST API 2020-05-04 20:59:37 +02:00
Alex Tselegidis
5269f73bab
Merge pull request #751 from popod/api-appointments-populate-end-datetime
Automatically populate the appointment end datetime based on service duration in API
2020-05-04 20:57:15 +02:00
Alex Tselegidis
4635af5094 Added quick toggle view button in backend calendar page. 2020-05-04 13:38:28 +02:00
Sébastien
05ab0db079 Automatically populate the appointment end datetime based on service duration in API. 2020-05-03 22:17:31 +02:00
Alex Tselegidis
49f585fea8 Add default timezone value for admin, after during the installation. 2020-05-02 12:49:41 +02:00
Alex Tselegidis
8b34d8086e Make use of the dbprefix configuration option so that query builder calls do not need to explicitly use the database prefix. 2020-04-23 20:48:20 +02:00
Alex Tselegidis
63fe772155 The installation procedure will not use the assets/sql files but execute the migrations instead. 2020-04-23 20:36:43 +02:00
Alex Tselegidis
39956c6b37 Major refactoring and improvements to the application API code. 2020-04-22 21:48:56 +02:00
Alex Tselegidis
e2337a354c Corrected the SQL file paths during installation. 2020-04-08 13:35:49 +02:00
Alex Tselegidis
7278f448e6 Load less information in the booking page. 2020-04-08 10:30:27 +02:00
Alex Tselegidis
488860f9fe Corrected call to the appointments model. 2020-04-06 20:40:32 +02:00
Alex Tselegidis
15757852ec Added new setting for toggling the "any provider" option in the booking page (#247). 2020-04-06 20:36:22 +02:00
Alex Tselegidis
653007604f Added pagination in backend pages for faster result loading (#496). 2020-04-06 20:34:32 +02:00
Alex Tselegidis
2d57022a63 The book advance condition must check with the provider's timezone. 2020-03-30 15:42:30 +02:00
Alex Tselegidis
513b0101eb Added new button for applying the global working plan to all providers (#551). 2020-03-29 19:25:23 +02:00
Alex Tselegidis
320ff37de1 Google syncing also supports the provider timezones. 2020-03-29 16:29:07 +02:00
Alex Tselegidis
88bbe06548 The booking zone supports timezones. 2020-03-29 16:20:30 +02:00
Alex Tselegidis
849f83ed03 Backend calendar handling with timezones. 2020-03-29 15:08:07 +02:00
Alex Tselegidis
b639318dac All the backend pages have the timezone information. 2020-03-29 14:43:53 +02:00
Alex Tselegidis
2321c3b7fc Token based authentication for the REST API (#610). 2020-03-27 11:02:06 +01:00
Alex Tselegidis
fff57ad3f3 Ensure that only valid appointments are being processed. 2020-03-24 18:54:50 +01:00
Alex Tselegidis
e1e9a60085 Moved source files to the root directory. 2020-03-11 10:24:25 +01:00