Jeremy Stretch 6 лет назад
Родитель
Сommit
83c0d1ef44
5 измененных файлов с 64 добавлено и 64 удалено
  1. 9 9
      netbox/ipam/api/views.py
  2. 18 18
      netbox/ipam/filters.py
  3. 9 9
      netbox/ipam/tests/test_filters.py
  4. 22 22
      netbox/ipam/views.py
  5. 6 6
      netbox/netbox/views.py

+ 9 - 9
netbox/ipam/api/views.py

@@ -38,7 +38,7 @@ class VRFViewSet(CustomFieldModelViewSet):
         prefix_count=get_subquery(Prefix, 'vrf')
     )
     serializer_class = serializers.VRFSerializer
-    filterset_class = filters.VRFFilter
+    filterset_class = filters.VRFFilterSet
 
 
 #
@@ -50,7 +50,7 @@ class RIRViewSet(ModelViewSet):
         aggregate_count=Count('aggregates')
     )
     serializer_class = serializers.RIRSerializer
-    filterset_class = filters.RIRFilter
+    filterset_class = filters.RIRFilterSet
 
 
 #
@@ -60,7 +60,7 @@ class RIRViewSet(ModelViewSet):
 class AggregateViewSet(CustomFieldModelViewSet):
     queryset = Aggregate.objects.prefetch_related('rir').prefetch_related('tags')
     serializer_class = serializers.AggregateSerializer
-    filterset_class = filters.AggregateFilter
+    filterset_class = filters.AggregateFilterSet
 
 
 #
@@ -73,7 +73,7 @@ class RoleViewSet(ModelViewSet):
         vlan_count=get_subquery(VLAN, 'role')
     )
     serializer_class = serializers.RoleSerializer
-    filterset_class = filters.RoleFilter
+    filterset_class = filters.RoleFilterSet
 
 
 #
@@ -83,7 +83,7 @@ class RoleViewSet(ModelViewSet):
 class PrefixViewSet(CustomFieldModelViewSet):
     queryset = Prefix.objects.prefetch_related('site', 'vrf__tenant', 'tenant', 'vlan', 'role', 'tags')
     serializer_class = serializers.PrefixSerializer
-    filterset_class = filters.PrefixFilter
+    filterset_class = filters.PrefixFilterSet
 
     @action(detail=True, url_path='available-prefixes', methods=['get', 'post'])
     def available_prefixes(self, request, pk=None):
@@ -264,7 +264,7 @@ class IPAddressViewSet(CustomFieldModelViewSet):
         'nat_outside', 'tags',
     )
     serializer_class = serializers.IPAddressSerializer
-    filterset_class = filters.IPAddressFilter
+    filterset_class = filters.IPAddressFilterSet
 
 
 #
@@ -276,7 +276,7 @@ class VLANGroupViewSet(ModelViewSet):
         vlan_count=Count('vlans')
     )
     serializer_class = serializers.VLANGroupSerializer
-    filterset_class = filters.VLANGroupFilter
+    filterset_class = filters.VLANGroupFilterSet
 
 
 #
@@ -290,7 +290,7 @@ class VLANViewSet(CustomFieldModelViewSet):
         prefix_count=get_subquery(Prefix, 'role')
     )
     serializer_class = serializers.VLANSerializer
-    filterset_class = filters.VLANFilter
+    filterset_class = filters.VLANFilterSet
 
 
 #
@@ -300,4 +300,4 @@ class VLANViewSet(CustomFieldModelViewSet):
 class ServiceViewSet(ModelViewSet):
     queryset = Service.objects.prefetch_related('device').prefetch_related('tags')
     serializer_class = serializers.ServiceSerializer
-    filterset_class = filters.ServiceFilter
+    filterset_class = filters.ServiceFilterSet

+ 18 - 18
netbox/ipam/filters.py

