From 6b62720dafdb440d908fcdb73409b44c8c8904f9 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Thu, 1 Mar 2018 13:22:43 -0500 Subject: [PATCH] Closes #1910: Added filters for cluter group and cluster type --- netbox/virtualization/api/views.py | 2 ++ netbox/virtualization/filters.py | 14 ++++++++++++++ 2 files changed, 16 insertions(+) diff --git a/netbox/virtualization/api/views.py b/netbox/virtualization/api/views.py index eadc93d58..149bb3145 100644 --- a/netbox/virtualization/api/views.py +++ b/netbox/virtualization/api/views.py @@ -25,11 +25,13 @@ class VirtualizationFieldChoicesViewSet(FieldChoicesViewSet): class ClusterTypeViewSet(ModelViewSet): queryset = ClusterType.objects.all() serializer_class = serializers.ClusterTypeSerializer + filter_class = filters.ClusterTypeFilter class ClusterGroupViewSet(ModelViewSet): queryset = ClusterGroup.objects.all() serializer_class = serializers.ClusterGroupSerializer + filter_class = filters.ClusterGroupFilter class ClusterViewSet(CustomFieldModelViewSet): diff --git a/netbox/virtualization/filters.py b/netbox/virtualization/filters.py index 72faa9094..53c3f18d9 100644 --- a/netbox/virtualization/filters.py +++ b/netbox/virtualization/filters.py @@ -13,6 +13,20 @@ from .constants import VM_STATUS_CHOICES from .models import Cluster, ClusterGroup, ClusterType, VirtualMachine +class ClusterTypeFilter(django_filters.FilterSet): + + class Meta: + model = ClusterType + fields = ['name', 'slug'] + + +class ClusterGroupFilter(django_filters.FilterSet): + + class Meta: + model = ClusterGroup + fields = ['name', 'slug'] + + class ClusterFilter(CustomFieldFilterSet): id__in = NumericInFilter(name='id', lookup_expr='in') q = django_filters.CharFilter(