oont-contents/themes/oont-themev2/assets/js/admin/oont-admin.js
2025-02-08 15:10:23 +01:00

367 lines
No EOL
18 KiB
JavaScript

;(function($){
var softoba_items_metabox = {
init: function () {
// $( document.body ).on( 'click', 'button.softoba_accept_button', this.do_refund );
$( document.body ).on( 'click', 'button#softoba_reject_request_button', this.reject );
$( document.body ).on( 'click', 'button#softoba_ex_reject_request_button', this.reject_exchange );
$( document.body ).on( 'click', 'button#softoba_ex_approved_request_button', this.approved_exchange );
$( document.body ).on( 'click', 'button#softoba_processing_request_button', this.processing );
$( document.body ).on( 'click', 'button#softoba_ex_processing_request_button', this.processing_exchange );
$( document.body ).on( 'click', 'button#softoba_on_hold_request_button', this.on_hold );
$( document.body ).on( 'click', 'button#softoba_ex_on_hold_request_button', this.on_hold_exchange );
$( document.body ).on( 'click', 'button#softoba_close_request_button', this.close_request );
$( document.body ).on( 'click', 'button#softoba_ex_close_request_button', this.close_exchange_request );
$( document.body ).on( 'click', '.softoba_close_alert', function () { $( this ).closest( 'div.softoba_alert' ).hide(); } );
this.check_disabled_buttons();
this.update_table_refund_total();
// this.update_table_refund_subtotal();
// this.custom_refund();
},
update_table_refund_total: function () {
$( document.body ).on( 'update_refund_total', function () {
var $refund_total = $( 'td.softoba_refund_total_data' );
var $price_amount_on_buttons = $( 'button span.amount' );
var refund_total = 0;
$( 'input.softoba_item_total' ).each( function (i) {
refund_total += parseFloat( $( this ).val() );
} );
refund_total = accounting.formatNumber( refund_total, softoba_admin_objects.currency_format_num_decimals, '' );
$( '#softoba_refund_amount' ).val( refund_total );
$( this ).trigger( 'check_disabled_buttons', refund_total );
refund_total = accounting.formatMoney( refund_total, {
symbol: softoba_admin_objects.currency_format_symbol,
decimal: softoba_admin_objects.currency_format_decimal_sep,
thousand: softoba_admin_objects.currency_format_thousand_sep,
precision: softoba_admin_objects.currency_format_num_decimals,
format: softoba_admin_objects.currency_format
} );
$refund_total.text( refund_total );
$price_amount_on_buttons.text( refund_total );
} );
},
check_disabled_buttons: function () {
$( document.body ).on( 'check_disabled_buttons', function ( event, refund_total ) {
var $action_buttons = $( 'button.softoba_request_action_button' );
var $api_button = $( '#softoba_api_refund_button' );
var $coupon_button = $( '#softoba_offer_coupon_button' );
var $reject_button = $( 'button#softoba_reject_request_button' );
var $processing_button = $( 'button#softoba_processing_request_button' );
var $on_hold_button = $( 'button#softoba_on_hold_request_button' );
var request_is_closed = !! $( 'input#softoba_request_is_closed' ).val();
var request_status = $( '#softoba_request_status' ).val();
var order_total = parseFloat( $( 'input#softoba_order_total' ).val() );
if ( request_is_closed || refund_total <= 0 || refund_total > order_total ) {
$action_buttons.prop( 'disabled', true );
} else {
$action_buttons.prop( 'disabled', false );
if( $api_button.hasClass( 'disabled' ) ) {
$api_button.prop( 'disabled', true );
}
}
if ( 'softoba-coupon' == request_status ) {
$coupon_button.prop( 'disabled', true );
}
if ( 'softoba-rejected' == request_status ) {
$reject_button.prop( 'disabled', true );
}
if ( 'softoba-processing' == request_status ) {
$processing_button.prop( 'disabled', true );
}
if ( 'softoba-on-hold' == request_status ) {
$on_hold_button.prop( 'disabled', true );
}
if ( 'softoba-approved' == request_status ) {
$on_hold_button.prop( 'disabled', true );
$processing_button.prop( 'disabled', true );
$reject_button.prop( 'disabled', true );
}
} );
$( document.body ).trigger( 'check_disabled_buttons' );
},
reject: function ( e ) {
e.preventDefault();
softoba_items_metabox.block();
var request_id = $( 'input#softoba_request_id' ).val();
if ( window.confirm( softoba_admin_objects.reject ) ) {
var data = {
action: 'softoba_change_status',
softoba_request_id: request_id,
softoba_status: 'softoba-rejected',
security: softoba_admin_objects.change_status_nonce
};
$.post( softoba_admin_objects.ajax_url, data, function( response ) {
if ( true === response.success ) {
softoba_items_metabox.unblock();
window.location.reload();
} else {
window.alert( 'Error: ' + response.data.error );
softoba_items_metabox.unblock();
}
});
} else {
softoba_items_metabox.unblock();
}
},
processing: function ( e ) {
e.preventDefault();
softoba_items_metabox.block();
var request_id = $( 'input#softoba_request_id' ).val();
var data = {
action: 'softoba_change_status',
softoba_request_id: request_id,
softoba_status: 'softoba-processing',
security: softoba_admin_objects.change_status_nonce
};
$.post( softoba_admin_objects.ajax_url, data, function( response ) {
if ( true === response.success ) {
softoba_items_metabox.unblock();
window.location.reload();
} else {
window.alert( 'Error: ' + response.data.error );
softoba_items_metabox.unblock();
}
});
},
on_hold: function ( e ) {
e.preventDefault();
softoba_items_metabox.block();
var request_id = $( 'input#softoba_request_id' ).val();
var data = {
action: 'softoba_change_status',
softoba_request_id: request_id,
softoba_status: 'softoba-on-hold',
security: softoba_admin_objects.change_status_nonce
};
$.post( softoba_admin_objects.ajax_url, data, function( response ) {
if ( true === response.success ) {
softoba_items_metabox.unblock();
window.location.reload();
} else {
window.alert( 'Error: ' + response.data.error );
softoba_items_metabox.unblock();
}
});
},
close_request: function ( e ) {
e.preventDefault();
softoba_items_metabox.block();
var request_id = $( 'input#softoba_request_id' ).val();
if ( window.confirm( softoba_admin_objects.close_request ) ) {
var data = {
action: 'softoba_change_status',
softoba_request_id: request_id,
softoba_status: 'softoba-close-request',
security: softoba_admin_objects.change_status_nonce
};
$.post( softoba_admin_objects.ajax_url, data, function( response ) {
if ( true === response.success ) {
softoba_items_metabox.unblock();
window.location.reload();
} else {
window.alert( 'Error: ' + response.data.error );
softoba_items_metabox.unblock();
}
});
} else {
softoba_items_metabox.unblock();
}
},
check_exchange_disabled_buttons: function () {
$( document.body ).on( 'check_exchange_disabled_buttons', function ( event, refund_total ) {
var $action_buttons = $( 'button.softoba_ex_request_action_button' );
var $api_button = $( '#softoba_ex_api_refund_button' );
var $coupon_button = $( '#softoba_ex_offer_coupon_button' );
var $reject_button = $( 'button#softoba_ex_reject_request_button' );
var $processing_button = $( 'button#softoba_ex_processing_request_button' );
var $on_hold_button = $( 'button#softoba_ex_on_hold_request_button' );
var request_is_closed = !! $( 'input#softoba_ex_request_is_closed' ).val();
var request_status = $( '#softoba_ex_request_status' ).val();
var order_total = parseFloat( $( 'input#softoba_ex_order_total' ).val() );
if ( request_is_closed || refund_total <= 0 || refund_total > order_total ) {
$action_buttons.prop( 'disabled', true );
} else {
$action_buttons.prop( 'disabled', false );
if( $api_button.hasClass( 'disabled' ) ) {
$api_button.prop( 'disabled', true );
}
}
if ( 'softoba-coupon' == request_status ) {
$coupon_button.prop( 'disabled', true );
}
if ( 'softoba-rejected' == request_status ) {
$reject_button.prop( 'disabled', true );
}
if ( 'softoba-processing' == request_status ) {
$processing_button.prop( 'disabled', true );
}
if ( 'softoba-on-hold' == request_status ) {
$on_hold_button.prop( 'disabled', true );
}
if ( 'softoba-approved' == request_status ) {
$on_hold_button.prop( 'disabled', true );
$processing_button.prop( 'disabled', true );
$reject_button.prop( 'disabled', true );
}
} );
$( document.body ).trigger( 'check_exchange_disabled_buttons' );
},
reject_exchange: function ( e ) {
e.preventDefault();
softoba_items_metabox.block();
var request_id = $( 'input#softoba_ex_request_id' ).val();
if ( window.confirm( softoba_admin_objects.reject ) ) {
var data = {
action: 'softoba_ex_change_status',
softoba_request_id: request_id,
softoba_status: 'softoba-rejected',
security: softoba_admin_objects.change_status_nonce
};
$.post( softoba_admin_objects.ajax_url, data, function( response ) {
if ( true === response.success ) {
softoba_items_metabox.unblock();
window.location.reload();
} else {
window.alert( 'Error: ' + response.data.error );
softoba_items_metabox.unblock();
}
});
} else {
softoba_items_metabox.unblock();
}
},
processing_exchange: function ( e ) {
e.preventDefault();
softoba_items_metabox.block();
var request_id = $( 'input#softoba_ex_request_id' ).val();
var data = {
action: 'softoba_ex_change_status',
softoba_request_id: request_id,
softoba_status: 'softoba-processing',
security: softoba_admin_objects.change_status_nonce
};
$.post( softoba_admin_objects.ajax_url, data, function( response ) {
if ( true === response.success ) {
softoba_items_metabox.unblock();
window.location.reload();
} else {
window.alert( 'Error: ' + response.data.error );
softoba_items_metabox.unblock();
}
});
},
on_hold_exchange: function ( e ) {
e.preventDefault();
softoba_items_metabox.block();
var request_id = $( 'input#softoba_ex_request_id' ).val();
var data = {
action: 'softoba_ex_change_status',
softoba_request_id: request_id,
softoba_status: 'softoba-on-hold',
security: softoba_admin_objects.change_status_nonce
};
$.post( softoba_admin_objects.ajax_url, data, function( response ) {
if ( true === response.success ) {
softoba_items_metabox.unblock();
window.location.reload();
} else {
window.alert( 'Error: ' + response.data.error );
softoba_items_metabox.unblock();
}
});
},
approved_exchange: function ( e ) {
e.preventDefault();
softoba_items_metabox.block();
var request_id = $( 'input#softoba_ex_request_id' ).val();
var data = {
action: 'softoba_ex_change_status',
softoba_request_id: request_id,
softoba_status: 'softoba-approved',
security: softoba_admin_objects.change_status_nonce
};
$.post( softoba_admin_objects.ajax_url, data, function( response ) {
if ( true === response.success ) {
softoba_items_metabox.unblock();
window.location.reload();
} else {
window.alert( 'Error: ' + response.data.error );
softoba_items_metabox.unblock();
}
console.log( response );
});
},
close_exchange_request: function ( e ) {
e.preventDefault();
softoba_items_metabox.block();
var request_id = $( 'input#softoba_ex_request_id' ).val();
if ( window.confirm( softoba_admin_objects.close_request ) ) {
var data = {
action: 'softoba_ex_change_status',
softoba_request_id: request_id,
softoba_status: 'softoba-close-request',
security: softoba_admin_objects.change_status_nonce
};
$.post( softoba_admin_objects.ajax_url, data, function( response ) {
if ( true === response.success ) {
softoba_items_metabox.unblock();
window.location.reload();
} else {
window.alert( 'Error: ' + response.data.error );
softoba_items_metabox.unblock();
}
});
} else {
softoba_items_metabox.unblock();
}
},
block: function() {
$( '#softoba-items-metabox' ).block({
message: null,
overlayCSS: {
background: '#fff',
opacity: 0.6
}
});
},
unblock: function() {
$( '#softoba-items-metabox' ).unblock();
},
}
softoba_items_metabox.init();
})(jQuery);