@@ -14,19 +14,19 @@ from .models import Aggregate, IPAddress, Prefix, RIR, Role, Service, VLAN, VLAN
 
 
 __all__ = (
-    'AggregateFilter',
-    'IPAddressFilter',
-    'PrefixFilter',
-    'RIRFilter',
-    'RoleFilter',
-    'ServiceFilter',
-    'VLANFilter',
-    'VLANGroupFilter',
-    'VRFFilter',
+    'AggregateFilterSet',
+    'IPAddressFilterSet',
+    'PrefixFilterSet',
+    'RIRFilterSet',
+    'RoleFilterSet',
+    'ServiceFilterSet',
+    'VLANFilterSet',
+    'VLANGroupFilterSet',
+    'VRFFilterSet',
 )
 
 
-class VRFFilter(TenancyFilterSet, CustomFieldFilterSet, CreatedUpdatedFilterSet):
+class VRFFilterSet(TenancyFilterSet, CustomFieldFilterSet, CreatedUpdatedFilterSet):
     id__in = NumericInFilter(
         field_name='id',
         lookup_expr='in'
@@ -51,7 +51,7 @@ class VRFFilter(TenancyFilterSet, CustomFieldFilterSet, CreatedUpdatedFilterSet)
         fields = ['name', 'rd', 'enforce_unique']
 
 
-class RIRFilter(NameSlugSearchFilterSet):
+class RIRFilterSet(NameSlugSearchFilterSet):
     id__in = NumericInFilter(
         field_name='id',
         lookup_expr='in'
@@ -62,7 +62,7 @@ class RIRFilter(NameSlugSearchFilterSet):
         fields = ['name', 'slug', 'is_private']
 
 
-class AggregateFilter(CustomFieldFilterSet, CreatedUpdatedFilterSet):
+class AggregateFilterSet(CustomFieldFilterSet, CreatedUpdatedFilterSet):
     id__in = NumericInFilter(
         field_name='id',
         lookup_expr='in'
@@ -112,7 +112,7 @@ class AggregateFilter(CustomFieldFilterSet, CreatedUpdatedFilterSet):
             return queryset.none()
 
 
-class RoleFilter(NameSlugSearchFilterSet):
+class RoleFilterSet(NameSlugSearchFilterSet):
     q = django_filters.CharFilter(
         method='search',
         label='Search',
@@ -123,7 +123,7 @@ class RoleFilter(NameSlugSearchFilterSet):
         fields = ['id', 'name', 'slug']
 
 
-class PrefixFilter(TenancyFilterSet, CustomFieldFilterSet, CreatedUpdatedFilterSet):
+class PrefixFilterSet(TenancyFilterSet, CustomFieldFilterSet, CreatedUpdatedFilterSet):
     id__in = NumericInFilter(
         field_name='id',
         lookup_expr='in'
@@ -271,7 +271,7 @@ class PrefixFilter(TenancyFilterSet, CustomFieldFilterSet, CreatedUpdatedFilterS
         return queryset.filter(prefix__net_mask_length=value)
 
 
-class IPAddressFilter(TenancyFilterSet, CustomFieldFilterSet, CreatedUpdatedFilterSet):
+class IPAddressFilterSet(TenancyFilterSet, CustomFieldFilterSet, CreatedUpdatedFilterSet):
     id__in = NumericInFilter(
         field_name='id',
         lookup_expr='in'
@@ -398,7 +398,7 @@ class IPAddressFilter(TenancyFilterSet, CustomFieldFilterSet, CreatedUpdatedFilt
         return queryset.exclude(interface__isnull=value)
 
 
-class VLANGroupFilter(NameSlugSearchFilterSet):
+class VLANGroupFilterSet(NameSlugSearchFilterSet):
     region_id = TreeNodeMultipleChoiceFilter(
         queryset=Region.objects.all(),
         field_name='site__region__in',
@@ -426,7 +426,7 @@ class VLANGroupFilter(NameSlugSearchFilterSet):
         fields = ['id', 'name', 'slug']
 
 
-class VLANFilter(TenancyFilterSet, CustomFieldFilterSet, CreatedUpdatedFilterSet):
+class VLANFilterSet(TenancyFilterSet, CustomFieldFilterSet, CreatedUpdatedFilterSet):
     id__in = NumericInFilter(
         field_name='id',
         lookup_expr='in'
@@ -497,7 +497,7 @@ class VLANFilter(TenancyFilterSet, CustomFieldFilterSet, CreatedUpdatedFilterSet
         return queryset.filter(qs_filter)
 
 
-class ServiceFilter(CreatedUpdatedFilterSet):
+class ServiceFilterSet(CreatedUpdatedFilterSet):
     q = django_filters.CharFilter(
         method='search',
         label='Search',

+ 9 - 9
netbox/ipam/tests/test_filters.py

@@ -9,7 +9,7 @@ from virtualization.models import Cluster, ClusterType, VirtualMachine
 
 class VRFTestCase(TestCase):
     queryset = VRF.objects.all()
-    filterset = VRFFilter
+    filterset = VRFFilterSet
 
     @classmethod
     def setUpTestData(cls):
@@ -46,7 +46,7 @@ class VRFTestCase(TestCase):
 
 class RIRTestCase(TestCase):
     queryset = RIR.objects.all()
-    filterset = RIRFilter
+    filterset = RIRFilterSet
 
     @classmethod
     def setUpTestData(cls):
@@ -83,7 +83,7 @@ class RIRTestCase(TestCase):
 
 class AggregateTestCase(TestCase):
     queryset = Aggregate.objects.all()
-    filterset = AggregateFilter
+    filterset = AggregateFilterSet
 
     @classmethod
     def setUpTestData(cls):
@@ -128,7 +128,7 @@ class AggregateTestCase(TestCase):
 
 class RoleTestCase(TestCase):
     queryset = Role.objects.all()
-    filterset = RoleFilter
+    filterset = RoleFilterSet
 
     @classmethod
     def setUpTestData(cls):
@@ -156,7 +156,7 @@ class RoleTestCase(TestCase):
 
 class PrefixTestCase(TestCase):
     queryset = Prefix.objects.all()
-    filterset = PrefixFilter
+    filterset = PrefixFilterSet
 
     @classmethod
     def setUpTestData(cls):
@@ -288,7 +288,7 @@ class PrefixTestCase(TestCase):
 
 class IPAddressTestCase(TestCase):
     queryset = IPAddress.objects.all()
-    filterset = IPAddressFilter
+    filterset = IPAddressFilterSet
 
     @classmethod
     def setUpTestData(cls):
@@ -424,7 +424,7 @@ class IPAddressTestCase(TestCase):
 
 class VLANGroupTestCase(TestCase):
     queryset = VLANGroup.objects.all()
-    filterset = VLANGroupFilter
+    filterset = VLANGroupFilterSet
 
     @classmethod
     def setUpTestData(cls):
@@ -483,7 +483,7 @@ class VLANGroupTestCase(TestCase):
 
 class VLANTestCase(TestCase):
     queryset = VLAN.objects.all()
-    filterset = VLANFilter
+    filterset = VLANFilterSet
 
     @classmethod
     def setUpTestData(cls):
@@ -576,7 +576,7 @@ class VLANTestCase(TestCase):
 
 class ServiceTestCase(TestCase):
     queryset = Service.objects.all()
-    filterset = ServiceFilter
+    filterset = ServiceFilterSet
 
     @classmethod
     def setUpTestData(cls):

+ 22 - 22
netbox/ipam/views.py

@@ -117,7 +117,7 @@ def add_available_vlans(vlan_group, vlans):
 class VRFListView(PermissionRequiredMixin, ObjectListView):
     permission_required = 'ipam.view_vrf'
     queryset = VRF.objects.prefetch_related('tenant')
-    filter = filters.VRFFilter
+    filter = filters.VRFFilterSet
     filter_form = forms.VRFFilterForm
     table = tables.VRFTable
     template_name = 'ipam/vrf_list.html'
@@ -165,7 +165,7 @@ class VRFBulkImportView(PermissionRequiredMixin, BulkImportView):
 class VRFBulkEditView(PermissionRequiredMixin, BulkEditView):
     permission_required = 'ipam.change_vrf'
     queryset = VRF.objects.prefetch_related('tenant')
-    filter = filters.VRFFilter
+    filter = filters.VRFFilterSet
     table = tables.VRFTable
     form = forms.VRFBulkEditForm
     default_return_url = 'ipam:vrf_list'
@@ -174,7 +174,7 @@ class VRFBulkEditView(PermissionRequiredMixin, BulkEditView):
 class VRFBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
     permission_required = 'ipam.delete_vrf'
     queryset = VRF.objects.prefetch_related('tenant')
-    filter = filters.VRFFilter
+    filter = filters.VRFFilterSet
     table = tables.VRFTable
     default_return_url = 'ipam:vrf_list'
 
@@ -186,7 +186,7 @@ class VRFBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
 class RIRListView(PermissionRequiredMixin, ObjectListView):
     permission_required = 'ipam.view_rir'
     queryset = RIR.objects.annotate(aggregate_count=Count('aggregates'))
-    filter = filters.RIRFilter
+    filter = filters.RIRFilterSet
     filter_form = forms.RIRFilterForm
     table = tables.RIRDetailTable
     template_name = 'ipam/rir_list.html'
@@ -281,7 +281,7 @@ class RIRBulkImportView(PermissionRequiredMixin, BulkImportView):
 class RIRBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
     permission_required = 'ipam.delete_rir'
     queryset = RIR.objects.annotate(aggregate_count=Count('aggregates'))
-    filter = filters.RIRFilter
+    filter = filters.RIRFilterSet
     table = tables.RIRTable
     default_return_url = 'ipam:rir_list'
 
@@ -296,7 +296,7 @@ class AggregateListView(PermissionRequiredMixin, ObjectListView):
         child_count=RawSQL('SELECT COUNT(*) FROM ipam_prefix WHERE ipam_prefix.prefix <<= ipam_aggregate.prefix', ())
     )
 
-    filter = filters.AggregateFilter
+    filter = filters.AggregateFilterSet
     filter_form = forms.AggregateFilterForm
     table = tables.AggregateDetailTable
     template_name = 'ipam/aggregate_list.html'
@@ -391,7 +391,7 @@ class AggregateBulkImportView(PermissionRequiredMixin, BulkImportView):
 class AggregateBulkEditView(PermissionRequiredMixin, BulkEditView):
     permission_required = 'ipam.change_aggregate'
     queryset = Aggregate.objects.prefetch_related('rir')
-    filter = filters.AggregateFilter
+    filter = filters.AggregateFilterSet
     table = tables.AggregateTable
     form = forms.AggregateBulkEditForm
     default_return_url = 'ipam:aggregate_list'
@@ -400,7 +400,7 @@ class AggregateBulkEditView(PermissionRequiredMixin, BulkEditView):
 class AggregateBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
     permission_required = 'ipam.delete_aggregate'
     queryset = Aggregate.objects.prefetch_related('rir')
-    filter = filters.AggregateFilter
+    filter = filters.AggregateFilterSet
     table = tables.AggregateTable
     default_return_url = 'ipam:aggregate_list'
 
@@ -448,7 +448,7 @@ class RoleBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
 class PrefixListView(PermissionRequiredMixin, ObjectListView):
     permission_required = 'ipam.view_prefix'
     queryset = Prefix.objects.prefetch_related('site', 'vrf__tenant', 'tenant', 'vlan', 'role')
-    filter = filters.PrefixFilter
+    filter = filters.PrefixFilterSet
     filter_form = forms.PrefixFilterForm
     table = tables.PrefixDetailTable
     template_name = 'ipam/prefix_list.html'
@@ -620,7 +620,7 @@ class PrefixBulkImportView(PermissionRequiredMixin, BulkImportView):
 class PrefixBulkEditView(PermissionRequiredMixin, BulkEditView):
     permission_required = 'ipam.change_prefix'
     queryset = Prefix.objects.prefetch_related('site', 'vrf__tenant', 'tenant', 'vlan', 'role')
-    filter = filters.PrefixFilter
+    filter = filters.PrefixFilterSet
     table = tables.PrefixTable
     form = forms.PrefixBulkEditForm
     default_return_url = 'ipam:prefix_list'
@@ -629,7 +629,7 @@ class PrefixBulkEditView(PermissionRequiredMixin, BulkEditView):
 class PrefixBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
     permission_required = 'ipam.delete_prefix'
     queryset = Prefix.objects.prefetch_related('site', 'vrf__tenant', 'tenant', 'vlan', 'role')
-    filter = filters.PrefixFilter
+    filter = filters.PrefixFilterSet
     table = tables.PrefixTable
     default_return_url = 'ipam:prefix_list'
 
@@ -643,7 +643,7 @@ class IPAddressListView(PermissionRequiredMixin, ObjectListView):
     queryset = IPAddress.objects.prefetch_related(
         'vrf__tenant', 'tenant', 'nat_inside', 'interface__device', 'interface__virtual_machine'
     )
-    filter = filters.IPAddressFilter
+    filter = filters.IPAddressFilterSet
     filter_form = forms.IPAddressFilterForm
     table = tables.IPAddressDetailTable
     template_name = 'ipam/ipaddress_list.html'
@@ -796,7 +796,7 @@ class IPAddressBulkImportView(PermissionRequiredMixin, BulkImportView):
 class IPAddressBulkEditView(PermissionRequiredMixin, BulkEditView):
     permission_required = 'ipam.change_ipaddress'
     queryset = IPAddress.objects.prefetch_related('vrf__tenant', 'tenant').prefetch_related('interface__device')
-    filter = filters.IPAddressFilter
+    filter = filters.IPAddressFilterSet
     table = tables.IPAddressTable
     form = forms.IPAddressBulkEditForm
     default_return_url = 'ipam:ipaddress_list'
@@ -805,7 +805,7 @@ class IPAddressBulkEditView(PermissionRequiredMixin, BulkEditView):
 class IPAddressBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
     permission_required = 'ipam.delete_ipaddress'
     queryset = IPAddress.objects.prefetch_related('vrf__tenant', 'tenant').prefetch_related('interface__device')
-    filter = filters.IPAddressFilter
+    filter = filters.IPAddressFilterSet
     table = tables.IPAddressTable
     default_return_url = 'ipam:ipaddress_list'
 
@@ -817,7 +817,7 @@ class IPAddressBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
 class VLANGroupListView(PermissionRequiredMixin, ObjectListView):
     permission_required = 'ipam.view_vlangroup'
     queryset = VLANGroup.objects.prefetch_related('site').annotate(vlan_count=Count('vlans'))
-    filter = filters.VLANGroupFilter
+    filter = filters.VLANGroupFilterSet
     filter_form = forms.VLANGroupFilterForm
     table = tables.VLANGroupTable
     template_name = 'ipam/vlangroup_list.html'
@@ -844,7 +844,7 @@ class VLANGroupBulkImportView(PermissionRequiredMixin, BulkImportView):
 class VLANGroupBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
     permission_required = 'ipam.delete_vlangroup'
     queryset = VLANGroup.objects.prefetch_related('site').annotate(vlan_count=Count('vlans'))
-    filter = filters.VLANGroupFilter
+    filter = filters.VLANGroupFilterSet
     table = tables.VLANGroupTable
     default_return_url = 'ipam:vlangroup_list'
 
@@ -893,7 +893,7 @@ class VLANGroupVLANsView(PermissionRequiredMixin, View):
 class VLANListView(PermissionRequiredMixin, ObjectListView):
     permission_required = 'ipam.view_vlan'
     queryset = VLAN.objects.prefetch_related('site', 'group', 'tenant', 'role').prefetch_related('prefixes')
-    filter = filters.VLANFilter
+    filter = filters.VLANFilterSet
     filter_form = forms.VLANFilterForm
     table = tables.VLANDetailTable
     template_name = 'ipam/vlan_list.html'
@@ -968,7 +968,7 @@ class VLANBulkImportView(PermissionRequiredMixin, BulkImportView):
 class VLANBulkEditView(PermissionRequiredMixin, BulkEditView):
     permission_required = 'ipam.change_vlan'
     queryset = VLAN.objects.prefetch_related('site', 'group', 'tenant', 'role')
-    filter = filters.VLANFilter
+    filter = filters.VLANFilterSet
     table = tables.VLANTable
     form = forms.VLANBulkEditForm
     default_return_url = 'ipam:vlan_list'
@@ -977,7 +977,7 @@ class VLANBulkEditView(PermissionRequiredMixin, BulkEditView):
 class VLANBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
     permission_required = 'ipam.delete_vlan'
     queryset = VLAN.objects.prefetch_related('site', 'group', 'tenant', 'role')
-    filter = filters.VLANFilter
+    filter = filters.VLANFilterSet
     table = tables.VLANTable
     default_return_url = 'ipam:vlan_list'
 
@@ -989,7 +989,7 @@ class VLANBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
 class ServiceListView(PermissionRequiredMixin, ObjectListView):
     permission_required = 'ipam.view_service'
     queryset = Service.objects.prefetch_related('device', 'virtual_machine')
-    filter = filters.ServiceFilter
+    filter = filters.ServiceFilterSet
     filter_form = forms.ServiceFilterForm
     table = tables.ServiceTable
     template_name = 'ipam/service_list.html'
@@ -1036,7 +1036,7 @@ class ServiceDeleteView(PermissionRequiredMixin, ObjectDeleteView):
 class ServiceBulkEditView(PermissionRequiredMixin, BulkEditView):
     permission_required = 'ipam.change_service'
     queryset = Service.objects.prefetch_related('device', 'virtual_machine')
-    filter = filters.ServiceFilter
+    filter = filters.ServiceFilterSet
     table = tables.ServiceTable
     form = forms.ServiceBulkEditForm
     default_return_url = 'ipam:service_list'
@@ -1045,6 +1045,6 @@ class ServiceBulkEditView(PermissionRequiredMixin, BulkEditView):
 class ServiceBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
     permission_required = 'ipam.delete_service'
     queryset = Service.objects.prefetch_related('device', 'virtual_machine')
-    filter = filters.ServiceFilter
+    filter = filters.ServiceFilterSet
     table = tables.ServiceTable
     default_return_url = 'ipam:service_list'

+ 6 - 6
netbox/netbox/views.py

@@ -22,7 +22,7 @@ from dcim.tables import (
     VirtualChassisTable,
 )
 from extras.models import ObjectChange, ReportResult
-from ipam.filters import AggregateFilter, IPAddressFilter, PrefixFilter, VLANFilter, VRFFilter
+from ipam.filters import AggregateFilterSet, IPAddressFilterSet, PrefixFilterSet, VLANFilterSet, VRFFilterSet
 from ipam.models import Aggregate, IPAddress, Prefix, VLAN, VRF
 from ipam.tables import AggregateTable, IPAddressTable, PrefixTable, VLANTable, VRFTable
 from secrets.filters import SecretFilter
@@ -143,35 +143,35 @@ SEARCH_TYPES = OrderedDict((
     ('vrf', {
         'permission': 'ipam.view_vrf',
         'queryset': VRF.objects.prefetch_related('tenant'),
-        'filter': VRFFilter,
+        'filter': VRFFilterSet,
         'table': VRFTable,
         'url': 'ipam:vrf_list',
     }),
     ('aggregate', {
         'permission': 'ipam.view_aggregate',
         'queryset': Aggregate.objects.prefetch_related('rir'),
-        'filter': AggregateFilter,
+        'filter': AggregateFilterSet,
         'table': AggregateTable,
         'url': 'ipam:aggregate_list',
     }),
     ('prefix', {
         'permission': 'ipam.view_prefix',
         'queryset': Prefix.objects.prefetch_related('site', 'vrf__tenant', 'tenant', 'vlan', 'role'),
-        'filter': PrefixFilter,
+        'filter': PrefixFilterSet,
         'table': PrefixTable,
         'url': 'ipam:prefix_list',
     }),
     ('ipaddress', {
         'permission': 'ipam.view_ipaddress',
         'queryset': IPAddress.objects.prefetch_related('vrf__tenant', 'tenant'),
-        'filter': IPAddressFilter,
+        'filter': IPAddressFilterSet,
         'table': IPAddressTable,
         'url': 'ipam:ipaddress_list',
     }),
     ('vlan', {
         'permission': 'ipam.view_vlan',
         'queryset': VLAN.objects.prefetch_related('site', 'group', 'tenant', 'role'),
-        'filter': VLANFilter,
+        'filter': VLANFilterSet,
         'table': VLANTable,
         'url': 'ipam:vlan_list',
     }),