2
0
mirror of https://github.com/inventree/InvenTree.git synced 2025-06-18 13:05:42 +00:00

Refactor BOM item deletion

- Send delete requests sequentially, rather than simultaneously
- Prevents server overload
- Present a much cleaner dialog to the user
This commit is contained in:
Oliver Walters
2022-05-16 22:51:34 +10:00
parent 1903ac12cd
commit 6658b89946
2 changed files with 93 additions and 34 deletions

View File

@ -589,32 +589,15 @@
// Get a list of the selected BOM items
var rows = $("#bom-table").bootstrapTable('getSelections');
// TODO - In the future, display (in the dialog) which items are going to be deleted
if (rows.length == 0) {
rows = $('#bom-table').bootstrapTable('getData');
}
showQuestionDialog(
'{% trans "Delete selected BOM items?" %}',
'{% trans "All selected BOM items will be deleted" %}',
{
accept: function() {
// Keep track of each DELETE request
var requests = [];
rows.forEach(function(row) {
requests.push(
inventreeDelete(
`/api/bom/${row.pk}/`,
)
);
});
// Wait for *all* the requests to complete
$.when.apply($, requests).done(function() {
location.reload();
});
}
deleteBomItems(rows, {
success: function() {
$('#bom-table').bootstrapTable('refresh');
}
);
});
});
$('#bom-upload').click(function() {