From d912846e41d496623f8d7f1f1dee2eea9dae8036 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=A1lm=C3=A1n=20R=C3=B3zsahegyi?= Date: Sat, 2 Apr 2022 15:58:04 +0200 Subject: [PATCH] Use available quantities in part table, enhance stock badge --- InvenTree/templates/js/translated/part.js | 52 +++++++++++++++-------- 1 file changed, 35 insertions(+), 17 deletions(-) diff --git a/InvenTree/templates/js/translated/part.js b/InvenTree/templates/js/translated/part.js index b0283a1b35..16d6062565 100644 --- a/InvenTree/templates/js/translated/part.js +++ b/InvenTree/templates/js/translated/part.js @@ -1160,12 +1160,14 @@ function partGridTile(part) { if (!part.in_stock) { stock = `{% trans "No Stock" %}`; + } else if (!part.unallocated_stock) { + stock = `{% trans "Not available" %}`; } rows += `{% trans "Stock" %}${stock}`; - if (part.on_order) { - rows += `{$ trans "On Order" %}${part.on_order}`; + if (part.ordering) { + rows += `{% trans "On Order" %}${part.ordering}`; } if (part.building) { @@ -1322,31 +1324,47 @@ function loadPartTable(table, url, options={}) { columns.push(col); col = { - field: 'in_stock', - title: '{% trans "Stock" %}', + field: 'unallocated_stock', + title: '{% trans "Available" %}', searchable: false, formatter: function(value, row) { var link = '?display=part-stock'; - if (value) { + if (row.in_stock) { // There IS stock available for this part // Is stock "low" (below the 'minimum_stock' quantity)? - if (row.minimum_stock && row.minimum_stock > value) { + if (row.minimum_stock && row.minimum_stock > row.in_stock) { value += `{% trans "Low stock" %}`; + } else if (value == 0) { + if (row.ordering) { + // There is no available stock, but stock is on order + value = `0{% trans "On Order" %}: ${row.ordering}`; + link = '?display=purchase-orders'; + } else if (row.building) { + // There is no available stock, but stock is being built + value = `0{% trans "Building" %}: ${row.building}`; + link = '?display=build-orders'; + } else { + // There is no available stock + value = `0{% trans "Not available" %}`; + } } - - } else if (row.on_order) { - // There is no stock available, but stock is on order - value = `0{% trans "On Order" %}: ${row.on_order}`; - link = '?display=purchase-orders'; - } else if (row.building) { - // There is no stock available, but stock is being built - value = `0{% trans "Building" %}: ${row.building}`; - link = '?display=build-orders'; } else { - // There is no stock available - value = `0{% trans "No Stock" %}`; + // There IS NO stock available for this part + + if (row.ordering) { + // There is no stock, but stock is on order + value = `0{% trans "On Order" %}: ${row.ordering}`; + link = '?display=purchase-orders'; + } else if (row.building) { + // There is no stock, but stock is being built + value = `0{% trans "Building" %}: ${row.building}`; + link = '?display=build-orders'; + } else { + // There is no stock + value = `0{% trans "No Stock" %}`; + } } return renderLink(value, `/part/${row.pk}/${link}`);