1
0
mirror of https://github.com/netbox-community/netbox.git synced 2024-05-10 07:54:54 +00:00
This commit is contained in:
Arthur
2022-09-12 10:52:40 -07:00
parent 1daa2ff98d
commit d24f10ce6e
3 changed files with 25 additions and 11 deletions

View File

@ -1148,6 +1148,12 @@ class CabledObjectFilterSet(django_filters.FilterSet):
method='filter_is_occupied'
)
def filter_is_occupied(self, queryset, name, value):
if value:
return queryset.filter(Q(cable__isnull=False) | Q(mark_connected=True))
else:
return queryset.filter(cable__isnull=True, mark_connected=False)
class PathEndpointFilterSet(django_filters.FilterSet):
connected = django_filters.BooleanFilter(
@ -1362,12 +1368,6 @@ class InterfaceFilterSet(
'wireless': queryset.filter(type__in=WIRELESS_IFACE_TYPES),
}.get(value, queryset.none())
def filter_is_occupied(self, queryset, name, value):
if value:
return queryset.filter(Q(cable__isnull=False) | Q(mark_connected=True))
else:
return queryset.filter(cable__isnull=True, mark_connected=False)
class FrontPortFilterSet(
ModularDeviceComponentFilterSet,

View File

@ -2885,10 +2885,10 @@ class InterfaceTestCase(TestCase, ChangeLoggedFilterSetTests):
params = {'connected': False}
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 4)
def is_occupied(self):
params = {'is_occupied': 'true'}
def test_is_occupied(self):
params = {'is_occupied': True}
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 4)
params = {'is_occupied': 'false'}
params = {'is_occupied': False}
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 4)
def test_kind(self):