diff --git a/InvenTree/part/models.py b/InvenTree/part/models.py index 7025ae20ce..536ed50798 100644 --- a/InvenTree/part/models.py +++ b/InvenTree/part/models.py @@ -636,7 +636,7 @@ class Part(models.Model): if min_price is None: return None else: - return min_price * quantity + return min_price def get_max_supplier_price(self, quantity=1): """ Return the maximum price of this part from all available suppliers. @@ -662,7 +662,7 @@ class Part(models.Model): if max_price is None: return None else: - return max_price * quantity + return max_price def get_min_bom_price(self, quantity=1): """ Return the minimum price of the BOM for this part. @@ -989,3 +989,8 @@ class BomItem(models.Model): base_quantity = self.quantity * build_quantity return base_quantity + self.get_overage_quantity(base_quantity) + + @property + def price_info(self): + """ Return the price for this item in the BOM """ + return self.sub_part.get_price_info(self.quantity) \ No newline at end of file diff --git a/InvenTree/part/serializers.py b/InvenTree/part/serializers.py index 9415cdbfb0..593f7003f9 100644 --- a/InvenTree/part/serializers.py +++ b/InvenTree/part/serializers.py @@ -108,6 +108,7 @@ class BomItemSerializer(InvenTreeModelSerializer): part_detail = PartBriefSerializer(source='part', many=False, read_only=True) sub_part_detail = PartBriefSerializer(source='sub_part', many=False, read_only=True) + price_info = serializers.CharField(read_only=True) class Meta: model = BomItem @@ -118,6 +119,7 @@ class BomItemSerializer(InvenTreeModelSerializer): 'sub_part', 'sub_part_detail', 'quantity', + 'price_info', 'overage', 'note', ] diff --git a/InvenTree/static/script/inventree/bom.js b/InvenTree/static/script/inventree/bom.js index f71353fce7..6e00eabe67 100644 --- a/InvenTree/static/script/inventree/bom.js +++ b/InvenTree/static/script/inventree/bom.js @@ -153,7 +153,7 @@ function loadBomTable(table, options) { ); cols.push({ - field: 'sub_part_detail.single_price_info', + field: 'price_info', title: 'Price', sortable: true, formatter: function(value, row, index, field) {