diff --git a/netbox/circuits/forms.py b/netbox/circuits/forms.py index bc0c55e6e..488648a3b 100644 --- a/netbox/circuits/forms.py +++ b/netbox/circuits/forms.py @@ -2,7 +2,7 @@ from django import forms from django.db.models import Count from dcim.models import Site, Device, Interface, Rack, IFACE_FF_VIRTUAL -from extras.forms import CustomFieldForm +from extras.forms import CustomFieldForm, CustomFieldBulkEditForm from tenancy.forms import bulkedit_tenant_choices from tenancy.models import Tenant from utilities.forms import ( @@ -47,7 +47,7 @@ class ProviderImportForm(BulkImportForm, BootstrapMixin): csv = CSVDataField(csv_form=ProviderFromCSVForm) -class ProviderBulkEditForm(forms.Form, BootstrapMixin): +class ProviderBulkEditForm(BootstrapMixin, CustomFieldBulkEditForm): pk = forms.ModelMultipleChoiceField(queryset=Provider.objects.all(), widget=forms.MultipleHiddenInput) asn = forms.IntegerField(required=False, label='ASN') account = forms.CharField(max_length=30, required=False, label='Account number') @@ -178,7 +178,7 @@ class CircuitImportForm(BulkImportForm, BootstrapMixin): csv = CSVDataField(csv_form=CircuitFromCSVForm) -class CircuitBulkEditForm(forms.Form, BootstrapMixin): +class CircuitBulkEditForm(BootstrapMixin, CustomFieldBulkEditForm): pk = forms.ModelMultipleChoiceField(queryset=Circuit.objects.all(), widget=forms.MultipleHiddenInput) type = forms.ModelChoiceField(queryset=CircuitType.objects.all(), required=False) provider = forms.ModelChoiceField(queryset=Provider.objects.all(), required=False) diff --git a/netbox/dcim/forms.py b/netbox/dcim/forms.py index 390fd31fc..9c4f11d31 100644 --- a/netbox/dcim/forms.py +++ b/netbox/dcim/forms.py @@ -241,7 +241,7 @@ class RackImportForm(BulkImportForm, BootstrapMixin): csv = CSVDataField(csv_form=RackFromCSVForm) -class RackBulkEditForm(forms.Form, BootstrapMixin): +class RackBulkEditForm(BootstrapMixin, CustomFieldBulkEditForm): pk = forms.ModelMultipleChoiceField(queryset=Rack.objects.all(), widget=forms.MultipleHiddenInput) site = forms.ModelChoiceField(queryset=Site.objects.all(), required=False, label='Site') group = forms.TypedChoiceField(choices=bulkedit_rackgroup_choices, coerce=int, required=False, label='Group') @@ -614,7 +614,7 @@ class ChildDeviceImportForm(BulkImportForm, BootstrapMixin): csv = CSVDataField(csv_form=ChildDeviceFromCSVForm) -class DeviceBulkEditForm(forms.Form, BootstrapMixin): +class DeviceBulkEditForm(BootstrapMixin, CustomFieldBulkEditForm): pk = forms.ModelMultipleChoiceField(queryset=Device.objects.all(), widget=forms.MultipleHiddenInput) device_type = forms.ModelChoiceField(queryset=DeviceType.objects.all(), required=False, label='Type') device_role = forms.ModelChoiceField(queryset=DeviceRole.objects.all(), required=False, label='Role') diff --git a/netbox/ipam/forms.py b/netbox/ipam/forms.py index 4e64907f6..e6a349bbc 100644 --- a/netbox/ipam/forms.py +++ b/netbox/ipam/forms.py @@ -1,10 +1,8 @@ -from netaddr import IPNetwork - from django import forms from django.db.models import Count from dcim.models import Site, Device, Interface -from extras.forms import CustomFieldForm +from extras.forms import CustomFieldForm, CustomFieldBulkEditForm from tenancy.forms import bulkedit_tenant_choices from tenancy.models import Tenant from utilities.forms import BootstrapMixin, APISelect, Livesearch, CSVDataField, BulkImportForm, SlugField @@ -60,7 +58,7 @@ class VRFImportForm(BulkImportForm, BootstrapMixin): csv = CSVDataField(csv_form=VRFFromCSVForm) -class VRFBulkEditForm(forms.Form, BootstrapMixin): +class VRFBulkEditForm(BootstrapMixin, CustomFieldBulkEditForm): pk = forms.ModelMultipleChoiceField(queryset=VRF.objects.all(), widget=forms.MultipleHiddenInput) tenant = forms.TypedChoiceField(choices=bulkedit_tenant_choices, coerce=int, required=False, label='Tenant') description = forms.CharField(max_length=100, required=False) @@ -117,7 +115,7 @@ class AggregateImportForm(BulkImportForm, BootstrapMixin): csv = CSVDataField(csv_form=AggregateFromCSVForm) -class AggregateBulkEditForm(forms.Form, BootstrapMixin): +class AggregateBulkEditForm(BootstrapMixin, CustomFieldBulkEditForm): pk = forms.ModelMultipleChoiceField(queryset=Aggregate.objects.all(), widget=forms.MultipleHiddenInput) rir = forms.ModelChoiceField(queryset=RIR.objects.all(), required=False, label='RIR') date_added = forms.DateField(required=False) @@ -252,7 +250,7 @@ class PrefixImportForm(BulkImportForm, BootstrapMixin): csv = CSVDataField(csv_form=PrefixFromCSVForm) -class PrefixBulkEditForm(forms.Form, BootstrapMixin): +class PrefixBulkEditForm(BootstrapMixin, CustomFieldBulkEditForm): pk = forms.ModelMultipleChoiceField(queryset=Prefix.objects.all(), widget=forms.MultipleHiddenInput) site = forms.ModelChoiceField(queryset=Site.objects.all(), required=False) vrf = forms.TypedChoiceField(choices=bulkedit_vrf_choices, coerce=int, required=False, label='VRF') @@ -426,7 +424,7 @@ class IPAddressImportForm(BulkImportForm, BootstrapMixin): csv = CSVDataField(csv_form=IPAddressFromCSVForm) -class IPAddressBulkEditForm(forms.Form, BootstrapMixin): +class IPAddressBulkEditForm(BootstrapMixin, CustomFieldBulkEditForm): pk = forms.ModelMultipleChoiceField(queryset=IPAddress.objects.all(), widget=forms.MultipleHiddenInput) vrf = forms.TypedChoiceField(choices=bulkedit_vrf_choices, coerce=int, required=False, label='VRF') tenant = forms.TypedChoiceField(choices=bulkedit_tenant_choices, coerce=int, required=False, label='Tenant') @@ -540,7 +538,7 @@ class VLANImportForm(BulkImportForm, BootstrapMixin): csv = CSVDataField(csv_form=VLANFromCSVForm) -class VLANBulkEditForm(forms.Form, BootstrapMixin): +class VLANBulkEditForm(BootstrapMixin, CustomFieldBulkEditForm): pk = forms.ModelMultipleChoiceField(queryset=VLAN.objects.all(), widget=forms.MultipleHiddenInput) site = forms.ModelChoiceField(queryset=Site.objects.all(), required=False) group = forms.ModelChoiceField(queryset=VLANGroup.objects.all(), required=False) diff --git a/netbox/tenancy/forms.py b/netbox/tenancy/forms.py index 1bf8731d9..608c99dd2 100644 --- a/netbox/tenancy/forms.py +++ b/netbox/tenancy/forms.py @@ -1,7 +1,7 @@ from django import forms from django.db.models import Count -from extras.forms import CustomFieldForm +from extras.forms import CustomFieldForm, CustomFieldBulkEditForm from utilities.forms import BootstrapMixin, BulkImportForm, CommentField, CSVDataField, SlugField from .models import Tenant, TenantGroup @@ -69,7 +69,7 @@ class TenantImportForm(BulkImportForm, BootstrapMixin): csv = CSVDataField(csv_form=TenantFromCSVForm) -class TenantBulkEditForm(forms.Form, BootstrapMixin): +class TenantBulkEditForm(BootstrapMixin, CustomFieldBulkEditForm): pk = forms.ModelMultipleChoiceField(queryset=Tenant.objects.all(), widget=forms.MultipleHiddenInput) group = forms.TypedChoiceField(choices=bulkedit_tenantgroup_choices, coerce=int, required=False, label='Group')