From b12bd3bb4b9bc7999be24a127adc0d8549c450ae Mon Sep 17 00:00:00 2001 From: Oliver Date: Thu, 26 Sep 2024 22:54:45 +1000 Subject: [PATCH] Ensure that stock item trees are rebuilt correctly after serialization (#8193) - No idea how this has not been detected previously --- src/backend/InvenTree/stock/models.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/backend/InvenTree/stock/models.py b/src/backend/InvenTree/stock/models.py index 23bed7c61f..b9eddcd07b 100644 --- a/src/backend/InvenTree/stock/models.py +++ b/src/backend/InvenTree/stock/models.py @@ -1577,6 +1577,13 @@ class StockItem( # Remove the equivalent number of items self.take_stock(quantity, user, notes=notes) + # Rebuild the stock tree + try: + StockItem.objects.partial_rebuild(tree_id=self.tree_id) + except Exception: + logger.warning('Failed to rebuild stock tree during serializeStock') + StockItem.objects.rebuild() + @transaction.atomic def copyHistoryFrom(self, other): """Copy stock history from another StockItem.""" @@ -1811,7 +1818,7 @@ class StockItem( for tree_id in tree_ids: StockItem.objects.partial_rebuild(tree_id=tree_id) except Exception: - logger.warning('Rebuilding entire StockItem tree') + logger.warning('Rebuilding entire StockItem tree during merge_stock_items') StockItem.objects.rebuild() @transaction.atomic