diff --git a/InvenTree/part/forms.py b/InvenTree/part/forms.py index cb6ae9c70b..09e9c75f3b 100644 --- a/InvenTree/part/forms.py +++ b/InvenTree/part/forms.py @@ -136,6 +136,7 @@ class EditBomItemForm(HelperForm): 'part', 'sub_part', 'quantity', + 'reference', 'overage', 'note' ] diff --git a/InvenTree/part/serializers.py b/InvenTree/part/serializers.py index eaea7ecebc..b3d8c17b12 100644 --- a/InvenTree/part/serializers.py +++ b/InvenTree/part/serializers.py @@ -166,6 +166,7 @@ class BomItemSerializer(InvenTreeModelSerializer): 'sub_part', 'sub_part_detail', 'quantity', + 'reference', 'price_range', 'overage', 'note', diff --git a/InvenTree/static/script/inventree/bom.js b/InvenTree/static/script/inventree/bom.js index 0f3134c193..47a3151f43 100644 --- a/InvenTree/static/script/inventree/bom.js +++ b/InvenTree/static/script/inventree/bom.js @@ -63,33 +63,39 @@ function loadBomTable(table, options) { } ); + // Part reference + cols.push({ + field: 'reference', + title: 'Reference', + searchable: true, + sortable: true, + }); + // Part quantity - cols.push( - { - field: 'quantity', - title: 'Required', - searchable: false, - sortable: true, - formatter: function(value, row, index, field) { - var text = value; + cols.push({ + field: 'quantity', + title: 'Quantity', + searchable: false, + sortable: true, + formatter: function(value, row, index, field) { + var text = value; - if (row.overage) { - text += " (+" + row.overage + ") "; - } + if (row.overage) { + text += " (+" + row.overage + ") "; + } - return text; - }, - footerFormatter: function(data) { - var quantity = 0; + return text; + }, + footerFormatter: function(data) { + var quantity = 0; - data.forEach(function(item) { - quantity += item.quantity; - }); + data.forEach(function(item) { + quantity += item.quantity; + }); - return quantity; - }, - } - ); + return quantity; + }, + }); if (!options.editable) { cols.push(