Fixes #1907: Allow removing an IP as the primary for a device when editing the IP directly

This commit is contained in:
Jeremy Stretch 2018-02-26 14:13:34 -05:00
parent 972f9be291
commit 5ed797cfc9

View File

@ -520,17 +520,14 @@ class IPAddressForm(BootstrapMixin, TenancyForm, ReturnURLForm, CustomFieldForm)
parent.save() parent.save()
# Clear assignment as primary for device if set. # Clear assignment as primary for device if set.
else: elif self.cleaned_data['interface']:
try: parent = self.cleaned_data['interface'].parent
if ipaddress.address.version == 4: if ipaddress.address.version == 4 and parent.primary_ip4 == self:
device = ipaddress.primary_ip4_for parent.primary_ip4 = None
device.primary_ip4 = None parent.save()
else: elif ipaddress.address.version == 6 and parent.primary_ip6 == self:
device = ipaddress.primary_ip6_for parent.primary_ip6 = None
device.primary_ip6 = None parent.save()
device.save()
except Device.DoesNotExist:
pass
return ipaddress return ipaddress