From 72217c02eb4141aac709924756d77a95141fd295 Mon Sep 17 00:00:00 2001 From: Arthur Date: Thu, 9 May 2024 14:02:30 -0700 Subject: [PATCH] 15496 expand filters --- netbox/circuits/filtersets.py | 11 +++++++++++ netbox/circuits/forms/filtersets.py | 14 ++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/netbox/circuits/filtersets.py b/netbox/circuits/filtersets.py index a1fc8661a..e52673874 100644 --- a/netbox/circuits/filtersets.py +++ b/netbox/circuits/filtersets.py @@ -275,6 +275,17 @@ class CircuitTerminationFilterSet(NetBoxModelFilterSet, CabledObjectFilterSet): queryset=ProviderNetwork.objects.all(), label=_('ProviderNetwork (ID)'), ) + provider_id = django_filters.ModelMultipleChoiceFilter( + field_name='circuit__provider_id', + queryset=Provider.objects.all(), + label=_('Provider (ID)'), + ) + provider = django_filters.ModelMultipleChoiceFilter( + field_name='circuit__provider__slug', + queryset=Provider.objects.all(), + to_field_name='slug', + label=_('Provider (slug)'), + ) class Meta: model = CircuitTermination diff --git a/netbox/circuits/forms/filtersets.py b/netbox/circuits/forms/filtersets.py index 320aeb4ac..6f6473c3d 100644 --- a/netbox/circuits/forms/filtersets.py +++ b/netbox/circuits/forms/filtersets.py @@ -194,6 +194,7 @@ class CircuitTerminationFilterForm(NetBoxModelFilterSetForm): fieldsets = ( FieldSet('q', 'filter_id', 'tag'), FieldSet('circuit_id', 'term_side', name=_('Circuit')), + FieldSet('provider_id', 'provider_network_id', name=_('Provider')), FieldSet('region_id', 'site_group_id', 'site_id', name=_('Location')), ) site_id = DynamicModelMultipleChoiceField( @@ -215,4 +216,17 @@ class CircuitTerminationFilterForm(NetBoxModelFilterSetForm): choices=CircuitTerminationSideChoices, required=False ) + provider_network_id = DynamicModelMultipleChoiceField( + queryset=ProviderNetwork.objects.all(), + required=False, + query_params={ + 'provider_id': '$provider_id' + }, + label=_('Provider network') + ) + provider_id = DynamicModelMultipleChoiceField( + queryset=Provider.objects.all(), + required=False, + label=_('Provider') + ) tag = TagFilterField(model)