From 8f8f05af258feb32928908c1c5edd753eea9b3a8 Mon Sep 17 00:00:00 2001 From: Daniel Sheppard Date: Wed, 13 Dec 2023 11:56:57 -0600 Subject: [PATCH] Fix validation when primary IP is moved. --- netbox/ipam/forms/model_forms.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/netbox/ipam/forms/model_forms.py b/netbox/ipam/forms/model_forms.py index 41b31dc76..5caea70b7 100644 --- a/netbox/ipam/forms/model_forms.py +++ b/netbox/ipam/forms/model_forms.py @@ -341,6 +341,17 @@ class IPAddressForm(TenancyForm, NetBoxModelForm): self.fields['vminterface'].disabled = True self.fields['fhrpgroup'].disabled = True + def add_error(self, field, errors): + if errors.error_dict.get('assigned_object', None): + error = errors.error_dict.pop('assigned_object') + if isinstance(self.instance.assigned_object, Interface): + errors.error_dict.update({'interface': error}) + elif isinstance(self.instance.assigned_object, VMInterface): + errors.error_dict.update({'vminterface': error}) + elif isinstance(self.instance.assigned_object, FHRPGroup): + errors.error_dict.update({'fhrpgroup': error}) + super().add_error(field, errors) + def clean(self): super().clean()