PluginProbe ʕ •ᴥ•ʔ
LatePoint – Calendar Booking Plugin for Appointments and Events / 5.1.3
LatePoint – Calendar Booking Plugin for Appointments and Events v5.1.3
5.6.6 5.6.5 5.6.4 5.6.3 5.6.2 5.6.1 5.6.0 5.5.2 5.5.1 5.5.0 5.4.2 trunk 5.1.0 5.1.1 5.1.2 5.1.3 5.1.4 5.1.5 5.1.6 5.1.7 5.1.8 5.1.9 5.1.91 5.1.92 5.1.93 5.1.94 5.2.0 5.2.1 5.2.10 5.2.11 5.2.2 5.2.3 5.2.4 5.2.5 5.2.6 5.2.7 5.2.8 5.2.9 5.3.0 5.3.1 5.3.2 5.4.0 5.4.1
latepoint / lib / assets / javascripts / bin / admin / _customers.js
latepoint / lib / assets / javascripts / bin / admin Last commit date
_agents.js 1 year ago _calendar.js 1 year ago _chart.js 1 year ago _customers.js 1 year ago _orders.js 1 year ago _processes.js 1 year ago _steps.js 1 year ago _stripe_connect.js 1 year ago main.js 1 year ago updates.js 1 year ago
_customers.js
88 lines
1 /*
2 * Copyright (c) 2024 LatePoint LLC. All rights reserved.
3 */
4
5 function latepoint_init_quick_customer_form(){
6 let $customer_form_wrapper = jQuery('.quick-customer-form-w');
7 latepoint_init_input_masks($customer_form_wrapper);
8
9
10 $customer_form_wrapper.find('.customer-quick-edit-form').on('submit', function(e){
11 if(jQuery(this).find('button[type="submit"]').hasClass('os-loading')) return false;
12 e.preventDefault();
13 latepoint_submit_quick_customer_form();
14 });
15
16
17 $customer_form_wrapper.find('.quick-customer-form-view-log-btn').on('click', function(){
18 var $trigger_elem = jQuery(this);
19 $trigger_elem.addClass('os-loading');
20 var route = $trigger_elem.data('route');
21 var data = { action: 'latepoint_route_call', route_name: route, params: {customer_id: $trigger_elem.data('customer-id')}, return_format: 'json' }
22 jQuery.ajax({
23 type : "post",
24 dataType : "json",
25 url : latepoint_timestamped_ajaxurl(),
26 data : data,
27 success: function(response){
28 $trigger_elem.removeClass('os-loading');
29 if(response.status === "success"){
30 latepoint_display_in_side_sub_panel(response.message);
31 jQuery('body').addClass('has-side-sub-panel');
32 }else{
33 alert(response.message, 'error');
34 }
35 }
36 });
37 return false;
38 });
39 }
40
41
42 function latepoint_submit_quick_customer_form(){
43 let $quick_edit_form = jQuery('form.customer-quick-edit-form');
44
45 let errors = latepoint_validate_form($quick_edit_form);
46 if(errors.length){
47 let error_messages = errors.map(error => error.message ).join(', ');
48 latepoint_add_notification(error_messages, 'error');
49 return false;
50 }
51
52 $quick_edit_form.find('button[type="submit"]').addClass('os-loading');
53 jQuery.ajax({
54 type: "post",
55 dataType: "json",
56 processData: false,
57 contentType: false,
58 url: latepoint_timestamped_ajaxurl(),
59 data: latepoint_create_form_data($quick_edit_form),
60 success: function (response) {
61 $quick_edit_form.find('button[type="submit"]').removeClass('os-loading');
62 if(response.form_values_to_update){
63 jQuery.each(response.form_values_to_update, function(name, value){
64 $quick_edit_form.find('[name="'+ name +'"]').val(value);
65 });
66 }
67 if (response.status === "success") {
68 latepoint_add_notification(response.message);
69 latepoint_reload_after_customer_save();
70 }else{
71 latepoint_add_notification(response.message, 'error');
72 }
73 }
74 });
75
76 }
77
78
79
80 function latepoint_reload_after_customer_save(){
81 latepoint_reload_calendar_view();
82
83 jQuery('.os-widget').each(function(){
84 latepoint_reload_widget(jQuery(this));
85 });
86 if(jQuery('table.os-reload-on-booking-update').length) latepoint_filter_table(jQuery('table.os-reload-on-booking-update'), jQuery('table.os-reload-on-booking-update'));
87 latepoint_close_side_panel();
88 }