Prevent stock item being added as an installed item inside itself

This commit is contained in:
Oliver Walters 2021-02-18 18:01:41 +11:00
parent ef23ab1abc
commit a9f255be85

View File

@ -715,16 +715,21 @@ class StockItem(MPTTModel):
for item in items: for item in items:
# Prevent recursion # Prevent duplication or recursion
if item not in installed: if item == self or item in installed:
continue
installed.add(item) installed.add(item)
if cascade: if cascade:
sub_items = item.get_installed_items(cascade=True) sub_items = item.get_installed_items(cascade=True)
for sub_item in sub_items: for sub_item in sub_items:
# Prevent recursion # Prevent recursion
if sub_item not in installed: if sub_item == self or sub_item in installed:
continue
installed.add(sub_item) installed.add(sub_item)
return installed return installed