From 11fe54753ec4bd2fcfe566a9608cb4d06899fac3 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Tue, 6 Feb 2018 14:10:42 -0500 Subject: [PATCH] Fixes #1867: Allow filtering on device status with multiple values --- netbox/dcim/filters.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/netbox/dcim/filters.py b/netbox/dcim/filters.py index 25fb057fc..4ab1c8f1a 100644 --- a/netbox/dcim/filters.py +++ b/netbox/dcim/filters.py @@ -11,7 +11,8 @@ from tenancy.models import Tenant from utilities.filters import NullableCharFieldFilter, NumericInFilter from virtualization.models import Cluster from .constants import ( - DEVICE_STATUS_CHOICES, IFACE_FF_LAG, NONCONNECTABLE_IFACE_TYPES, VIRTUAL_IFACE_TYPES, WIRELESS_IFACE_TYPES, + DEVICE_STATUS_CHOICES, IFACE_FF_LAG, NONCONNECTABLE_IFACE_TYPES, SITE_STATUS_CHOICES, VIRTUAL_IFACE_TYPES, + WIRELESS_IFACE_TYPES, ) from .models import ( ConsolePort, ConsolePortTemplate, ConsoleServerPort, ConsoleServerPortTemplate, Device, DeviceBay, @@ -57,6 +58,10 @@ class SiteFilter(CustomFieldFilterSet, django_filters.FilterSet): method='search', label='Search', ) + status = django_filters.MultipleChoiceFilter( + choices=SITE_STATUS_CHOICES, + null_value=None + ) region_id = django_filters.ModelMultipleChoiceFilter( queryset=Region.objects.all(), label='Region (ID)', @@ -80,7 +85,7 @@ class SiteFilter(CustomFieldFilterSet, django_filters.FilterSet): class Meta: model = Site - fields = ['q', 'name', 'slug', 'status', 'facility', 'asn', 'contact_name', 'contact_phone', 'contact_email'] + fields = ['q', 'name', 'slug', 'facility', 'asn', 'contact_name', 'contact_phone', 'contact_email'] def search(self, queryset, name, value): if not value.strip():