diff --git a/src/backend/InvenTree/build/models.py b/src/backend/InvenTree/build/models.py index 18cc69cd8d..c3691c5677 100644 --- a/src/backend/InvenTree/build/models.py +++ b/src/backend/InvenTree/build/models.py @@ -700,11 +700,6 @@ class Build( _('Cannot complete build order with incomplete outputs') ) - self.completion_date = InvenTree.helpers.current_date() - self.completed_by = user - self.status = BuildStatus.COMPLETE.value - self.save() - # Offload background task to complete build allocations InvenTree.tasks.offload_task( build.tasks.complete_build, @@ -714,6 +709,11 @@ class Build( group='build', ) + self.completion_date = InvenTree.helpers.current_date() + self.completed_by = user + self.status = BuildStatus.COMPLETE.value + self.save() + @transaction.atomic def issue_build(self): """Mark the Build as IN PRODUCTION. @@ -791,13 +791,6 @@ class Build( remove_allocated_stock = kwargs.get('remove_allocated_stock', False) remove_incomplete_outputs = kwargs.get('remove_incomplete_outputs', False) - # Date of 'completion' is the date the build was cancelled - self.completion_date = InvenTree.helpers.current_date() - self.completed_by = user - - self.status = BuildStatus.CANCELLED.value - self.save() - # Offload background task to take care of the expensive operations InvenTree.tasks.offload_task( build.tasks.cancel_build, @@ -808,6 +801,13 @@ class Build( group='build', ) + # Date of 'completion' is the date the build was cancelled + self.completion_date = InvenTree.helpers.current_date() + self.completed_by = user + + self.status = BuildStatus.CANCELLED.value + self.save() + @transaction.atomic def deallocate_stock(self, build_line=None, output=None): """Deallocate stock from this Build.