|
|
@@ -461,6 +461,20 @@ class IPAddressForm(TenancyForm, CustomFieldModelForm):
|
|
|
def clean(self):
|
|
|
super().clean()
|
|
|
|
|
|
+ if self.cleaned_data['interface'] and self.cleaned_data['vminterface'] and self.cleaned_data['fhrpgroup']:
|
|
|
+ self.add_error('interface', "Can only assign an interface, VM interface or FHRP group")
|
|
|
+ self.add_error('vminterface', "Can only assign an interface, VM interface or FHRP group")
|
|
|
+ self.add_error('fhrpgroup', "Can only assign an interface, VM interface or FHRP group")
|
|
|
+ elif self.cleaned_data['interface'] and self.cleaned_data['vminterface']:
|
|
|
+ self.add_error('interface', "Can only assign an interface or VM interface")
|
|
|
+ self.add_error('vminterface', "Can only assign an interface or VM interface")
|
|
|
+ elif self.cleaned_data['interface'] and self.cleaned_data['fhrpgroup']:
|
|
|
+ self.add_error('interface', "Can only assign an interface or FHRP group")
|
|
|
+ self.add_error('fhrpgroup', "Can only assign an interface or FHRP group")
|
|
|
+ elif self.cleaned_data['vminterface'] and self.cleaned_data['fhrpgroup']:
|
|
|
+ self.add_error('vminterface', "Can only assign an VM interface or FHRP group")
|
|
|
+ self.add_error('fhrpgroup', "Can only assign an VM interface or FHRP group")
|
|
|
+
|
|
|
# Handle object assignment
|
|
|
if self.cleaned_data['interface']:
|
|
|
self.instance.assigned_object = self.cleaned_data['interface']
|