132 lines
3.5 KiB
JavaScript
132 lines
3.5 KiB
JavaScript
/**
|
|
* Copyright 2021-2021 InPost S.A.
|
|
*
|
|
* NOTICE OF LICENSE
|
|
*
|
|
* Licensed under the EUPL-1.2 or later.
|
|
* You may not use this work except in compliance with the Licence.
|
|
*
|
|
* You may obtain a copy of the Licence at:
|
|
* https://joinup.ec.europa.eu/software/page/eupl
|
|
* It is also bundled with this package in the file LICENSE.txt
|
|
*
|
|
* Unless required by applicable law or agreed to in writing,
|
|
* software distributed under the Licence is distributed on an AS IS basis,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the Licence for the specific language governing permissions
|
|
* and limitations under the Licence.
|
|
*
|
|
* @author InPost S.A.
|
|
* @copyright 2021-2021 InPost S.A.
|
|
* @license https://joinup.ec.europa.eu/software/page/eupl
|
|
*/
|
|
$(document).ready(function () {
|
|
$(document).on('click', '.js-inpost-bulk-create-shipments', function (e) {
|
|
e.preventDefault();
|
|
|
|
submitBulkCreateShipments(function (response) {
|
|
if ('redirect' in response) {
|
|
window.location.href = response.redirect;
|
|
}
|
|
});
|
|
});
|
|
|
|
$(document).on('click', '.js-inpost-bulk-create-print-shipments', function (e) {
|
|
e.preventDefault();
|
|
|
|
openPrintLabelModal($(this).data('action'));
|
|
});
|
|
|
|
$(document).on('click', '.js-submit-print-label-form', function (e) {
|
|
e.preventDefault();
|
|
|
|
submitBulkCreateShipments(function (response) {
|
|
if ('shipmentIds' in response) {
|
|
const formData = new FormData();
|
|
$(response.shipmentIds).each(function (idx, value) {
|
|
formData.append('inpost_shipmentBox[]', value);
|
|
});
|
|
|
|
submitPrintLabelForm(function (response) {
|
|
if ('errors' in response) {
|
|
displayAjaxErrors(response.errors);
|
|
}
|
|
}, formData);
|
|
}
|
|
});
|
|
});
|
|
|
|
$(document).on('click', '.js-inpost-bulk-create-dispatch-orders', function (e) {
|
|
e.preventDefault();
|
|
|
|
openDispatchOrderModal($(this).data('action'));
|
|
});
|
|
|
|
$(document).on('click', '.js-submit-dispatch-order-form', function (e) {
|
|
e.preventDefault();
|
|
|
|
submitDispatchOrderForm(getOrderBoxData());
|
|
});
|
|
|
|
$(document).on('click', '.js-inpost-bulk-print-dispatch-orders', function(e) {
|
|
e.preventDefault();
|
|
|
|
inPostShippingXhr({
|
|
type: 'POST',
|
|
url: $(this).data('action'),
|
|
data: getOrderBoxData(),
|
|
callbackBlob: blobFileDownload,
|
|
callbackJson: function (response) {
|
|
if ('errors' in response) {
|
|
displayAjaxErrors(response.errors);
|
|
}
|
|
},
|
|
});
|
|
});
|
|
|
|
$(document).on('click', '.js-inpost-bulk-refresh-shipment-status', function (e) {
|
|
e.preventDefault();
|
|
|
|
inPostShippingXhr({
|
|
type: 'POST',
|
|
url: $(this).data('action'),
|
|
data: getOrderBoxData(),
|
|
callbackJson: function (response) {
|
|
if ('errors' in response) {
|
|
displayAjaxErrors(response.errors);
|
|
} else {
|
|
displayAjaxSuccess(response.message);
|
|
}
|
|
},
|
|
});
|
|
});
|
|
});
|
|
|
|
function submitBulkCreateShipments(callback) {
|
|
inPostShippingXhr({
|
|
type: 'POST',
|
|
url: $('.js-inpost-bulk-create-shipments').data('action'),
|
|
data: getOrderBoxData(),
|
|
callbackJson: function (response) {
|
|
if ('errors' in response) {
|
|
displayAjaxErrors(response.errors);
|
|
}
|
|
|
|
callback(response);
|
|
},
|
|
});
|
|
}
|
|
|
|
function getOrderBoxData() {
|
|
const formData = new FormData();
|
|
const boxes = shopIs177
|
|
? $('.js-bulk-action-checkbox:checked')
|
|
: $('#form-order input[name="orderBox[]"]:checked');
|
|
|
|
boxes.each(function () {
|
|
formData.append('orderIds[]', $(this).val());
|
|
});
|
|
|
|
return formData;
|
|
}
|