367 lines
No EOL
18 KiB
JavaScript
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); |