From 2c5bb6b126c73423eb4357a19a058f114b0ddf85 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Thu, 9 May 2019 18:43:22 +1000 Subject: [PATCH] Hide supplier_part field if the part cannot be purchased --- InvenTree/stock/views.py | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/InvenTree/stock/views.py b/InvenTree/stock/views.py index 314d3c99f6..cd9fb615af 100644 --- a/InvenTree/stock/views.py +++ b/InvenTree/stock/views.py @@ -143,9 +143,13 @@ class StockItemEdit(AjaxUpdateView): item = self.get_object() - query = form.fields['supplier_part'].queryset - query = query.filter(part=item.part.id) - form.fields['supplier_part'].queryset = query + # If the part cannot be purchased, hide the supplier_part field + if not item.part.purchaseable: + form.fields['supplier_part'].widget = HiddenInput() + else: + query = form.fields['supplier_part'].queryset + query = query.filter(part=item.part.id) + form.fields['supplier_part'].queryset = query return form @@ -206,6 +210,11 @@ class StockItemCreate(AjaxCreateView): part = Part.objects.get(id=part_id) parts = form.fields['supplier_part'].queryset parts = parts.filter(part=part.id) + + # If the part is NOT purchaseable, hide the supplier_part field + if not part.purchaseable: + form.fields['supplier_part'].widget = HiddenInput() + form.fields['supplier_part'].queryset = parts # If there is one (and only one) supplier part available, pre-select it