1
0
mirror of https://github.com/netbox-community/netbox.git synced 2024-05-10 07:54:54 +00:00

Extend logic for validating filter class

This commit is contained in:
Jeremy Stretch
2024-03-11 15:35:40 -04:00
parent a136030094
commit 313e63622b
6 changed files with 99 additions and 82 deletions

View File

@@ -169,11 +169,14 @@ class IKEPolicyFilterSet(NetBoxModelFilterSet):
mode = django_filters.MultipleChoiceFilter(
choices=IKEModeChoices
)
ike_proposal_id = MultiValueNumberFilter(
field_name='proposals__id'
ike_proposal_id = django_filters.ModelMultipleChoiceFilter(
field_name='proposals',
queryset=IKEProposal.objects.all()
)
ike_proposal = MultiValueCharFilter(
field_name='proposals__name'
ike_proposal = django_filters.ModelMultipleChoiceFilter(
field_name='proposals__name',
queryset=IKEProposal.objects.all(),
to_field_name='name'
)
# TODO: Remove in v4.1
@@ -231,11 +234,14 @@ class IPSecPolicyFilterSet(NetBoxModelFilterSet):
pfs_group = django_filters.MultipleChoiceFilter(
choices=DHGroupChoices
)
ipsec_proposal_id = MultiValueNumberFilter(
field_name='proposals__id'
ipsec_proposal_id = django_filters.ModelMultipleChoiceFilter(
field_name='proposals',
queryset=IPSecProposal.objects.all()
)
ipsec_proposal = MultiValueCharFilter(
field_name='proposals__name'
ipsec_proposal = django_filters.ModelMultipleChoiceFilter(
field_name='proposals__name',
queryset=IPSecProposal.objects.all(),
to_field_name='name'
)
# TODO: Remove in v4.1

View File

@@ -743,8 +743,7 @@ class L2VPNTestCase(TestCase, ChangeLoggedFilterSetTests):
queryset = L2VPN.objects.all()
filterset = L2VPNFilterSet
@staticmethod
def get_m2m_filter_name(field):
def get_m2m_filter_name(self, field):
# Override filter names for import & export RouteTargets
if field.name == 'import_targets':
return 'import_target'