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)