diff --git a/InvenTree/company/serializers.py b/InvenTree/company/serializers.py index 6d5911749b..14a080317a 100644 --- a/InvenTree/company/serializers.py +++ b/InvenTree/company/serializers.py @@ -337,6 +337,7 @@ class SupplierPartSerializer(InvenTreeTagModelSerializer): read_only_fields = [ 'availability_updated', 'barcode_hash', + 'pack_quantity_native', ] tags = TagListSerializerField(required=False) @@ -375,6 +376,8 @@ class SupplierPartSerializer(InvenTreeTagModelSerializer): in_stock = serializers.FloatField(read_only=True) available = serializers.FloatField(required=False) + pack_quantity_native = serializers.FloatField(read_only=True) + part_detail = PartBriefSerializer(source='part', many=False, read_only=True) supplier_detail = CompanyBriefSerializer(source='supplier', many=False, read_only=True) diff --git a/InvenTree/templates/js/translated/part.js b/InvenTree/templates/js/translated/part.js index 3ededcf28c..4babf49dd2 100644 --- a/InvenTree/templates/js/translated/part.js +++ b/InvenTree/templates/js/translated/part.js @@ -1812,12 +1812,13 @@ function loadPartPurchaseOrderTable(table, part_id, options={}) { formatter: function(value, row) { let data = value; - if (row.supplier_part_detail.pack_quantity_native != 1.0) { - let total = value * row.supplier_part_detail.pack_quantity_native; + if (row.supplier_part_detail && row.supplier_part_detail.pack_quantity_native != 1.0) { + let pq = row.supplier_part_detail.pack_quantity_native; + let total = value * pq; data += makeIconBadge( 'fa-info-circle icon-blue', - `{% trans "Pack Quantity" %}: ${row.pack_quantity} - {% trans "Total Quantity" %}: ${total}` + `{% trans "Pack Quantity" %}: ${pq} - {% trans "Total Quantity" %}: ${total}` ); } @@ -1870,9 +1871,10 @@ function loadPartPurchaseOrderTable(table, part_id, options={}) { formatter: function(value, row) { var data = value; - if (value > 0 && row.supplier_part_detail.pack_quantity_native != 1.0) { - let total = value * row.supplier_part_detail.pack_quantity_native; - data += ``; + if (value > 0 && row.supplier_part_detail && row.supplier_part_detail.pack_quantity_native != 1.0) { + let pq = row.supplier_part_detail.pack_quantity_native; + let total = value * pq; + data += ``; } return data;