mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-24 17:38:37 -06:00
* Fixes #11032 - Replication fields broken in custom validation * Use getattr instead of hasattr to make sure custom validation is triggered as normal --------- Co-authored-by: kkthxbye-code <>
This commit is contained in:
parent
56c7a238a4
commit
91705aa9fd
@ -257,6 +257,10 @@ class CustomValidationMixin(models.Model):
|
|||||||
def clean(self):
|
def clean(self):
|
||||||
super().clean()
|
super().clean()
|
||||||
|
|
||||||
|
# If the instance is a base for replications, skip custom validation
|
||||||
|
if getattr(self, '_replicated_base', False):
|
||||||
|
return
|
||||||
|
|
||||||
# Send the post_clean signal
|
# Send the post_clean signal
|
||||||
post_clean.send(sender=self.__class__, instance=self)
|
post_clean.send(sender=self.__class__, instance=self)
|
||||||
|
|
||||||
|
@ -436,6 +436,10 @@ class ComponentCreateView(GetReturnURLMixin, BaseObjectView):
|
|||||||
form = self.initialize_form(request)
|
form = self.initialize_form(request)
|
||||||
instance = self.alter_object(self.queryset.model(), request)
|
instance = self.alter_object(self.queryset.model(), request)
|
||||||
|
|
||||||
|
# Note that the form instance is a replicated field base
|
||||||
|
# This is needed to avoid running custom validators multiple times
|
||||||
|
form.instance._replicated_base = hasattr(self.form, "replication_fields")
|
||||||
|
|
||||||
if form.is_valid():
|
if form.is_valid():
|
||||||
new_components = []
|
new_components = []
|
||||||
data = deepcopy(request.POST)
|
data = deepcopy(request.POST)
|
||||||
|
Loading…
Reference in New Issue
Block a user