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:
commit
ac721a544d
@ -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) {
|
||||||
|
@ -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',
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -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);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user