Filter available stock items by Part reference

This commit is contained in:
Oliver Walters 2020-10-04 20:50:06 +11:00
parent f04977e7e1
commit fd22e713ff
2 changed files with 20 additions and 2 deletions

View File

@ -283,8 +283,10 @@ class InstallStockForm(HelperForm):
help_text=_('Stock item to install')
)
quantity = RoundingDecimalFormField(
quantity_to_install = RoundingDecimalFormField(
max_digits=10, decimal_places=5,
initial=1,
label=_('Quantity'),
help_text=_('Stock quantity to assign'),
validators=[
MinValueValidator(0.001)
@ -295,7 +297,7 @@ class InstallStockForm(HelperForm):
model = StockItem
fields = [
'stock_item',
'quantity',
'quantity_to_install',
]

View File

@ -703,6 +703,22 @@ class StockItemInstall(AjaxUpdateView):
form = super().get_form()
queryset = form.fields['stock_item'].queryset
part = self.request.GET.get('part', None)
# Filter the available stock items based on the Part reference
if part:
try:
part = Part.objects.get(pk=part)
queryset = queryset.filter(part=part)
except (ValueError, Part.DoesNotExist):
pass
form.fields['stock_item'].queryset = queryset
return form
def post(self, request, *args, **kwargs):