mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-23 04:22:01 -06:00
Fixes #9116: assigned_to_interface filter for IP addresses should not match FHRP group assignments
This commit is contained in:
parent
23d2cf1718
commit
1266a2f753
@ -19,6 +19,7 @@
|
|||||||
* [#9079](https://github.com/netbox-community/netbox/issues/9079) - Fail validation when an inventory item is assigned as its own parent
|
* [#9079](https://github.com/netbox-community/netbox/issues/9079) - Fail validation when an inventory item is assigned as its own parent
|
||||||
* [#9096](https://github.com/netbox-community/netbox/issues/9096) - Remove duplicate filter tag when filtering by "none"
|
* [#9096](https://github.com/netbox-community/netbox/issues/9096) - Remove duplicate filter tag when filtering by "none"
|
||||||
* [#9100](https://github.com/netbox-community/netbox/issues/9100) - Include position field in module type YAML export
|
* [#9100](https://github.com/netbox-community/netbox/issues/9100) - Include position field in module type YAML export
|
||||||
|
* [#9116](https://github.com/netbox-community/netbox/issues/9116) - `assigned_to_interface` filter for IP addresses should not match FHRP group assignments
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
@ -618,7 +618,17 @@ class IPAddressFilterSet(NetBoxModelFilterSet, TenancyFilterSet):
|
|||||||
)
|
)
|
||||||
|
|
||||||
def _assigned_to_interface(self, queryset, name, value):
|
def _assigned_to_interface(self, queryset, name, value):
|
||||||
return queryset.exclude(assigned_object_id__isnull=value)
|
content_types = ContentType.objects.get_for_models(Interface, VMInterface).values()
|
||||||
|
if value:
|
||||||
|
return queryset.filter(
|
||||||
|
assigned_object_type__in=content_types,
|
||||||
|
assigned_object_id__isnull=False
|
||||||
|
)
|
||||||
|
else:
|
||||||
|
return queryset.exclude(
|
||||||
|
assigned_object_type__in=content_types,
|
||||||
|
assigned_object_id__isnull=False
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class FHRPGroupFilterSet(NetBoxModelFilterSet):
|
class FHRPGroupFilterSet(NetBoxModelFilterSet):
|
||||||
|
@ -891,7 +891,7 @@ class IPAddressTestCase(TestCase, ChangeLoggedFilterSetTests):
|
|||||||
params = {'assigned_to_interface': 'true'}
|
params = {'assigned_to_interface': 'true'}
|
||||||
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 6)
|
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 6)
|
||||||
params = {'assigned_to_interface': 'false'}
|
params = {'assigned_to_interface': 'false'}
|
||||||
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 4)
|
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 6)
|
||||||
|
|
||||||
def test_status(self):
|
def test_status(self):
|
||||||
params = {'status': [PrefixStatusChoices.STATUS_DEPRECATED, PrefixStatusChoices.STATUS_RESERVED]}
|
params = {'status': [PrefixStatusChoices.STATUS_DEPRECATED, PrefixStatusChoices.STATUS_RESERVED]}
|
||||||
|
Loading…
Reference in New Issue
Block a user