From e19feb92eaa9a0f297e15d79b41597eeb2b6a415 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Thu, 9 May 2019 14:36:18 -0400 Subject: [PATCH] Move TenancyFilterForm to tenancy.forms --- netbox/circuits/forms.py | 2 +- netbox/dcim/forms.py | 2 +- netbox/ipam/forms.py | 2 +- netbox/tenancy/forms.py | 28 +++++++++++++++++++++++++++- netbox/tenancy/formset.py | 32 -------------------------------- netbox/virtualization/forms.py | 2 +- 6 files changed, 31 insertions(+), 37 deletions(-) delete mode 100644 netbox/tenancy/formset.py diff --git a/netbox/circuits/forms.py b/netbox/circuits/forms.py index 8e5fbf9f7..100c6334f 100644 --- a/netbox/circuits/forms.py +++ b/netbox/circuits/forms.py @@ -4,7 +4,7 @@ from taggit.forms import TagField from dcim.models import Site from extras.forms import AddRemoveTagsForm, CustomFieldForm, CustomFieldBulkEditForm, CustomFieldFilterForm from tenancy.forms import TenancyForm -from tenancy.formset import TenancyFilterForm +from tenancy.forms import TenancyFilterForm from tenancy.models import Tenant from utilities.forms import ( APISelect, APISelectMultiple, add_blank_choice, BootstrapMixin, CommentField, CSVChoiceField, diff --git a/netbox/dcim/forms.py b/netbox/dcim/forms.py index 369ebeb23..f10418d57 100644 --- a/netbox/dcim/forms.py +++ b/netbox/dcim/forms.py @@ -13,7 +13,7 @@ from timezone_field import TimeZoneFormField from extras.forms import AddRemoveTagsForm, CustomFieldForm, CustomFieldBulkEditForm, CustomFieldFilterForm from ipam.models import IPAddress, VLAN, VLANGroup from tenancy.forms import TenancyForm -from tenancy.formset import TenancyFilterForm +from tenancy.forms import TenancyFilterForm from tenancy.models import Tenant, TenantGroup from utilities.forms import ( APISelect, APISelectMultiple, add_blank_choice, ArrayFieldSelectMultiple, BootstrapMixin, BulkEditForm, diff --git a/netbox/ipam/forms.py b/netbox/ipam/forms.py index a8e9df6c5..d7c0b1a0c 100644 --- a/netbox/ipam/forms.py +++ b/netbox/ipam/forms.py @@ -6,7 +6,7 @@ from taggit.forms import TagField from dcim.models import Site, Rack, Device, Interface from extras.forms import AddRemoveTagsForm, CustomFieldForm, CustomFieldBulkEditForm, CustomFieldFilterForm from tenancy.forms import TenancyForm -from tenancy.formset import TenancyFilterForm +from tenancy.forms import TenancyFilterForm from tenancy.models import Tenant from utilities.forms import ( add_blank_choice, APISelect, APISelectMultiple, BootstrapMixin, BulkEditNullBooleanSelect, ChainedModelChoiceField, diff --git a/netbox/tenancy/forms.py b/netbox/tenancy/forms.py index 636cfed03..f8aaa45e5 100644 --- a/netbox/tenancy/forms.py +++ b/netbox/tenancy/forms.py @@ -116,7 +116,7 @@ class TenantFilterForm(BootstrapMixin, CustomFieldFilterForm): # -# Tenancy form extension +# Form extensions # class TenancyForm(ChainedFieldsMixin, forms.Form): @@ -154,3 +154,29 @@ class TenancyForm(ChainedFieldsMixin, forms.Form): kwargs['initial'] = initial super().__init__(*args, **kwargs) + + +class TenancyFilterForm(forms.Form): + tenant_group = FilterChoiceField( + queryset=TenantGroup.objects.all(), + to_field_name='slug', + null_label='-- None --', + widget=APISelectMultiple( + api_url="/api/tenancy/tenant-groups/", + value_field="slug", + null_option=True, + filter_for={ + 'tenant': 'group' + } + ) + ) + tenant = FilterChoiceField( + queryset=Tenant.objects.all(), + to_field_name='slug', + null_label='-- None --', + widget=APISelectMultiple( + api_url="/api/tenancy/tenants/", + value_field="slug", + null_option=True, + ) + ) diff --git a/netbox/tenancy/formset.py b/netbox/tenancy/formset.py deleted file mode 100644 index e07517bbe..000000000 --- a/netbox/tenancy/formset.py +++ /dev/null @@ -1,32 +0,0 @@ -from django import forms -from utilities.forms import APISelectMultiple, FilterChoiceField -from .models import Tenant, TenantGroup - - -# -# Tenancy filtering form extension -# -class TenancyFilterForm(forms.Form): - tenant_group = FilterChoiceField( - queryset=TenantGroup.objects.all(), - to_field_name='slug', - null_label='-- None --', - widget=APISelectMultiple( - api_url="/api/tenancy/tenant-groups/", - value_field="slug", - null_option=True, - filter_for={ - 'tenant': 'group' - } - ) - ) - tenant = FilterChoiceField( - queryset=Tenant.objects.all(), - to_field_name='slug', - null_label='-- None --', - widget=APISelectMultiple( - api_url="/api/tenancy/tenants/", - value_field="slug", - null_option=True, - ) - ) diff --git a/netbox/virtualization/forms.py b/netbox/virtualization/forms.py index e61c0e320..59b340e85 100644 --- a/netbox/virtualization/forms.py +++ b/netbox/virtualization/forms.py @@ -8,7 +8,7 @@ from dcim.models import Device, DeviceRole, Interface, Platform, Rack, Region, S from extras.forms import AddRemoveTagsForm, CustomFieldBulkEditForm, CustomFieldForm, CustomFieldFilterForm from ipam.models import IPAddress from tenancy.forms import TenancyForm -from tenancy.formset import TenancyFilterForm +from tenancy.forms import TenancyFilterForm from tenancy.models import Tenant from utilities.forms import ( add_blank_choice, APISelect, APISelectMultiple, BootstrapMixin, BulkEditForm, BulkEditNullBooleanSelect,