2
0
mirror of https://github.com/inventree/InvenTree.git synced 2025-07-18 18:56:31 +00:00

Change order of operations for MPTT delete (#10029)

- Refresh first, before accessing data
This commit is contained in:
Oliver
2025-07-15 23:27:25 +10:00
committed by GitHub
parent b7d3da59c0
commit 31eabc9bea

View File

@@ -568,9 +568,6 @@ class InvenTreeTree(MPTTModel):
delete_children = kwargs.pop('delete_children', False) delete_children = kwargs.pop('delete_children', False)
delete_items = kwargs.pop('delete_items', False) delete_items = kwargs.pop('delete_items', False)
tree_id = self.tree_id
parent = getattr(self, self.NODE_PARENT_KEY, None)
# Ensure that we have the latest version of the database object # Ensure that we have the latest version of the database object
try: try:
self.refresh_from_db() self.refresh_from_db()
@@ -580,6 +577,9 @@ class InvenTreeTree(MPTTModel):
'Object %s of type %s no longer exists', str(self), str(self.__class__) 'Object %s of type %s no longer exists', str(self), str(self.__class__)
) )
tree_id = self.tree_id
parent = getattr(self, self.NODE_PARENT_KEY, None)
# When deleting a top level node with multiple children, # When deleting a top level node with multiple children,
# we need to assign a new tree_id to each child node # we need to assign a new tree_id to each child node
# otherwise they will all have the same tree_id (which is not allowed) # otherwise they will all have the same tree_id (which is not allowed)