mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-14 01:41:22 -06:00
Closes #2474: Add cabled and connection_status filters for device components
This commit is contained in:
parent
64d37cd450
commit
360303f86c
@ -42,6 +42,7 @@ NetBox now supports modeling physical cables for console, power, and interface c
|
|||||||
|
|
||||||
## Changes From v2.5-beta2
|
## Changes From v2.5-beta2
|
||||||
|
|
||||||
|
* [#2474](https://github.com/digitalocean/netbox/issues/2474) - Add `cabled` and `connection_status` filters for device components
|
||||||
* [#2616](https://github.com/digitalocean/netbox/issues/2616) - Convert Rack `outer_unit` and Cable `length_unit` to integer-based choice fields
|
* [#2616](https://github.com/digitalocean/netbox/issues/2616) - Convert Rack `outer_unit` and Cable `length_unit` to integer-based choice fields
|
||||||
* [#2622](https://github.com/digitalocean/netbox/issues/2622) - Enable filtering cables by multiple types/colors
|
* [#2622](https://github.com/digitalocean/netbox/issues/2622) - Enable filtering cables by multiple types/colors
|
||||||
* [#2624](https://github.com/digitalocean/netbox/issues/2624) - Delete associated content type and permissions when removing InterfaceConnection model
|
* [#2624](https://github.com/digitalocean/netbox/issues/2624) - Delete associated content type and permissions when removing InterfaceConnection model
|
||||||
|
@ -699,31 +699,51 @@ class DeviceComponentFilterSet(django_filters.FilterSet):
|
|||||||
|
|
||||||
|
|
||||||
class ConsolePortFilter(DeviceComponentFilterSet):
|
class ConsolePortFilter(DeviceComponentFilterSet):
|
||||||
|
cabled = django_filters.BooleanFilter(
|
||||||
|
field_name='cable',
|
||||||
|
lookup_expr='isnull',
|
||||||
|
exclude=True
|
||||||
|
)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = ConsolePort
|
model = ConsolePort
|
||||||
fields = ['name']
|
fields = ['name', 'connection_status']
|
||||||
|
|
||||||
|
|
||||||
class ConsoleServerPortFilter(DeviceComponentFilterSet):
|
class ConsoleServerPortFilter(DeviceComponentFilterSet):
|
||||||
|
cabled = django_filters.BooleanFilter(
|
||||||
|
field_name='cable',
|
||||||
|
lookup_expr='isnull',
|
||||||
|
exclude=True
|
||||||
|
)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = ConsoleServerPort
|
model = ConsoleServerPort
|
||||||
fields = ['name']
|
fields = ['name', 'connection_status']
|
||||||
|
|
||||||
|
|
||||||
class PowerPortFilter(DeviceComponentFilterSet):
|
class PowerPortFilter(DeviceComponentFilterSet):
|
||||||
|
cabled = django_filters.BooleanFilter(
|
||||||
|
field_name='cable',
|
||||||
|
lookup_expr='isnull',
|
||||||
|
exclude=True
|
||||||
|
)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = PowerPort
|
model = PowerPort
|
||||||
fields = ['name']
|
fields = ['name', 'connection_status']
|
||||||
|
|
||||||
|
|
||||||
class PowerOutletFilter(DeviceComponentFilterSet):
|
class PowerOutletFilter(DeviceComponentFilterSet):
|
||||||
|
cabled = django_filters.BooleanFilter(
|
||||||
|
field_name='cable',
|
||||||
|
lookup_expr='isnull',
|
||||||
|
exclude=True
|
||||||
|
)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = PowerOutlet
|
model = PowerOutlet
|
||||||
fields = ['name']
|
fields = ['name', 'connection_status']
|
||||||
|
|
||||||
|
|
||||||
class InterfaceFilter(django_filters.FilterSet):
|
class InterfaceFilter(django_filters.FilterSet):
|
||||||
@ -740,6 +760,11 @@ class InterfaceFilter(django_filters.FilterSet):
|
|||||||
field_name='pk',
|
field_name='pk',
|
||||||
label='Device (ID)',
|
label='Device (ID)',
|
||||||
)
|
)
|
||||||
|
cabled = django_filters.BooleanFilter(
|
||||||
|
field_name='cable',
|
||||||
|
lookup_expr='isnull',
|
||||||
|
exclude=True
|
||||||
|
)
|
||||||
type = django_filters.CharFilter(
|
type = django_filters.CharFilter(
|
||||||
method='filter_type',
|
method='filter_type',
|
||||||
label='Interface type',
|
label='Interface type',
|
||||||
@ -765,7 +790,7 @@ class InterfaceFilter(django_filters.FilterSet):
|
|||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Interface
|
model = Interface
|
||||||
fields = ['name', 'form_factor', 'enabled', 'mtu', 'mgmt_only']
|
fields = ['name', 'connection_status', 'form_factor', 'enabled', 'mtu', 'mgmt_only']
|
||||||
|
|
||||||
def filter_device(self, queryset, name, value):
|
def filter_device(self, queryset, name, value):
|
||||||
try:
|
try:
|
||||||
@ -814,6 +839,11 @@ class InterfaceFilter(django_filters.FilterSet):
|
|||||||
|
|
||||||
|
|
||||||
class FrontPortFilter(DeviceComponentFilterSet):
|
class FrontPortFilter(DeviceComponentFilterSet):
|
||||||
|
cabled = django_filters.BooleanFilter(
|
||||||
|
field_name='cable',
|
||||||
|
lookup_expr='isnull',
|
||||||
|
exclude=True
|
||||||
|
)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = FrontPort
|
model = FrontPort
|
||||||
@ -821,6 +851,11 @@ class FrontPortFilter(DeviceComponentFilterSet):
|
|||||||
|
|
||||||
|
|
||||||
class RearPortFilter(DeviceComponentFilterSet):
|
class RearPortFilter(DeviceComponentFilterSet):
|
||||||
|
cabled = django_filters.BooleanFilter(
|
||||||
|
field_name='cable',
|
||||||
|
lookup_expr='isnull',
|
||||||
|
exclude=True
|
||||||
|
)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = RearPort
|
model = RearPort
|
||||||
|
Loading…
Reference in New Issue
Block a user