Closes #685: When assigning an IP to a device, automaitcally select the interface if only one exists

This commit is contained in:
Jeremy Stretch 2016-11-11 15:29:40 -05:00
parent c7f7ab0f5d
commit bf22db1cf1

View File

@ -1252,10 +1252,15 @@ class IPAddressForm(BootstrapMixin, CustomFieldForm):
self.fields['vrf'].empty_label = 'Global'
self.fields['interface'].queryset = device.interfaces.all()
interfaces = device.interfaces.all()
self.fields['interface'].queryset = interfaces
self.fields['interface'].required = True
# If this device does not have any IP addresses assigned, default to setting the first IP as its primary
# If this device has only one interface, select it by default.
if len(interfaces) == 1:
self.fields['interface'].initial = interfaces[0]
# If this device does not have any IP addresses assigned, default to setting the first IP as its primary.
if not IPAddress.objects.filter(interface__device=device).count():
self.fields['set_as_primary'].initial = True