Remove the "ajax_" prefix from all new AJAX endpoints.
This commit is contained in:
parent
c154280026
commit
0da73ab43e
11 changed files with 176 additions and 267 deletions
|
@ -244,7 +244,7 @@ class Booking extends EA_Controller {
|
|||
* This method answers to an AJAX request. It calculates the available hours for the given service, provider and
|
||||
* date.
|
||||
*/
|
||||
public function ajax_get_available_hours()
|
||||
public function get_available_hours()
|
||||
{
|
||||
try
|
||||
{
|
||||
|
@ -527,7 +527,7 @@ class Booking extends EA_Controller {
|
|||
*
|
||||
* Outputs a JSON string with the unavailable dates. that are unavailable.
|
||||
*/
|
||||
public function ajax_get_unavailable_dates()
|
||||
public function get_unavailable_dates()
|
||||
{
|
||||
try
|
||||
{
|
||||
|
|
|
@ -153,7 +153,7 @@ class Calendar extends EA_Controller {
|
|||
/**
|
||||
* Save appointment changes that are made from the backend calendar page.
|
||||
*/
|
||||
public function ajax_save_appointment()
|
||||
public function save_appointment()
|
||||
{
|
||||
try
|
||||
{
|
||||
|
@ -293,7 +293,7 @@ class Calendar extends EA_Controller {
|
|||
/**
|
||||
* Insert of update unavailable time period to database.
|
||||
*/
|
||||
public function ajax_save_unavailable()
|
||||
public function save_unavailable()
|
||||
{
|
||||
try
|
||||
{
|
||||
|
@ -408,7 +408,7 @@ class Calendar extends EA_Controller {
|
|||
/**
|
||||
* Insert of update working plan exceptions to database.
|
||||
*/
|
||||
public function ajax_save_working_plan_exception()
|
||||
public function save_working_plan_exception()
|
||||
{
|
||||
try
|
||||
{
|
||||
|
@ -440,7 +440,7 @@ class Calendar extends EA_Controller {
|
|||
/**
|
||||
* Delete a working plan exceptions time period to database.
|
||||
*/
|
||||
public function ajax_delete_working_plan_exception()
|
||||
public function delete_working_plan_exception()
|
||||
{
|
||||
try
|
||||
{
|
||||
|
@ -472,7 +472,7 @@ class Calendar extends EA_Controller {
|
|||
*
|
||||
* This method will return all the calendar events within a specified period.
|
||||
*/
|
||||
public function ajax_get_calendar_events()
|
||||
public function get_calendar_appointments_for_table_view()
|
||||
{
|
||||
try
|
||||
{
|
||||
|
@ -562,7 +562,7 @@ class Calendar extends EA_Controller {
|
|||
* This method returns the database appointments and unavailable periods for the user selected date period and
|
||||
* record type (provider or service).
|
||||
*/
|
||||
public function ajax_get_calendar_appointments()
|
||||
public function get_calendar_appointments()
|
||||
{
|
||||
try
|
||||
{
|
||||
|
|
|
@ -32,7 +32,7 @@ class Consents extends EA_Controller {
|
|||
/**
|
||||
* Save (insert or update) the consent
|
||||
*/
|
||||
public function ajax_save_consent()
|
||||
public function save_consent()
|
||||
{
|
||||
try
|
||||
{
|
||||
|
|
|
@ -311,18 +311,18 @@ class Google extends EA_Controller {
|
|||
* The user will need to select a specific calendar from this list to sync his appointments with. Google access must
|
||||
* be already granted for the specific provider.
|
||||
*/
|
||||
public function ajax_get_google_calendars()
|
||||
public function get_google_calendars()
|
||||
{
|
||||
try
|
||||
{
|
||||
if ( ! request('provider_id'))
|
||||
$provider_id = request('provider_id');
|
||||
|
||||
if (empty($provider_id))
|
||||
{
|
||||
throw new Exception('Provider id is required in order to fetch the google calendars.');
|
||||
}
|
||||
|
||||
// Check if selected provider has sync enabled.
|
||||
$provider_id = request('provider_id');
|
||||
|
||||
$google_sync = $this->providers_model->get_setting($provider_id, 'google_sync');
|
||||
|
||||
if ( ! $google_sync)
|
||||
|
@ -353,7 +353,7 @@ class Google extends EA_Controller {
|
|||
*
|
||||
* All the appointments will be synced with this particular calendar.
|
||||
*/
|
||||
public function ajax_select_google_calendar()
|
||||
public function select_google_calendar()
|
||||
{
|
||||
try
|
||||
{
|
||||
|
@ -387,7 +387,7 @@ class Google extends EA_Controller {
|
|||
*
|
||||
* After that the provider's appointments will be no longer synced with Google Calendar.
|
||||
*/
|
||||
public function ajax_disable_provider_sync()
|
||||
public function disable_provider_sync()
|
||||
{
|
||||
try
|
||||
{
|
||||
|
|
|
@ -34,7 +34,7 @@ class Privacy extends EA_Controller {
|
|||
/**
|
||||
* Remove all customer data (including appointments) from the system.
|
||||
*/
|
||||
public function ajax_delete_personal_information()
|
||||
public function delete_personal_information()
|
||||
{
|
||||
try
|
||||
{
|
||||
|
|
|
@ -55,7 +55,7 @@ App.Http.Booking = (function () {
|
|||
const appointmentId = App.Pages.Booking.manageMode ? App.Vars.appointment_data.id : null;
|
||||
|
||||
// Make ajax post request and get the available hours.
|
||||
const url = App.Utils.Url.siteUrl('booking/ajax_get_available_hours');
|
||||
const url = App.Utils.Url.siteUrl('booking/get_available_hours');
|
||||
|
||||
const data = {
|
||||
csrf_token: App.Vars.csrf_token,
|
||||
|
@ -238,7 +238,7 @@ App.Http.Booking = (function () {
|
|||
|
||||
const appointmentId = App.Pages.Booking.manageMode ? App.Vars.appointment_data.id : null;
|
||||
|
||||
const url = App.Utils.Url.siteUrl('booking/ajax_get_unavailable_dates');
|
||||
const url = App.Utils.Url.siteUrl('booking/get_unavailable_dates');
|
||||
|
||||
const data = {
|
||||
provider_id: providerId,
|
||||
|
@ -308,7 +308,7 @@ App.Http.Booking = (function () {
|
|||
* @param {Object} consent Contains user's consents.
|
||||
*/
|
||||
function saveConsent(consent) {
|
||||
const url = App.Utils.Url.siteUrl('consents/ajax_save_consent');
|
||||
const url = App.Utils.Url.siteUrl('consents/save_consent');
|
||||
|
||||
const data = {
|
||||
csrf_token: App.Vars.csrf_token,
|
||||
|
@ -324,7 +324,7 @@ App.Http.Booking = (function () {
|
|||
* @param {Number} customerToken Customer unique token.
|
||||
*/
|
||||
function deletePersonalInformation(customerToken) {
|
||||
const url = App.Utils.Url.siteUrl('privacy/ajax_delete_personal_information');
|
||||
const url = App.Utils.Url.siteUrl('privacy/delete_personal_information');
|
||||
|
||||
const data = {
|
||||
csrf_token: App.Vars.csrf_token,
|
||||
|
|
|
@ -27,9 +27,11 @@ App.Http.Calendar = (function () {
|
|||
* @param {Object} [customer] Optional, contains the customer data.
|
||||
* @param {Function} [successCallback] Optional, if defined, this function is going to be executed on post success.
|
||||
* @param {Function} [errorCallback] Optional, if defined, this function is going to be executed on post failure.
|
||||
*
|
||||
* @return {*|jQuery.jqXHR}
|
||||
*/
|
||||
function saveAppointment(appointment, customer, successCallback, errorCallback) {
|
||||
const url = App.Utils.Url.siteUrl('calendar/ajax_save_appointment');
|
||||
const url = App.Utils.Url.siteUrl('calendar/save_appointment');
|
||||
|
||||
const data = {
|
||||
csrf_token: App.Vars.csrf_token,
|
||||
|
@ -53,15 +55,35 @@ App.Http.Calendar = (function () {
|
|||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove an appointment.
|
||||
*
|
||||
* @param {Number} appointmentId
|
||||
* @param {String} deleteReason
|
||||
*
|
||||
* @return {jQuery.jqXHR}
|
||||
*/
|
||||
function deleteAppointment(appointmentId, deleteReason) {
|
||||
const url = App.Utils.Url.siteUrl('calendar/delete_appointment');
|
||||
|
||||
const data = {
|
||||
csrf_token: App.Vars.csrf_token,
|
||||
appointment_id: appointmentId,
|
||||
delete_reason: deleteReason
|
||||
};
|
||||
|
||||
return $.post(url, data);
|
||||
}
|
||||
|
||||
/**
|
||||
* Save unavailable period to database.
|
||||
*
|
||||
* @param {Object} unavailable Contains the unavailable period data.
|
||||
* @param {Function} successCallback The ajax success callback function.
|
||||
* @param {Function} errorCallback The ajax failure callback function.
|
||||
* @param {Function} [successCallback] The ajax success callback function.
|
||||
* @param {Function} [errorCallback] The ajax failure callback function.
|
||||
*/
|
||||
function saveUnavailable(unavailable, successCallback, errorCallback) {
|
||||
const url = App.Utils.Url.siteUrl('calendar/ajax_save_unavailable');
|
||||
const url = App.Utils.Url.siteUrl('calendar/save_unavailable');
|
||||
|
||||
const data = {
|
||||
csrf_token: App.Vars.csrf_token,
|
||||
|
@ -81,6 +103,24 @@ App.Http.Calendar = (function () {
|
|||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove an unavailable.
|
||||
*
|
||||
* @param {Number} unavailableId
|
||||
*
|
||||
* @return {jQuery.jqXHR}
|
||||
*/
|
||||
function deleteUnavailable(unavailableId) {
|
||||
const url = App.Utils.Url.siteUrl('calendar/delete_unavailable');
|
||||
|
||||
const data = {
|
||||
csrf_token: App.Vars.csrf_token,
|
||||
unavailable_id: unavailableId
|
||||
};
|
||||
|
||||
return $.post(url, data);
|
||||
}
|
||||
|
||||
/**
|
||||
* Save working plan exception of work to database.
|
||||
*
|
||||
|
@ -91,7 +131,7 @@ App.Http.Calendar = (function () {
|
|||
* @param {Function} errorCallback The ajax failure callback function.
|
||||
*/
|
||||
function saveWorkingPlanException(date, workingPlanException, providerId, successCallback, errorCallback) {
|
||||
const url = App.Utils.Url.siteUrl('calendar/ajax_save_working_plan_exception');
|
||||
const url = App.Utils.Url.siteUrl('calendar/save_working_plan_exception');
|
||||
|
||||
const data = {
|
||||
csrf_token: App.Vars.csrf_token,
|
||||
|
@ -113,8 +153,18 @@ App.Http.Calendar = (function () {
|
|||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete working plan exception
|
||||
*
|
||||
* @param {String} date
|
||||
* @param {Number} providerId
|
||||
* @param {Function} [successCallback]
|
||||
* @param {Function} [errorCallback]
|
||||
*
|
||||
* @return {*|jQuery.jqXHR}
|
||||
*/
|
||||
function deleteWorkingPlanException(date, providerId, successCallback, errorCallback) {
|
||||
const url = App.Utils.Url.siteUrl('calendar/ajax_delete_working_plan_exception');
|
||||
const url = App.Utils.Url.siteUrl('calendar/delete_working_plan_exception');
|
||||
|
||||
const data = {
|
||||
csrf_token: App.Vars.csrf_token,
|
||||
|
@ -135,10 +185,58 @@ App.Http.Calendar = (function () {
|
|||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the appointments for the displayed calendar period.
|
||||
*
|
||||
* @param {Number} recordId Record ID (provider or service).
|
||||
* @param {String} filterType The filter type, could be either "provider" or "service".
|
||||
* @param {String} startDate Visible start date of the calendar.
|
||||
* @param {String} endDate Visible end date of the calendar.
|
||||
*
|
||||
* @returns {jQuery.jqXHR}
|
||||
*/
|
||||
function getCalendarAppointments(recordId, startDate, endDate, filterType) {
|
||||
const url = App.Utils.Url.siteUrl('calendar/get_calendar_appointments');
|
||||
|
||||
const data = {
|
||||
csrf_token: App.Vars.csrf_token,
|
||||
record_id: recordId,
|
||||
start_date: moment(startDate).format('YYYY-MM-DD'),
|
||||
end_date: moment(endDate).format('YYYY-MM-DD'),
|
||||
filter_type: filterType
|
||||
};
|
||||
|
||||
return $.post(url, data);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the calendar appointments for the table view (different data structure).
|
||||
*
|
||||
* @param {Date} startDate
|
||||
* @param {Date} endDate
|
||||
*
|
||||
* @return {*|jQuery.jqXHR}
|
||||
*/
|
||||
function getCalendarAppointmentsForTableView(startDate, endDate) {
|
||||
const url = App.Utils.Url.siteUrl('calendar/get_calendar_appointments_for_table_view');
|
||||
|
||||
const data = {
|
||||
csrf_token: App.Vars.csrf_token,
|
||||
startDate: moment(startDate).format('YYYY-MM-DD'),
|
||||
endDate: moment(endDate).format('YYYY-MM-DD')
|
||||
};
|
||||
|
||||
return $.post(url, data);
|
||||
}
|
||||
|
||||
return {
|
||||
saveAppointment,
|
||||
deleteAppointment,
|
||||
saveUnavailable,
|
||||
deleteUnavailable,
|
||||
saveWorkingPlanException,
|
||||
deleteWorkingPlanException
|
||||
deleteWorkingPlanException,
|
||||
getCalendarAppointments,
|
||||
getCalendarAppointmentsForTableView
|
||||
};
|
||||
})();
|
||||
|
|
|
@ -178,9 +178,6 @@ App.Utils.CalendarDefaultView = (function () {
|
|||
|
||||
$target.parents('.popover').popover('dispose');
|
||||
|
||||
let url;
|
||||
let data;
|
||||
|
||||
if (lastFocusedEventData.data.workingPlanException) {
|
||||
const providerId = $selectFilterItem.val();
|
||||
|
||||
|
@ -224,15 +221,11 @@ App.Utils.CalendarDefaultView = (function () {
|
|||
{
|
||||
text: 'OK',
|
||||
click: () => {
|
||||
url = App.Utils.Url.siteUrl('calendar/ajax_delete_appointment');
|
||||
const appointmentId = lastFocusedEventData.data.id;
|
||||
|
||||
data = {
|
||||
csrf_token: App.Vars.csrf_token,
|
||||
appointment_id: lastFocusedEventData.data.id,
|
||||
delete_reason: $('#delete-reason').val()
|
||||
};
|
||||
const deleteReason = $('#delete-reason').val();
|
||||
|
||||
$.post(url, data).done(() => {
|
||||
App.Http.Calendar.deleteAppointment(appointmentId, deleteReason).done(() => {
|
||||
$('#message-box').dialog('close');
|
||||
|
||||
// Refresh calendar event items.
|
||||
|
@ -255,14 +248,10 @@ App.Utils.CalendarDefaultView = (function () {
|
|||
}).appendTo('#message-box');
|
||||
} else {
|
||||
// Do not display confirmation prompt.
|
||||
url = App.Utils.Url.siteUrl('calendar/ajax_delete_unavailable');
|
||||
|
||||
data = {
|
||||
csrf_token: App.Vars.csrf_token,
|
||||
unavailable_id: lastFocusedEventData.data.id
|
||||
};
|
||||
const unavailableId = lastFocusedEventData.data.id;
|
||||
|
||||
$.post(url, data).done(() => {
|
||||
App.Http.Calendar.deleteUnavailable(unavailableId).done(() => {
|
||||
$('#message-box').dialog('close');
|
||||
|
||||
// Refresh calendar event items.
|
||||
|
@ -773,14 +762,7 @@ App.Utils.CalendarDefaultView = (function () {
|
|||
.add({days: -delta.days(), hours: -delta.hours(), minutes: -delta.minutes()})
|
||||
.format('YYYY-MM-DD HH:mm:ss');
|
||||
|
||||
const url = App.Utils.Url.siteUrl('calendar/ajax_save_appointment');
|
||||
|
||||
const data = {
|
||||
csrf_token: App.Vars.csrf_token,
|
||||
appointment_data: appointment
|
||||
};
|
||||
|
||||
$.post(url, data).done(() => {
|
||||
App.Http.Calendar.saveAppointment(appointment).done(() => {
|
||||
$notification.hide('blind');
|
||||
});
|
||||
|
||||
|
@ -822,14 +804,7 @@ App.Utils.CalendarDefaultView = (function () {
|
|||
|
||||
unavailable.is_unavailable = Number(unavailable.is_unavailable);
|
||||
|
||||
const url = App.Utils.Url.siteUrl('calendar/ajax_save_unavailable');
|
||||
|
||||
const data = {
|
||||
csrf_token: App.Vars.csrf_token,
|
||||
unavailable: unavailable
|
||||
};
|
||||
|
||||
$.post(url, data).done(() => {
|
||||
App.Http.Calendar.saveAppointment(unavailable).done(() => {
|
||||
$notification.hide('blind');
|
||||
});
|
||||
|
||||
|
@ -940,14 +915,7 @@ App.Utils.CalendarDefaultView = (function () {
|
|||
event.data.start_datetime = appointment.start_datetime;
|
||||
event.data.end_datetime = appointment.end_datetime;
|
||||
|
||||
const url = App.Utils.Url.siteUrl('calendar/ajax_save_appointment');
|
||||
|
||||
const data = {
|
||||
csrf_token: App.Vars.csrf_token,
|
||||
appointment_data: appointment
|
||||
};
|
||||
|
||||
$.post(url, data).done(() => {
|
||||
App.Http.Calendar.saveAppointment(appointment).done(() => {
|
||||
$notification.hide('blind');
|
||||
});
|
||||
|
||||
|
@ -990,14 +958,7 @@ App.Utils.CalendarDefaultView = (function () {
|
|||
event.data.start_datetime = unavailable.start_datetime;
|
||||
event.data.end_datetime = unavailable.end_datetime;
|
||||
|
||||
const url = App.Utils.Url.siteUrl('calendar/ajax_save_unavailable');
|
||||
|
||||
const data = {
|
||||
csrf_token: App.Vars.csrf_token,
|
||||
unavailable: unavailable
|
||||
};
|
||||
|
||||
$.post(url, data).done(() => {
|
||||
App.Http.Calendar.saveUnavailable(unavailable).done(() => {
|
||||
$notification.hide('blind');
|
||||
});
|
||||
|
||||
|
@ -1076,25 +1037,19 @@ App.Utils.CalendarDefaultView = (function () {
|
|||
* @param {Object} $calendar The calendar jQuery object.
|
||||
* @param {Number} recordId The selected record id.
|
||||
* @param {String} filterType The filter type, could be either FILTER_TYPE_PROVIDER or FILTER_TYPE_SERVICE.
|
||||
* @param {Date} startDate Visible start date of the calendar.
|
||||
* @param {Date} endDate Visible end date of the calendar.
|
||||
* @param {String} startDate Visible start date of the calendar.
|
||||
* @param {String} endDate Visible end date of the calendar.
|
||||
*/
|
||||
function refreshCalendarAppointments($calendar, recordId, filterType, startDate, endDate) {
|
||||
const url = App.Utils.Url.siteUrl('calendar/ajax_get_calendar_appointments');
|
||||
|
||||
const data = {
|
||||
csrf_token: App.Vars.csrf_token,
|
||||
record_id: recordId,
|
||||
start_date: moment(startDate).format('YYYY-MM-DD'),
|
||||
end_date: moment(endDate).format('YYYY-MM-DD'),
|
||||
filter_type: filterType
|
||||
};
|
||||
|
||||
$('#loading').css('visibility', 'hidden');
|
||||
|
||||
const calendarEventSource = [];
|
||||
|
||||
return $.post(url, data)
|
||||
startDate = moment(startDate).format('YYYY-MM-DD');
|
||||
|
||||
endDate = moment(endDate).format('YYYY-MM-DD');
|
||||
|
||||
App.Http.Calendar.getCalendarAppointments(recordId, filterType, startDate, endDate)
|
||||
.done((response) => {
|
||||
$calendar.fullCalendar('removeEvents');
|
||||
|
||||
|
|
|
@ -17,6 +17,8 @@
|
|||
* Old Name: BackendCalendarGoogleSync
|
||||
*/
|
||||
App.Utils.CalendarGoogleSync = (function () {
|
||||
const $selectFilterItem = $('#select-filter-item');
|
||||
|
||||
/**
|
||||
* Add the utility event listeners.
|
||||
*/
|
||||
|
@ -54,14 +56,9 @@ App.Utils.CalendarGoogleSync = (function () {
|
|||
// Display the calendar selection dialog. First we will get a list of the available
|
||||
// user's calendars and then we will display a selection modal so the user can select
|
||||
// the sync calendar.
|
||||
const url = App.Utils.Url.siteUrl('backend_api/ajax_get_google_calendars');
|
||||
const providerId = $('#select-filter-item').val();
|
||||
|
||||
const data = {
|
||||
csrf_token: App.Vars.csrf_token,
|
||||
provider_id: $('#select-filter-item').val()
|
||||
};
|
||||
|
||||
$.post(url, data).done((response) => {
|
||||
App.Http.Google.getGoogleCalendars(providerId).done((response) => {
|
||||
$('#google-calendar').empty();
|
||||
|
||||
response.forEach((calendar) => {
|
||||
|
@ -103,7 +100,7 @@ App.Utils.CalendarGoogleSync = (function () {
|
|||
provider.settings.google_sync = '0';
|
||||
provider.settings.google_token = null;
|
||||
|
||||
disableProviderSync(provider.id);
|
||||
App.Http.Google.disableProviderSync(provider.id);
|
||||
|
||||
$('#enable-sync').removeClass('btn-secondary enabled').addClass('btn-light');
|
||||
$('#enable-sync span').text(App.Lang.enable_sync);
|
||||
|
@ -123,14 +120,11 @@ App.Utils.CalendarGoogleSync = (function () {
|
|||
* Event: Select Google Calendar "Click"
|
||||
*/
|
||||
$('#select-calendar').on('click', () => {
|
||||
const url = App.Utils.Url.siteUrl('backend_api/ajax_select_google_calendar');
|
||||
const providerId = $('#select-filter-item').val();
|
||||
|
||||
const data = {
|
||||
csrf_token: App.Vars.csrf_token,
|
||||
provider_id: $('#select-filter-item').val(),
|
||||
calendar_id: $('#google-calendar').val()
|
||||
};
|
||||
$.post(url, data).done(() => {
|
||||
const calendarId = $('#google-calendar').val();
|
||||
|
||||
App.Http.Google.selectGoogleCalendar(providerId, calendarId).done(() => {
|
||||
App.Layouts.Backend.displayNotification(App.Lang.google_calendar_selected);
|
||||
$('#select-google-calendar').modal('hide');
|
||||
});
|
||||
|
@ -142,13 +136,9 @@ App.Utils.CalendarGoogleSync = (function () {
|
|||
* Trigger the synchronization algorithm.
|
||||
*/
|
||||
$('#google-sync').on('click', () => {
|
||||
const url = App.Utils.Url.siteUrl('google/sync/' + $('#select-filter-item').val());
|
||||
const providerId = $selectFilterItem.val();
|
||||
|
||||
$.ajax({
|
||||
url: url,
|
||||
type: 'GET',
|
||||
dataType: 'json'
|
||||
})
|
||||
App.Http.Google.syncWithGoogle(providerId)
|
||||
.done(() => {
|
||||
App.Layouts.Backend.displayNotification(App.Lang.google_sync_completed);
|
||||
$('#reload-appointments').trigger('click');
|
||||
|
@ -159,25 +149,6 @@ App.Utils.CalendarGoogleSync = (function () {
|
|||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Disable Provider Sync
|
||||
*
|
||||
* This method disables the Google synchronization for a specific provider.
|
||||
*
|
||||
* @param {Number} providerId The selected provider record ID.
|
||||
*/
|
||||
function disableProviderSync(providerId) {
|
||||
// Make an ajax call to the server in order to disable the setting from the database.
|
||||
const url = App.Utils.Url.siteUrl('backend_api/ajax_disable_provider_sync');
|
||||
|
||||
const data = {
|
||||
csrf_token: App.Vars.csrf_token,
|
||||
provider_id: providerId
|
||||
};
|
||||
|
||||
$.post(url, data);
|
||||
}
|
||||
|
||||
/**
|
||||
* Initialize the module.
|
||||
*/
|
||||
|
|
|
@ -66,7 +66,7 @@ App.Utils.CalendarTableView = (function () {
|
|||
const endDateMoment = startDateMoment.clone().add(dayInterval - 1, 'days');
|
||||
const endDate = endDateMoment.toDate();
|
||||
|
||||
getCalendarEvents(startDate, endDate).done((response) => {
|
||||
App.Http.Calendar.getCalendarAppointmentsForTableView(startDate, endDate).done((response) => {
|
||||
const currentDate = startDate;
|
||||
|
||||
while (currentDate <= endDate) {
|
||||
|
@ -247,27 +247,23 @@ App.Utils.CalendarTableView = (function () {
|
|||
$calendar.on('click', '.delete-popover', (event) => {
|
||||
$(event.target).parents('.popover').popover('dispose'); // Hide the popover.
|
||||
|
||||
let url;
|
||||
let data;
|
||||
|
||||
// If id_role parameter exists the popover is an working plan exception.
|
||||
if (lastFocusedEventData.data.hasOwnProperty('id_roles')) {
|
||||
// Do not display confirmation prompt.
|
||||
url = App.Utils.Url.siteUrl + '/index.php/backend_api/ajax_delete_working_plan_exception';
|
||||
|
||||
data = {
|
||||
csrf_token: App.Vars.csrf_token,
|
||||
working_plan_exception: lastFocusedEventData.start.format('YYYY-MM-DD'),
|
||||
provider_id: lastFocusedEventData.data.id
|
||||
};
|
||||
const date = lastFocusedEventData.start.format('YYYY-MM-DD');
|
||||
|
||||
$.post(url, data).done(() => {
|
||||
const providerId = lastFocusedEventData.data.id;
|
||||
|
||||
App.Http.Calendar.deleteWorkingPlanException(date, providerId).done(() => {
|
||||
$('#message-box').dialog('close');
|
||||
|
||||
const workingPlanExceptions = JSON.parse(
|
||||
lastFocusedEventData.data.settings.working_plan_exceptions
|
||||
);
|
||||
|
||||
delete workingPlanExceptions[lastFocusedEventData.start.format('YYYY-MM-DD')];
|
||||
|
||||
lastFocusedEventData.data.settings.working_plan_exceptions = JSON.stringify(workingPlanExceptions);
|
||||
|
||||
// Refresh calendar event items.
|
||||
|
@ -284,15 +280,11 @@ App.Utils.CalendarTableView = (function () {
|
|||
{
|
||||
text: 'OK',
|
||||
click: () => {
|
||||
url = App.Utils.Url.siteUrl('backend_api/ajax_delete_appointment');
|
||||
const appointmentId = lastFocusedEventData.data.id;
|
||||
|
||||
data = {
|
||||
csrf_token: App.Vars.csrf_token,
|
||||
appointment_id: lastFocusedEventData.data.id,
|
||||
delete_reason: $('#delete-reason').val()
|
||||
};
|
||||
const deleteReason = $('#delete-reason').val();
|
||||
|
||||
$.post(url, data).done(() => {
|
||||
App.Http.Calendar.deleteAppointment(appointmentId, deleteReason).done(() => {
|
||||
$('#message-box').dialog('close');
|
||||
|
||||
// Refresh calendar event items.
|
||||
|
@ -315,14 +307,9 @@ App.Utils.CalendarTableView = (function () {
|
|||
}).appendTo('#message-box');
|
||||
} else {
|
||||
// Do not display confirmation prompt.
|
||||
url = App.Utils.Url.siteUrl + '/index.php/backend_api/ajax_delete_unavailable';
|
||||
const unavailableId = lastFocusedEventData.data.id;
|
||||
|
||||
data = {
|
||||
csrf_token: App.Vars.csrf_token,
|
||||
unavailable_id: lastFocusedEventData.data.id
|
||||
};
|
||||
|
||||
$.post(url, data).done(() => {
|
||||
App.Http.Calendar.deleteUnavailable(unavailableId).done(() => {
|
||||
$('#message-box').dialog('close');
|
||||
|
||||
// Refresh calendar event items.
|
||||
|
@ -1530,14 +1517,7 @@ App.Utils.CalendarTableView = (function () {
|
|||
.add({days: -delta.days(), hours: -delta.hours(), minutes: -delta.minutes()})
|
||||
.format('YYYY-MM-DD HH:mm:ss');
|
||||
|
||||
const url = App.Utils.Url.siteUrl('backend_api/ajax_save_appointment');
|
||||
|
||||
const data = {
|
||||
csrf_token: App.Vars.csrf_token,
|
||||
appointment_data: JSON.stringify(appointment)
|
||||
};
|
||||
|
||||
$.post(url, data).done(() => {
|
||||
App.Http.Calendar.saveAppointment(appointment).done(() => {
|
||||
$('#notification').hide('blind');
|
||||
});
|
||||
|
||||
|
@ -1577,14 +1557,7 @@ App.Utils.CalendarTableView = (function () {
|
|||
.add({minutes: -delta.minutes()})
|
||||
.format('YYYY-MM-DD HH:mm:ss');
|
||||
|
||||
const url = App.Utils.Url.siteUrl + '/index.php/backend_api/ajax_save_unavailable';
|
||||
|
||||
const data = {
|
||||
csrf_token: App.Vars.csrf_token,
|
||||
unavailable: JSON.stringify(unavailable)
|
||||
};
|
||||
|
||||
$.post(url, data).done(() => {
|
||||
App.Http.Calendar.saveUnavailable(unavailable).done(() => {
|
||||
$('#notification').hide('blind');
|
||||
});
|
||||
|
||||
|
@ -1662,14 +1635,7 @@ App.Utils.CalendarTableView = (function () {
|
|||
event.data.start_datetime = appointment.start_datetime;
|
||||
event.data.end_datetime = appointment.end_datetime;
|
||||
|
||||
const url = App.Utils.Url.siteUrl('backend_api/ajax_save_appointment');
|
||||
|
||||
const data = {
|
||||
csrf_token: App.Vars.csrf_token,
|
||||
appointment_data: JSON.stringify(appointment)
|
||||
};
|
||||
|
||||
$.post(url, data).done(() => {
|
||||
App.Http.Calendar.saveAppointment(appointment).done(() => {
|
||||
$('#notification').hide('blind');
|
||||
});
|
||||
|
||||
|
@ -1710,14 +1676,7 @@ App.Utils.CalendarTableView = (function () {
|
|||
event.data.start_datetime = unavailable.start_datetime;
|
||||
event.data.end_datetime = unavailable.end_datetime;
|
||||
|
||||
const url = App.Utils.Url.siteUrl + '/index.php/backend_api/ajax_save_unavailable';
|
||||
|
||||
const data = {
|
||||
csrf_token: App.Vars.csrf_token,
|
||||
unavailable: JSON.stringify(unavailable)
|
||||
};
|
||||
|
||||
$.post(url, data).done(() => {
|
||||
App.Http.Calendar.saveUnavailable(unavailable).done(() => {
|
||||
$('#notification').hide('blind');
|
||||
});
|
||||
|
||||
|
@ -1775,36 +1734,6 @@ App.Utils.CalendarTableView = (function () {
|
|||
$('.calendar-view .not-working').outerHeight((dateColumnHeight > height ? dateColumnHeight : height) - 70);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the calendar events.
|
||||
*
|
||||
* @param {Date} startDate The start date of the selected period.
|
||||
* @param {Date} endDate The end date of the selected period.
|
||||
*
|
||||
* @return {jQuery.jqXHR}
|
||||
*/
|
||||
function getCalendarEvents(startDate, endDate) {
|
||||
const url = App.Utils.Url.siteUrl('backend_api/ajax_get_calendar_events');
|
||||
|
||||
const data = {
|
||||
csrf_token: App.Vars.csrf_token,
|
||||
startDate: moment(startDate).format('YYYY-MM-DD'),
|
||||
endDate: moment(endDate).format('YYYY-MM-DD')
|
||||
};
|
||||
|
||||
return $.ajax({
|
||||
url: url,
|
||||
data: data,
|
||||
method: 'POST',
|
||||
beforeSend: () => {
|
||||
// $('#loading').css('visibility', 'hidden');
|
||||
},
|
||||
complete: () => {
|
||||
// $('#loading').css('visibility', '');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Initialize Page
|
||||
*/
|
||||
|
|
|
@ -252,58 +252,14 @@ window.GeneralFunctions = window.GeneralFunctions || {};
|
|||
* This method requires the global variable 'availableLanguages' to be initialized before the execution.
|
||||
*
|
||||
* @param {Object} $element Selected element button for the language selection.
|
||||
*
|
||||
* @deprecated Since 1.5
|
||||
*/
|
||||
exports.enableLanguageSelection = function ($element) {
|
||||
// Select Language
|
||||
var $languageList = $('<ul/>', {
|
||||
'id': 'language-list',
|
||||
'html': availableLanguages.map(function (availableLanguage) {
|
||||
return $('<li/>', {
|
||||
'class': 'language',
|
||||
'data-language': availableLanguage,
|
||||
'text': GeneralFunctions.upperCaseFirstLetter(availableLanguage)
|
||||
});
|
||||
})
|
||||
});
|
||||
|
||||
$element.popover({
|
||||
placement: 'top',
|
||||
title: 'Select Language',
|
||||
content: $languageList[0],
|
||||
html: true,
|
||||
container: 'body',
|
||||
trigger: 'manual'
|
||||
});
|
||||
|
||||
$element.on('click', function (event) {
|
||||
event.stopPropagation();
|
||||
|
||||
if ($('#language-list').length === 0) {
|
||||
$(this).popover('show');
|
||||
} else {
|
||||
$(this).popover('hide');
|
||||
}
|
||||
|
||||
$(this).toggleClass('active');
|
||||
});
|
||||
|
||||
$(document).on('click', 'li.language', function () {
|
||||
// Change language with ajax call and refresh page.
|
||||
var url = App.Vars.base_url + '/index.php/backend_api/ajax_change_language';
|
||||
|
||||
var data = {
|
||||
csrf_token: App.Vars.csrf_token,
|
||||
language: $(this).attr('data-language')
|
||||
};
|
||||
|
||||
$.post(url, data).done(function () {
|
||||
document.location.reload(true);
|
||||
});
|
||||
});
|
||||
|
||||
$(document).on('click', function () {
|
||||
$element.popover('hide');
|
||||
});
|
||||
console.warn(
|
||||
`Call of deprecated GeneralFunctions.enableLanguageSelection method! Please use the App.Utils.Lang.enableLanguageSelection instead as this method will be removed soon.`
|
||||
);
|
||||
App.Utils.Lang.enableLanguageSelection($element);
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in a new issue