From 5c94366bb5f120df53f4e81b12dc78b5d27f6567 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 16 Oct 2024 18:39:11 +1100 Subject: [PATCH] Clear allocations when manually returning an item into stock from a customer (#8298) (#8300) (cherry picked from commit 181e1dd9ccfc393276152738354905ab2fdd5b6c) Co-authored-by: Oliver --- src/backend/InvenTree/order/models.py | 4 ++-- src/backend/InvenTree/stock/models.py | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/backend/InvenTree/order/models.py b/src/backend/InvenTree/order/models.py index f71c6af52e..54e9aa422a 100644 --- a/src/backend/InvenTree/order/models.py +++ b/src/backend/InvenTree/order/models.py @@ -2196,7 +2196,7 @@ class ReturnOrder(TotalPriceMixin, Order): # endregion @transaction.atomic - def receive_line_item(self, line, location, user, note=''): + def receive_line_item(self, line, location, user, note='', **kwargs): """Receive a line item against this ReturnOrder. Rules: @@ -2222,7 +2222,7 @@ class ReturnOrder(TotalPriceMixin, Order): deltas['customer'] = stock_item.customer.pk # Update the StockItem - stock_item.status = StockStatus.QUARANTINED.value + stock_item.status = kwargs.get('status', StockStatus.QUARANTINED.value) stock_item.location = location stock_item.customer = None stock_item.sales_order = None diff --git a/src/backend/InvenTree/stock/models.py b/src/backend/InvenTree/stock/models.py index 3d74421ddf..efda89edd3 100644 --- a/src/backend/InvenTree/stock/models.py +++ b/src/backend/InvenTree/stock/models.py @@ -1161,10 +1161,12 @@ class StockItem( location=location, ) + # Clear out allocation information for the stock item self.customer = None self.belongs_to = None self.sales_order = None self.location = location + self.clearAllocations() trigger_event('stockitem.returnedfromcustomer', id=self.id)