diff --git a/CHANGELOG.md b/CHANGELOG.md index 0c973390e..107df5457 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,7 @@ v2.6.3 (FUTURE) * [#3405](https://github.com/netbox-community/netbox/issues/3405) - Fix population of power port/outlet details on device creation * [#3422](https://github.com/netbox-community/netbox/issues/3422) - Prevent navigation menu from overlapping page content * [#3430](https://github.com/netbox-community/netbox/issues/3430) - Linkify platform field on device view +* [#3454](https://github.com/netbox-community/netbox/issues/3454) - Enable filtering circuits by region * [#3456](https://github.com/netbox-community/netbox/issues/3456) - Enable bulk editing of tag color --- diff --git a/netbox/circuits/filters.py b/netbox/circuits/filters.py index 4323feafc..33005b830 100644 --- a/netbox/circuits/filters.py +++ b/netbox/circuits/filters.py @@ -1,10 +1,10 @@ import django_filters from django.db.models import Q -from dcim.models import Site +from dcim.models import Region, Site from extras.filters import CustomFieldFilterSet from tenancy.filtersets import TenancyFilterSet -from utilities.filters import NameSlugSearchFilterSet, NumericInFilter, TagFilter +from utilities.filters import NameSlugSearchFilterSet, NumericInFilter, TagFilter, TreeNodeMultipleChoiceFilter from .constants import CIRCUIT_STATUS_CHOICES from .models import Provider, Circuit, CircuitTermination, CircuitType @@ -98,6 +98,17 @@ class CircuitFilter(CustomFieldFilterSet, TenancyFilterSet): to_field_name='slug', label='Site (slug)', ) + region_id = TreeNodeMultipleChoiceFilter( + queryset=Region.objects.all(), + field_name='terminations__site__region__in', + label='Region (ID)', + ) + region = TreeNodeMultipleChoiceFilter( + queryset=Region.objects.all(), + field_name='terminations__site__region__in', + to_field_name='slug', + label='Region (slug)', + ) tag = TagFilter() class Meta: