Commit Graph

254 Commits

Author SHA1 Message Date
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