From 181e1dd9ccfc393276152738354905ab2fdd5b6c Mon Sep 17 00:00:00 2001 From: Oliver Date: Wed, 16 Oct 2024 17:13:26 +1100 Subject: [PATCH] Clear allocations when manually returning an item into stock from a customer (#8298) --- 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 701d5a66b8..7901cd31d2 100644 --- a/src/backend/InvenTree/order/models.py +++ b/src/backend/InvenTree/order/models.py @@ -2328,7 +2328,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: @@ -2354,7 +2354,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 e29c06c9ab..116845fba4 100644 --- a/src/backend/InvenTree/stock/models.py +++ b/src/backend/InvenTree/stock/models.py @@ -1238,10 +1238,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)