From 81d7d13096b8dd72cc28efca430e8c42fb7391ce Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Sat, 23 May 2026 06:28:24 +0000 Subject: [PATCH] Tweak order of operations --- src/backend/InvenTree/build/models.py | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) 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.