Move Filter and Form to new file, update all files

This commit is contained in:
dansheps
2019-04-10 08:37:12 -05:00
parent 4c6b4c19b3
commit e0f27656b5
14 changed files with 79 additions and 106 deletions

View File

@@ -4,7 +4,7 @@ from django.db.models import Q
from taggit.models import Tag
from dcim.models import DeviceRole, Platform, Region, Site
from tenancy.models import Tenant, TenantGroup
from tenancy.filterset import TenancyFilterSet
from .constants import CF_FILTER_DISABLED, CF_FILTER_EXACT, CF_TYPE_BOOLEAN, CF_TYPE_SELECT
from .models import ConfigContext, CustomField, Graph, ExportTemplate, ObjectChange, TopologyMap
@@ -122,7 +122,7 @@ class TopologyMapFilter(django_filters.FilterSet):
fields = ['name', 'slug']
class ConfigContextFilter(django_filters.FilterSet):
class ConfigContextFilter(TenancyFilterSet, django_filters.FilterSet):
q = django_filters.CharFilter(
method='search',
label='Search',
@@ -171,28 +171,6 @@ class ConfigContextFilter(django_filters.FilterSet):
to_field_name='slug',
label='Platform (slug)',
)
tenant_group_id = django_filters.ModelMultipleChoiceFilter(
field_name='tenant_groups',
queryset=TenantGroup.objects.all(),
label='Tenant group',
)
tenant_group = django_filters.ModelMultipleChoiceFilter(
field_name='tenant_groups__slug',
queryset=TenantGroup.objects.all(),
to_field_name='slug',
label='Tenant group (slug)',
)
tenant_id = django_filters.ModelMultipleChoiceFilter(
field_name='tenants',
queryset=Tenant.objects.all(),
label='Tenant',
)
tenant = django_filters.ModelMultipleChoiceFilter(
field_name='tenants__slug',
queryset=Tenant.objects.all(),
to_field_name='slug',
label='Tenant (slug)',
)
class Meta:
model = ConfigContext

View File

@@ -8,7 +8,7 @@ from taggit.forms import TagField
from taggit.models import Tag
from dcim.models import DeviceRole, Platform, Region, Site
from tenancy.models import Tenant, TenantGroup
from tenancy.formset import TenancyFilterForm
from utilities.forms import (
add_blank_choice, APISelectMultiple, BootstrapMixin, BulkEditForm, BulkEditNullBooleanSelect, ContentTypeSelect,
FilterChoiceField, LaxURLField, JSONField, SlugField,
@@ -274,7 +274,7 @@ class ConfigContextBulkEditForm(BootstrapMixin, BulkEditForm):
]
class ConfigContextFilterForm(BootstrapMixin, forms.Form):
class ConfigContextFilterForm(TenancyFilterForm, BootstrapMixin, forms.Form):
q = forms.CharField(
required=False,
label='Search'
@@ -311,22 +311,10 @@ class ConfigContextFilterForm(BootstrapMixin, forms.Form):
value_field="slug",
)
)
tenant_group = FilterChoiceField(
queryset=TenantGroup.objects.all(),
to_field_name='slug',
widget=APISelectMultiple(
api_url="/api/tenancy/tenant-groups/",
value_field="slug",
)
)
tenant = FilterChoiceField(
queryset=Tenant.objects.all(),
to_field_name='slug',
widget=APISelectMultiple(
api_url="/api/tenancy/tenants/",
value_field="slug",
)
)
class Meta:
# Order the form fields, fields not listed are appended
field_order = ['q', 'type', 'provider', 'status']
#