mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-14 01:41:22 -06:00
Closes #1630: Enable bulk editing of prefix/IP mask length
This commit is contained in:
parent
3101a86381
commit
209a9f0ffc
@ -2,6 +2,7 @@ v2.5.3 (FUTURE)
|
|||||||
|
|
||||||
## Enhancements
|
## Enhancements
|
||||||
|
|
||||||
|
* [#1630](https://github.com/digitalocean/netbox/issues/1630) - Enable bulk editing of prefix/IP mask length
|
||||||
* [#2693](https://github.com/digitalocean/netbox/issues/2693) - Additional cable colors
|
* [#2693](https://github.com/digitalocean/netbox/issues/2693) - Additional cable colors
|
||||||
* [#2726](https://github.com/digitalocean/netbox/issues/2726) - Include cables in global search
|
* [#2726](https://github.com/digitalocean/netbox/issues/2726) - Include cables in global search
|
||||||
|
|
||||||
|
@ -422,6 +422,11 @@ class PrefixBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldBulkEditF
|
|||||||
required=False,
|
required=False,
|
||||||
label='VRF'
|
label='VRF'
|
||||||
)
|
)
|
||||||
|
prefix_length = forms.IntegerField(
|
||||||
|
min_value=1,
|
||||||
|
max_value=127,
|
||||||
|
required=False
|
||||||
|
)
|
||||||
tenant = forms.ModelChoiceField(
|
tenant = forms.ModelChoiceField(
|
||||||
queryset=Tenant.objects.all(),
|
queryset=Tenant.objects.all(),
|
||||||
required=False
|
required=False
|
||||||
@ -819,6 +824,11 @@ class IPAddressBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldBulkEd
|
|||||||
required=False,
|
required=False,
|
||||||
label='VRF'
|
label='VRF'
|
||||||
)
|
)
|
||||||
|
mask_length = forms.IntegerField(
|
||||||
|
min_value=1,
|
||||||
|
max_value=128,
|
||||||
|
required=False
|
||||||
|
)
|
||||||
tenant = forms.ModelChoiceField(
|
tenant = forms.ModelChoiceField(
|
||||||
queryset=Tenant.objects.all(),
|
queryset=Tenant.objects.all(),
|
||||||
required=False
|
required=False
|
||||||
|
@ -385,6 +385,15 @@ class Prefix(ChangeLoggedModel, CustomFieldModel):
|
|||||||
self.description,
|
self.description,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
def _set_prefix_length(self, value):
|
||||||
|
"""
|
||||||
|
Expose the IPNetwork object's prefixlen attribute on the parent model so that it can be manipulated directly,
|
||||||
|
e.g. for bulk editing.
|
||||||
|
"""
|
||||||
|
if self.prefix is not None:
|
||||||
|
self.prefix.prefixlen = value
|
||||||
|
prefix_length = property(fset=_set_prefix_length)
|
||||||
|
|
||||||
def get_status_class(self):
|
def get_status_class(self):
|
||||||
return STATUS_CHOICE_CLASSES[self.status]
|
return STATUS_CHOICE_CLASSES[self.status]
|
||||||
|
|
||||||
@ -630,6 +639,15 @@ class IPAddress(ChangeLoggedModel, CustomFieldModel):
|
|||||||
self.description,
|
self.description,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
def _set_mask_length(self, value):
|
||||||
|
"""
|
||||||
|
Expose the IPNetwork object's prefixlen attribute on the parent model so that it can be manipulated directly,
|
||||||
|
e.g. for bulk editing.
|
||||||
|
"""
|
||||||
|
if self.address is not None:
|
||||||
|
self.address.prefixlen = value
|
||||||
|
mask_length = property(fset=_set_mask_length)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def device(self):
|
def device(self):
|
||||||
if self.interface:
|
if self.interface:
|
||||||
|
Loading…
Reference in New Issue
Block a user