mirror of
https://github.com/inventree/InvenTree.git
synced 2025-07-13 08:21:26 +00:00
Prevent recursive BOMs
- If A has B in its BOM, A cannot be added to the BOM of B
This commit is contained in:
@ -353,9 +353,13 @@ class BomItem(models.Model):
|
||||
|
||||
def clean(self):
|
||||
|
||||
# A part cannot refer to itself in its BOM
|
||||
if self.part == self.sub_part:
|
||||
raise ValidationError(_('A part cannot contain itself as a BOM item'))
|
||||
|
||||
for item in self.sub_part.bom_items.all():
|
||||
if self.part == item.sub_part:
|
||||
raise ValidationError(_("Part '{p1}' is used in BOM for '{p2}' (recursive)".format(p1=str(self.part), p2=str(self.sub_part))))
|
||||
|
||||
class Meta:
|
||||
verbose_name = "BOM Item"
|
||||
|
Reference in New Issue
Block a user