From 528b345f57b2ca21e920030f8d067fbf3a8785ec Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Thu, 9 Jan 2020 21:05:38 -0500 Subject: [PATCH] Move TenancyFilterSet to filters.py --- netbox/circuits/filters.py | 2 +- netbox/dcim/filters.py | 2 +- netbox/ipam/filters.py | 2 +- netbox/tenancy/filters.py | 29 +++++++++++++++++++++++++++++ netbox/tenancy/filtersets.py | 28 ---------------------------- netbox/virtualization/filters.py | 2 +- 6 files changed, 33 insertions(+), 32 deletions(-) delete mode 100644 netbox/tenancy/filtersets.py diff --git a/netbox/circuits/filters.py b/netbox/circuits/filters.py index 9a63a7814..c27ffb8d7 100644 --- a/netbox/circuits/filters.py +++ b/netbox/circuits/filters.py @@ -3,7 +3,7 @@ from django.db.models import Q from dcim.models import Region, Site from extras.filters import CustomFieldFilterSet, CreatedUpdatedFilterSet -from tenancy.filtersets import TenancyFilterSet +from tenancy.filters import TenancyFilterSet from utilities.filters import NameSlugSearchFilterSet, NumericInFilter, TagFilter, TreeNodeMultipleChoiceFilter from .choices import * from .models import Circuit, CircuitTermination, CircuitType, Provider diff --git a/netbox/dcim/filters.py b/netbox/dcim/filters.py index 59beb1a9c..4922cc89c 100644 --- a/netbox/dcim/filters.py +++ b/netbox/dcim/filters.py @@ -3,7 +3,7 @@ from django.contrib.auth.models import User from django.db.models import Q from extras.filters import CustomFieldFilterSet, LocalConfigContextFilterSet, CreatedUpdatedFilterSet -from tenancy.filtersets import TenancyFilterSet +from tenancy.filters import TenancyFilterSet from tenancy.models import Tenant from utilities.constants import COLOR_CHOICES from utilities.filters import ( diff --git a/netbox/ipam/filters.py b/netbox/ipam/filters.py index fff179946..a1a59078e 100644 --- a/netbox/ipam/filters.py +++ b/netbox/ipam/filters.py @@ -6,7 +6,7 @@ from netaddr.core import AddrFormatError from dcim.models import Device, Interface, Region, Site from extras.filters import CustomFieldFilterSet, CreatedUpdatedFilterSet -from tenancy.filtersets import TenancyFilterSet +from tenancy.filters import TenancyFilterSet from utilities.filters import NameSlugSearchFilterSet, NumericInFilter, TagFilter, TreeNodeMultipleChoiceFilter from virtualization.models import VirtualMachine from .choices import * diff --git a/netbox/tenancy/filters.py b/netbox/tenancy/filters.py index 3ab98743f..001cf29e7 100644 --- a/netbox/tenancy/filters.py +++ b/netbox/tenancy/filters.py @@ -7,6 +7,7 @@ from .models import Tenant, TenantGroup __all__ = ( + 'TenancyFilterSet', 'TenantFilterSet', 'TenantGroupFilterSet', ) @@ -53,3 +54,31 @@ class TenantFilterSet(CustomFieldFilterSet, CreatedUpdatedFilterSet): Q(description__icontains=value) | Q(comments__icontains=value) ) + + +class TenancyFilterSet(django_filters.FilterSet): + """ + An inheritable FilterSet for models which support Tenant assignment. + """ + tenant_group_id = django_filters.ModelMultipleChoiceFilter( + field_name='tenant__group__id', + queryset=TenantGroup.objects.all(), + to_field_name='id', + label='Tenant Group (ID)', + ) + tenant_group = django_filters.ModelMultipleChoiceFilter( + field_name='tenant__group__slug', + queryset=TenantGroup.objects.all(), + to_field_name='slug', + label='Tenant Group (slug)', + ) + tenant_id = django_filters.ModelMultipleChoiceFilter( + queryset=Tenant.objects.all(), + label='Tenant (ID)', + ) + tenant = django_filters.ModelMultipleChoiceFilter( + field_name='tenant__slug', + queryset=Tenant.objects.all(), + to_field_name='slug', + label='Tenant (slug)', + ) diff --git a/netbox/tenancy/filtersets.py b/netbox/tenancy/filtersets.py deleted file mode 100644 index eb656a894..000000000 --- a/netbox/tenancy/filtersets.py +++ /dev/null @@ -1,28 +0,0 @@ -import django_filters - -from .models import Tenant, TenantGroup - - -class TenancyFilterSet(django_filters.FilterSet): - tenant_group_id = django_filters.ModelMultipleChoiceFilter( - field_name='tenant__group__id', - queryset=TenantGroup.objects.all(), - to_field_name='id', - label='Tenant Group (ID)', - ) - tenant_group = django_filters.ModelMultipleChoiceFilter( - field_name='tenant__group__slug', - queryset=TenantGroup.objects.all(), - to_field_name='slug', - label='Tenant Group (slug)', - ) - tenant_id = django_filters.ModelMultipleChoiceFilter( - queryset=Tenant.objects.all(), - label='Tenant (ID)', - ) - tenant = django_filters.ModelMultipleChoiceFilter( - field_name='tenant__slug', - queryset=Tenant.objects.all(), - to_field_name='slug', - label='Tenant (slug)', - ) diff --git a/netbox/virtualization/filters.py b/netbox/virtualization/filters.py index 4aa5302c1..b2f24c2fe 100644 --- a/netbox/virtualization/filters.py +++ b/netbox/virtualization/filters.py @@ -3,7 +3,7 @@ from django.db.models import Q from dcim.models import DeviceRole, Interface, Platform, Region, Site from extras.filters import CustomFieldFilterSet, CreatedUpdatedFilterSet -from tenancy.filtersets import TenancyFilterSet +from tenancy.filters import TenancyFilterSet from tenancy.models import Tenant from utilities.filters import ( MultiValueMACAddressFilter, NameSlugSearchFilterSet, NumericInFilter, TagFilter, TreeNodeMultipleChoiceFilter,