Merge pull request #844 from SchrodingersGat/part-validation-fixes

template parts are now allowed to be variants
This commit is contained in:
Oliver 2020-05-29 12:51:08 +10:00 committed by GitHub
commit 55bfdc000b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -262,6 +262,9 @@ class Part(MPTTModel):
if n_refs == 0:
previous.image.delete(save=False)
self.clean()
self.validate_unique()
super().save(*args, **kwargs)
def __str__(self):
@ -433,11 +436,7 @@ class Part(MPTTModel):
def clean(self):
""" Perform cleaning operations for the Part model """
if self.is_template and self.variant_of is not None:
raise ValidationError({
'is_template': _("Part cannot be a template part if it is a variant of another part"),
'variant_of': _("Part cannot be a variant of another part if it is already a template"),
})
super().clean()
name = models.CharField(max_length=100, blank=False,
help_text=_('Part name'),