diff --git a/inventory/models.py b/inventory/models.py index 0a9feba5..6b4e3619 100644 --- a/inventory/models.py +++ b/inventory/models.py @@ -2742,6 +2742,21 @@ class Vendor(models.Model, LocalizedNameMixin): models.Index(fields=["crn"], name="vendor_crn_idx"), models.Index(fields=["vrn"], name="vendor_vrn_idx"), ] + constraints = [ + models.UniqueConstraint( + fields=["dealer", "crn"], name="unique_crn_per_dealer" + ), + models.UniqueConstraint( + fields=["dealer", "vrn"], name="unique_vrn_per_dealer" + ), + models.UniqueConstraint( + fields=["dealer", "email"], name="unique_email_per_dealer" + ), + models.UniqueConstraint( + fields=["dealer", "phone_number"], name="unique_phone_number_per_dealer" + ), + ] + def __str__(self): return self.name diff --git a/inventory/views.py b/inventory/views.py index f9be7e6c..79b7aaf3 100644 --- a/inventory/views.py +++ b/inventory/views.py @@ -3654,7 +3654,7 @@ class UserCreateView( # return self.form_invalid(form) email = form.cleaned_data["email"] - if models.Staff.objects.filter(dealer=dealer,user__email=email).exists() or models.Dealer.objects.filter(user__email=email).exists(): + if models.Staff.objects.filter(user__email=email).exists() or models.Dealer.objects.filter(user__email=email).exists(): messages.error( self.request, _(