mirror of
https://github.com/netbox-community/netbox.git
synced 2025-08-26 01:06:11 -06:00
Implement requested changes
This commit is contained in:
parent
73891479ae
commit
0b0977d842
@ -354,14 +354,17 @@ class IPAddressForm(TenancyForm, NetBoxModelForm):
|
||||
# Do not allow assigning a network ID or broadcast address to an interface.
|
||||
if interface:
|
||||
if address := self.cleaned_data.get('address'):
|
||||
if address.ip == address.network and address.prefixlen not in (31, 32, 127, 128):
|
||||
self.add_error(
|
||||
'interface',
|
||||
f"{address} is a network ID, which may not be assigned to an interface.")
|
||||
if address.ip == address.network:
|
||||
msg = f"{address} is a network ID, which may not be assigned to an interface."
|
||||
if address.version == 4:
|
||||
if address.prefixlen not in (31, 32):
|
||||
raise ValidationError(msg)
|
||||
if address.version == 6:
|
||||
if address.prefixlen not in (127, 128):
|
||||
raise ValidationError(msg)
|
||||
if address.ip == address.broadcast:
|
||||
self.add_error(
|
||||
'interface',
|
||||
f"{address} is a broadcast address, which may not be assigned to an interface.")
|
||||
msg = f"{address} is a broadcast address, which may not be assigned to an interface."
|
||||
raise ValidationError(msg)
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
ipaddress = super().save(*args, **kwargs)
|
||||
|
Loading…
Reference in New Issue
Block a user