2
0
mirror of https://github.com/inventree/InvenTree.git synced 2025-04-30 20:46:47 +00:00

Merge pull request #2803 from SchrodingersGat/barcode-fix

Barcode scanning fixes
This commit is contained in:
Oliver 2022-04-06 09:27:42 +10:00 committed by GitHub
commit ac721a544d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 32 additions and 21 deletions

View File

@ -505,7 +505,12 @@ $("#barcode-unlink").click(function() {
}); });
$("#barcode-scan-into-location").click(function() { $("#barcode-scan-into-location").click(function() {
scanItemsIntoLocation([{{ item.id }}]);
inventreeGet('{% url "api-stock-detail" item.pk %}', {}, {
success: function(item) {
scanItemsIntoLocation([item]);
}
});
}); });
function itemAdjust(action) { function itemAdjust(action) {

View File

@ -359,14 +359,13 @@ function unlinkBarcode(stockitem) {
/* /*
* Display dialog to check multiple stock items in to a stock location. * Display dialog to check multiple stock items in to a stock location.
*/ */
function barcodeCheckIn(location_id) { function barcodeCheckIn(location_id, options={}) {
var modal = '#modal-form'; var modal = '#modal-form';
// List of items we are going to checkin // List of items we are going to checkin
var items = []; var items = [];
function reloadTable() { function reloadTable() {
modalEnable(modal, false); modalEnable(modal, false);
@ -389,10 +388,17 @@ function barcodeCheckIn(location_id) {
<tbody>`; <tbody>`;
items.forEach(function(item) { items.forEach(function(item) {
var location_info = `${item.location}`;
if (item.location_detail) {
location_info = `${item.location_detail.name}`;
}
html += ` html += `
<tr pk='${item.pk}'> <tr pk='${item.pk}'>
<td>${imageHoverIcon(item.part_detail.thumbnail)} ${item.part_detail.name}</td> <td>${imageHoverIcon(item.part_detail.thumbnail)} ${item.part_detail.name}</td>
<td>${item.location_detail.name}</td> <td>${location_info}</td>
<td>${item.quantity}</td> <td>${item.quantity}</td>
<td>${makeIconButton('fa-times-circle icon-red', 'button-item-remove', item.pk, '{% trans "Remove stock item" %}')}</td> <td>${makeIconButton('fa-times-circle icon-red', 'button-item-remove', item.pk, '{% trans "Remove stock item" %}')}</td>
</tr>`; </tr>`;
@ -469,6 +475,12 @@ function barcodeCheckIn(location_id) {
data.items = entries; data.items = entries;
// Prevent submission without any entries
if (entries.length == 0) {
showBarcodeMessage(modal, '{% trans "No barcode provided" %}', 'warning');
return;
}
inventreePut( inventreePut(
'{% url "api-stock-transfer" %}', '{% url "api-stock-transfer" %}',
data, data,
@ -477,15 +489,11 @@ function barcodeCheckIn(location_id) {
success: function(response, status) { success: function(response, status) {
// Hide the modal // Hide the modal
$(modal).modal('hide'); $(modal).modal('hide');
if (status == 'success' && 'success' in response) {
addCachedAlert(response.success); if (options.success) {
location.reload(); options.success(response);
} else { } else {
showMessage('{% trans "Error transferring stock" %}', { location.reload();
style: 'danger',
icon: 'fas fa-times-circle',
});
} }
} }
} }
@ -533,7 +541,7 @@ function barcodeCheckIn(location_id) {
/* /*
* Display dialog to check a single stock item into a stock location * Display dialog to check a single stock item into a stock location
*/ */
function scanItemsIntoLocation(item_id_list, options={}) { function scanItemsIntoLocation(item_list, options={}) {
var modal = options.modal || '#modal-form'; var modal = options.modal || '#modal-form';
@ -583,9 +591,10 @@ function scanItemsIntoLocation(item_id_list, options={}) {
var items = []; var items = [];
item_id_list.forEach(function(pk) { item_list.forEach(function(item) {
items.push({ items.push({
pk: pk, pk: item.pk || item.id,
quantity: item.quantity,
}); });
}); });
@ -605,13 +614,10 @@ function scanItemsIntoLocation(item_id_list, options={}) {
// First hide the modal // First hide the modal
$(modal).modal('hide'); $(modal).modal('hide');
if (status == 'success' && 'success' in response) { if (options.success) {
addCachedAlert(response.success); options.success(response);
location.reload();
} else { } else {
showMessage('{% trans "Error transferring stock" %}', { location.reload();
style: 'danger',
});
} }
} }
} }

View File

@ -1972,7 +1972,7 @@ function loadStockTable(table, options) {
var items = []; var items = [];
selections.forEach(function(item) { selections.forEach(function(item) {
items.push(item.pk); items.push(item);
}); });
scanItemsIntoLocation(items); scanItemsIntoLocation(items);