diff --git a/InvenTree/part/models.py b/InvenTree/part/models.py index b7269f3e5e..35872c09ba 100644 --- a/InvenTree/part/models.py +++ b/InvenTree/part/models.py @@ -777,7 +777,8 @@ class Part(MPTTModel): # User can decide whether duplicate IPN (Internal Part Number) values are allowed allow_duplicate_ipn = common.models.InvenTreeSetting.get_setting('PART_ALLOW_DUPLICATE_IPN') - if self.IPN is not None and not allow_duplicate_ipn: + # Raise an error if an IPN is set, and it is a duplicate + if self.IPN and not allow_duplicate_ipn: parts = Part.objects.filter(IPN__iexact=self.IPN) parts = parts.exclude(pk=self.pk) @@ -798,6 +799,10 @@ class Part(MPTTModel): super().clean() + # Strip IPN field + if self.IPN: + self.IPN = self.IPN.strip() + if self.trackable: for part in self.get_used_in().all(): diff --git a/InvenTree/stock/models.py b/InvenTree/stock/models.py index 43593d3283..12131b5b58 100644 --- a/InvenTree/stock/models.py +++ b/InvenTree/stock/models.py @@ -453,10 +453,12 @@ class StockItem(MPTTModel): super().clean() - if self.serial is not None and type(self.serial) is str: + # Strip serial number field + if self.serial: self.serial = self.serial.strip() - if self.batch is not None and type(self.batch) is str: + # Strip batch code field + if self.batch: self.batch = self.batch.strip() try: