From 3fd0cf67b6fa4460aa687339382ae76c15e655f4 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Thu, 19 Mar 2020 09:01:22 +1100 Subject: [PATCH 1/5] Fix summation of build allocation items --- InvenTree/InvenTree/static/script/inventree/build.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/InvenTree/InvenTree/static/script/inventree/build.js b/InvenTree/InvenTree/static/script/inventree/build.js index aa938ecd53..8ec872bbcb 100644 --- a/InvenTree/InvenTree/static/script/inventree/build.js +++ b/InvenTree/InvenTree/static/script/inventree/build.js @@ -71,7 +71,7 @@ function loadAllocationTable(table, part_id, part, url, required, button) { var count = 0; for (var i = 0; i < results.length; i++) { - count += results[i].quantity; + count += parseFloat(results[i].quantity); } updateAllocationTotal(part_id, count, required); From 15bc457714714c09bfb8b826deda07bf8c5f941d Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Thu, 19 Mar 2020 10:15:43 +1100 Subject: [PATCH 2/5] Improve calculation of BOM item overage --- InvenTree/part/models.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/InvenTree/part/models.py b/InvenTree/part/models.py index 39c61079ea..d8cb8b07e0 100644 --- a/InvenTree/part/models.py +++ b/InvenTree/part/models.py @@ -1198,9 +1198,9 @@ class BomItem(models.Model): overage = str(self.overage).strip() - # Is the overage an integer value? + # Is the overage a numerical value? try: - ovg = int(overage) + ovg = float(overage) if ovg < 0: ovg = 0 @@ -1223,7 +1223,7 @@ class BomItem(models.Model): # Must be represented as a decimal percent = Decimal(percent) - return int(percent * quantity) + return float(percent * quantity) except ValueError: pass @@ -1245,7 +1245,12 @@ class BomItem(models.Model): # Base quantity requirement base_quantity = self.quantity * build_quantity - return base_quantity + self.get_overage_quantity(base_quantity) + # Overage requiremet + ovrg_quantity = self.get_overage_quantity(base_quantity) + + required = float(base_quantity) + float(ovrg_quantity) + + return required @property def price_range(self): From 6fd03801963ed5cc447f740ab28c0e250a68b84a Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Thu, 19 Mar 2020 10:16:58 +1100 Subject: [PATCH 3/5] Display item overage in the allocation list --- InvenTree/build/templates/build/allocation_item.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/InvenTree/build/templates/build/allocation_item.html b/InvenTree/build/templates/build/allocation_item.html index 87b6ba1340..0492e44280 100644 --- a/InvenTree/build/templates/build/allocation_item.html +++ b/InvenTree/build/templates/build/allocation_item.html @@ -18,7 +18,7 @@ {% decimal item.sub_part.total_stock %}
- {% multiply build.quantity item.quantity %} + {% multiply build.quantity item.quantity %}{% if item.overage %} (+ {{ item.overage }}){% endif %}
{% part_allocation_count build item.sub_part %} From 5207b2ba2176b0e7589792cda2c97278d2fef467 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Thu, 19 Mar 2020 10:20:09 +1100 Subject: [PATCH 4/5] Add build status label to part detail --- InvenTree/part/views.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/InvenTree/part/views.py b/InvenTree/part/views.py index c7a1b959fa..1752607d2a 100644 --- a/InvenTree/part/views.py +++ b/InvenTree/part/views.py @@ -38,7 +38,7 @@ from InvenTree.views import AjaxView, AjaxCreateView, AjaxUpdateView, AjaxDelete from InvenTree.views import QRCodeView from InvenTree.helpers import DownloadFile, str2bool -from InvenTree.status_codes import OrderStatus +from InvenTree.status_codes import OrderStatus, BuildStatus class PartIndex(ListView): @@ -593,6 +593,7 @@ class PartDetail(DetailView): context['disabled'] = not part.active context['OrderStatus'] = OrderStatus + context['BuildStatus'] = BuildStatus return context From 01f1ac49e32f9a1d07293b6f6cd163302b536fa7 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Thu, 19 Mar 2020 10:23:41 +1100 Subject: [PATCH 5/5] Improve SupplierPart detail page --- .../templates/company/supplier_part_base.html | 46 +++++++++++++++---- .../templates/company/supplier_part_tabs.html | 3 -- InvenTree/company/urls.py | 2 +- 3 files changed, 39 insertions(+), 12 deletions(-) diff --git a/InvenTree/company/templates/company/supplier_part_base.html b/InvenTree/company/templates/company/supplier_part_base.html index f7e6ce88cc..76f75094f7 100644 --- a/InvenTree/company/templates/company/supplier_part_base.html +++ b/InvenTree/company/templates/company/supplier_part_base.html @@ -21,19 +21,49 @@ InvenTree | {% trans "Supplier Part" %}
- -
- +
+
+

{% trans "Supplier Part Details" %}

+ + + + + + + + {% if part.URL %} + + {% endif %} + {% if part.description %} + + {% endif %} + {% if part.manufacturer %} + + + {% endif %} + {% if part.note %} + + {% endif %} +
{% trans "Internal Part" %} + {% if part.part %} + {{ part.part.full_name }} + {% endif %} +
{% trans "Supplier" %}{{ part.supplier.name }}
{% trans "SKU" %}{{ part.SKU }}
{% trans "URL" %}{{ part.URL }}
{% trans "Description" %}{{ part.description }}
{% trans "Manufacturer" %}{{ part.manufacturer }}
{% trans "MPN" %}{{ part.MPN }}
{% trans "Note" %}{{ part.note }}
+
+ + + +
diff --git a/InvenTree/company/templates/company/supplier_part_tabs.html b/InvenTree/company/templates/company/supplier_part_tabs.html index 0bcd8aa4fa..b3a4389bbd 100644 --- a/InvenTree/company/templates/company/supplier_part_tabs.html +++ b/InvenTree/company/templates/company/supplier_part_tabs.html @@ -1,9 +1,6 @@ {% load i18n %}