2
0
mirror of https://github.com/inventree/InvenTree.git synced 2025-05-01 04:56:45 +00:00

Fix error in BomItem creation

This commit is contained in:
Oliver Walters 2019-05-25 21:57:59 +10:00
parent 970257d423
commit ecfde46838

View File

@ -858,13 +858,19 @@ class BomItem(models.Model):
""" """
# A part cannot refer to itself in its BOM # A part cannot refer to itself in its BOM
if self.part == self.sub_part: try:
raise ValidationError({'sub_part': _('Part cannot be added to its own Bill of Materials')}) if self.sub_part is not None and self.part is not None:
if self.part == self.sub_part:
raise ValidationError({'sub_part': _('Part cannot be added to its own Bill of Materials')})
# Test for simple recursion # Test for simple recursion
for item in self.sub_part.bom_items.all(): for item in self.sub_part.bom_items.all():
if self.part == item.sub_part: if self.part == item.sub_part:
raise ValidationError({'sub_part': _("Part '{p1}' is used in BOM for '{p2}' (recursive)".format(p1=str(self.part), p2=str(self.sub_part)))}) raise ValidationError({'sub_part': _("Part '{p1}' is used in BOM for '{p2}' (recursive)".format(p1=str(self.part), p2=str(self.sub_part)))})
except Part.DoesNotExist:
# A blank Part will be caught elsewhere
pass
class Meta: class Meta:
verbose_name = "BOM Item" verbose_name = "BOM Item"