From 2a645580274e6d772db3204de3c6af9c118aa459 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Mon, 27 Nov 2023 16:01:17 -0500 Subject: [PATCH] Add termination_type filter --- netbox/vpn/filtersets.py | 1 + netbox/vpn/tests/test_filtersets.py | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/netbox/vpn/filtersets.py b/netbox/vpn/filtersets.py index 8a474b987..c0bd140c3 100644 --- a/netbox/vpn/filtersets.py +++ b/netbox/vpn/filtersets.py @@ -69,6 +69,7 @@ class TunnelTerminationFilterSet(NetBoxModelFilterSet): role = django_filters.MultipleChoiceFilter( choices=TunnelTerminationRoleChoices ) + termination_type = ContentTypeFilter() interface = django_filters.ModelMultipleChoiceFilter( field_name='interface__name', queryset=Interface.objects.all(), diff --git a/netbox/vpn/tests/test_filtersets.py b/netbox/vpn/tests/test_filtersets.py index 38d0d2a13..966717f4a 100644 --- a/netbox/vpn/tests/test_filtersets.py +++ b/netbox/vpn/tests/test_filtersets.py @@ -209,6 +209,12 @@ class TunnelTerminationTestCase(TestCase, ChangeLoggedFilterSetTests): params = {'role': [TunnelTerminationRoleChoices.ROLE_HUB, TunnelTerminationRoleChoices.ROLE_SPOKE]} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 4) + def test_termination_type(self): + params = {'termination_type': 'dcim.interface'} + self.assertEqual(self.filterset(params, self.queryset).qs.count(), 3) + params = {'termination_type': 'virtualization.vminterface'} + self.assertEqual(self.filterset(params, self.queryset).qs.count(), 3) + def test_interface(self): interfaces = Interface.objects.all()[:2] params = {'interface_id': [interfaces[0].pk, interfaces[1].pk]}