From 06f9c67b11e7969ce868e907f3b4a3ee27b3721f Mon Sep 17 00:00:00 2001 From: Oliver Date: Fri, 27 Apr 2018 23:23:44 +1000 Subject: [PATCH] Prevent part from adding itself as a BOM item --- InvenTree/part/models.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/InvenTree/part/models.py b/InvenTree/part/models.py index dd05862271..582725639d 100644 --- a/InvenTree/part/models.py +++ b/InvenTree/part/models.py @@ -3,6 +3,9 @@ from __future__ import unicode_literals import os +from django.utils.translation import gettext_lazy as _ +from django.core.exceptions import ValidationError + from django.db import models from django.db.models import Sum from django.core.validators import MinValueValidator @@ -348,6 +351,12 @@ class BomItem(models.Model): # Quantity required quantity = models.PositiveIntegerField(default=1, validators=[MinValueValidator(0)]) + def clean(self): + + if self.part == self.sub_part: + raise ValidationError(_('A part cannot contain itself as a BOM item')) + + class Meta: verbose_name = "BOM Item"