From 5988e847ceb3bac1f871501a15bc63231afd0656 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Tue, 3 Nov 2020 21:01:14 +1100 Subject: [PATCH] Add serial number suggestions --- InvenTree/build/forms.py | 9 +++++++++ InvenTree/build/views.py | 10 ++++++++-- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/InvenTree/build/forms.py b/InvenTree/build/forms.py index 508dd1a45a..24f193865d 100644 --- a/InvenTree/build/forms.py +++ b/InvenTree/build/forms.py @@ -53,6 +53,15 @@ class BuildOutputCreateForm(HelperForm): Form for creating a new build output. """ + def __init__(self, *args, **kwargs): + + build = kwargs.pop('build', None) + + if build: + self.field_placeholder['serial_numbers'] = build.part.getSerialNumberString() + + super().__init__(*args, **kwargs) + field_prefix = { 'serial_numbers': 'fa-hashtag', } diff --git a/InvenTree/build/views.py b/InvenTree/build/views.py index 197ee72e9c..5dd36a6871 100644 --- a/InvenTree/build/views.py +++ b/InvenTree/build/views.py @@ -252,11 +252,17 @@ class BuildOutputCreate(AjaxUpdateView): def get_form(self): - form = super().get_form() - build = self.get_object() part = build.part + context = self.get_form_kwargs() + + # Pass the 'part' through to the form, + # so we can add the next serial number as a placeholder + context['build'] = build + + form = self.form_class(**context) + # If the part is not trackable, hide the serial number input if not part.trackable: form.fields['serial_numbers'].widget = HiddenInput()