enable actions for multi (group) orders and ordergroup invoices

This commit is contained in:
viehlieb 2025-05-19 16:37:05 +02:00
parent f676497e43
commit e902aa0d5a
44 changed files with 550 additions and 324 deletions

View file

@ -1,10 +1,11 @@
function doTheDownload(selectedGroupOrderIds, orderId, url, supplier, mode = "all") {
console.log(selectedGroupOrderIds);
if (mode == "all") {
var data = { order_id: orderId }
}
else {
var data = { group_order_ids: selectedGroupOrderIds }
var data = { multi_group_order_ids: selectedGroupOrderIds }
}
if (mode == "all" || selectedGroupOrderIds.length > 0) {
//suppress generic error warning
@ -73,7 +74,6 @@ function doTheDownload(selectedGroupOrderIds, orderId, url, supplier, mode = "al
}
}
$(document).off('change', '[class^="ajax-update-all-link-"] select').on('change', '[class^="ajax-update-all-link-"] select', function () {
var selectedValue = $(this).val();
var url = $(this).closest('a').attr('href');
@ -108,24 +108,66 @@ $(document).off('change', '[class^="ajax-update-link-"] select').on('change', '[
$(document).on('ready turbolinks:load', function () {
$('.expand-trigger').click(function () {
var orderId = $(this).closest('tr').data('order_id');
var expandedRow = $('#expanded-row-' + orderId);
var tableRow = $(this).closest('tr')
var orderId = tableRow.data('order_id');
var multiOrderId = tableRow.data('multi_order_id');
if(multiOrderId != undefined){
var expandedRow = $('#expanded-multi-row-' + multiOrderId);
console.log(multiOrderId);
}
else
{
var expandedRow = $('#expanded-row-' + orderId);
}
// Toggle visibility of the expanded row
expandedRow.slideToggle();
expandedRow.toggleClass('hidden');
tableRow.toggleClass('border');
expandedRow.toggleClass('bordered');
return false; // Prevent the default behavior of the link
});
});
$(document).on('click', '.merge-orders-btn', function () {
const url = $(this).data('url');
const selectedOrderIds = $('input[name="order_ids_for_multi_order[]"]:checked').map(function () {
return $(this).val();
}).get();
if (selectedOrderIds.length === 0) {
alert("Bitte wählen Sie mindestens eine Bestellung aus.");
return;
}
$.ajax({
url: url,
method: 'POST',
data: { order_ids_for_multi_order: selectedOrderIds },
success: function (response) {
window.location.reload();
},
error: function (xhr) {
window.location.reload();
}
});
});
$(document).off('click', '[id^="collective-direct-debit-link-selected-"]').on('click', '[id^="collective-direct-debit-link-selected-"]', function (e) {
e.preventDefault();
var input = "group_order_ids_for_order_"
var orderId = $(this).data("order-id");
var supplier = $(this).data("supplier");
if (orderId == undefined) {
orderId = $(this).data("multi-order-id");
input = "group_order_ids_for_multi_order_"
}
// Extract selected group_order_ids
var selectedGroupOrderIds = $('input[name^="group_order_ids_for_order_' + orderId + '"]:checked').map(function () {
var selectedGroupOrderIds = $('input[name^="'+ input + orderId + '"]:checked').map(function () {
return $(this).val();
}).get();
console.log(selectedGroupOrderIds);
var url = $(this).closest('a').attr('href');
doTheDownload(selectedGroupOrderIds, orderId, url, supplier, "selected");