diff --git a/InvenTree/build/forms.py b/InvenTree/build/forms.py index 24f193865d..ba7787798d 100644 --- a/InvenTree/build/forms.py +++ b/InvenTree/build/forms.py @@ -66,7 +66,7 @@ class BuildOutputCreateForm(HelperForm): 'serial_numbers': 'fa-hashtag', } - quantity = forms.IntegerField( + output_quantity = forms.IntegerField( label=_('Quantity'), help_text=_('Enter quantity for build output'), ) @@ -86,7 +86,7 @@ class BuildOutputCreateForm(HelperForm): class Meta: model = Build fields = [ - 'quantity', + 'output_quantity', 'batch', 'serial_numbers', 'confirm', diff --git a/InvenTree/build/models.py b/InvenTree/build/models.py index 6634b69cdf..a18328be1a 100644 --- a/InvenTree/build/models.py +++ b/InvenTree/build/models.py @@ -182,6 +182,14 @@ class Build(MPTTModel): blank=True, help_text=_('Extra build notes') ) + @property + def active(self): + """ + Return True if this build is active + """ + + return self.status in BuildStatus.ACTIVE_CODES + @property def bom_items(self): """ @@ -594,6 +602,9 @@ class Build(MPTTModel): - Mark the output as complete """ + # Select the location for the build output + location = kwargs.get('location', self.destination) + # List the allocated BuildItem objects for the given output allocated_items = output.items_to_install.all() @@ -613,6 +624,7 @@ class Build(MPTTModel): # Ensure that the output is updated correctly output.build = self output.is_building = False + output.location = location output.save() diff --git a/InvenTree/build/templates/build/allocate.html b/InvenTree/build/templates/build/allocate.html index e811c37ce8..aa45aa5054 100644 --- a/InvenTree/build/templates/build/allocate.html +++ b/InvenTree/build/templates/build/allocate.html @@ -21,6 +21,7 @@ InvenTree | Allocate Parts {% else %}
+ {% if build.active %} @@ -32,6 +33,7 @@ InvenTree | Allocate Parts + {% endif %}

@@ -74,7 +76,7 @@ InvenTree | Allocate Parts ); {% endfor %} - {% if build.status == BuildStatus.PENDING %} + {% if build.active %} $("#btn-allocate").on('click', function() { launchModalForm( "{% url 'build-auto-allocate' build.id %}", diff --git a/InvenTree/build/views.py b/InvenTree/build/views.py index 5dd36a6871..1355738a9c 100644 --- a/InvenTree/build/views.py +++ b/InvenTree/build/views.py @@ -188,7 +188,7 @@ class BuildOutputCreate(AjaxUpdateView): Validation for the form: """ - quantity = form.cleaned_data.get('quantity', None) + quantity = form.cleaned_data.get('output_quantity', None) serials = form.cleaned_data.get('serial_numbers', None) # Check that the serial numbers are valid @@ -222,7 +222,7 @@ class BuildOutputCreate(AjaxUpdateView): data = form.cleaned_data - quantity = data.get('quantity', None) + quantity = data.get('output_quantity', None) batch = data.get('batch', None) serials = data.get('serial_numbers', None)