From c210c6937bab0ae5739fd98b689ddeb5af9fb477 Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Thu, 18 Nov 2021 16:19:25 -0500 Subject: [PATCH 1/5] Apply BootstrapMixin to CustomFieldModelForm --- netbox/circuits/forms/models.py | 8 ++--- netbox/dcim/forms/connections.py | 6 ++-- netbox/dcim/forms/models.py | 50 +++++++++++++-------------- netbox/dcim/forms/object_create.py | 2 +- netbox/extras/forms/customfields.py | 4 +-- netbox/ipam/forms/models.py | 28 +++++++-------- netbox/tenancy/forms/models.py | 10 +++--- netbox/utilities/forms/forms.py | 2 +- netbox/virtualization/forms/models.py | 10 +++--- netbox/wireless/forms/models.py | 6 ++-- 10 files changed, 63 insertions(+), 63 deletions(-) diff --git a/netbox/circuits/forms/models.py b/netbox/circuits/forms/models.py index 5679dbc94..2ea246fd0 100644 --- a/netbox/circuits/forms/models.py +++ b/netbox/circuits/forms/models.py @@ -19,7 +19,7 @@ __all__ = ( ) -class ProviderForm(BootstrapMixin, CustomFieldModelForm): +class ProviderForm(CustomFieldModelForm): slug = SlugField() comments = CommentField() tags = DynamicModelMultipleChoiceField( @@ -53,7 +53,7 @@ class ProviderForm(BootstrapMixin, CustomFieldModelForm): } -class ProviderNetworkForm(BootstrapMixin, CustomFieldModelForm): +class ProviderNetworkForm(CustomFieldModelForm): provider = DynamicModelChoiceField( queryset=Provider.objects.all() ) @@ -73,7 +73,7 @@ class ProviderNetworkForm(BootstrapMixin, CustomFieldModelForm): ) -class CircuitTypeForm(BootstrapMixin, CustomFieldModelForm): +class CircuitTypeForm(CustomFieldModelForm): slug = SlugField() tags = DynamicModelMultipleChoiceField( queryset=Tag.objects.all(), @@ -87,7 +87,7 @@ class CircuitTypeForm(BootstrapMixin, CustomFieldModelForm): ] -class CircuitForm(BootstrapMixin, TenancyForm, CustomFieldModelForm): +class CircuitForm(TenancyForm, CustomFieldModelForm): provider = DynamicModelChoiceField( queryset=Provider.objects.all() ) diff --git a/netbox/dcim/forms/connections.py b/netbox/dcim/forms/connections.py index 4e5a64486..7fc1103c8 100644 --- a/netbox/dcim/forms/connections.py +++ b/netbox/dcim/forms/connections.py @@ -18,7 +18,7 @@ __all__ = ( ) -class ConnectCableToDeviceForm(BootstrapMixin, TenancyForm, CustomFieldModelForm): +class ConnectCableToDeviceForm(TenancyForm, CustomFieldModelForm): """ Base form for connecting a Cable to a Device component """ @@ -171,7 +171,7 @@ class ConnectCableToRearPortForm(ConnectCableToDeviceForm): ) -class ConnectCableToCircuitTerminationForm(BootstrapMixin, TenancyForm, CustomFieldModelForm): +class ConnectCableToCircuitTerminationForm(TenancyForm, CustomFieldModelForm): termination_b_provider = DynamicModelChoiceField( queryset=Provider.objects.all(), label='Provider', @@ -229,7 +229,7 @@ class ConnectCableToCircuitTerminationForm(BootstrapMixin, TenancyForm, CustomFi return getattr(self.cleaned_data['termination_b_id'], 'pk', None) -class ConnectCableToPowerFeedForm(BootstrapMixin, TenancyForm, CustomFieldModelForm): +class ConnectCableToPowerFeedForm(TenancyForm, CustomFieldModelForm): termination_b_region = DynamicModelChoiceField( queryset=Region.objects.all(), label='Region', diff --git a/netbox/dcim/forms/models.py b/netbox/dcim/forms/models.py index 36c349740..db2f58a63 100644 --- a/netbox/dcim/forms/models.py +++ b/netbox/dcim/forms/models.py @@ -66,7 +66,7 @@ Tagged (All): Implies all VLANs are available (w/optional untagged VLAN) """ -class RegionForm(BootstrapMixin, CustomFieldModelForm): +class RegionForm(CustomFieldModelForm): parent = DynamicModelChoiceField( queryset=Region.objects.all(), required=False @@ -84,7 +84,7 @@ class RegionForm(BootstrapMixin, CustomFieldModelForm): ) -class SiteGroupForm(BootstrapMixin, CustomFieldModelForm): +class SiteGroupForm(CustomFieldModelForm): parent = DynamicModelChoiceField( queryset=SiteGroup.objects.all(), required=False @@ -102,7 +102,7 @@ class SiteGroupForm(BootstrapMixin, CustomFieldModelForm): ) -class SiteForm(BootstrapMixin, TenancyForm, CustomFieldModelForm): +class SiteForm(TenancyForm, CustomFieldModelForm): region = DynamicModelChoiceField( queryset=Region.objects.all(), required=False @@ -173,7 +173,7 @@ class SiteForm(BootstrapMixin, TenancyForm, CustomFieldModelForm): } -class LocationForm(BootstrapMixin, TenancyForm, CustomFieldModelForm): +class LocationForm(TenancyForm, CustomFieldModelForm): region = DynamicModelChoiceField( queryset=Region.objects.all(), required=False, @@ -221,7 +221,7 @@ class LocationForm(BootstrapMixin, TenancyForm, CustomFieldModelForm): ) -class RackRoleForm(BootstrapMixin, CustomFieldModelForm): +class RackRoleForm(CustomFieldModelForm): slug = SlugField() tags = DynamicModelMultipleChoiceField( queryset=Tag.objects.all(), @@ -235,7 +235,7 @@ class RackRoleForm(BootstrapMixin, CustomFieldModelForm): ] -class RackForm(BootstrapMixin, TenancyForm, CustomFieldModelForm): +class RackForm(TenancyForm, CustomFieldModelForm): region = DynamicModelChoiceField( queryset=Region.objects.all(), required=False, @@ -295,7 +295,7 @@ class RackForm(BootstrapMixin, TenancyForm, CustomFieldModelForm): } -class RackReservationForm(BootstrapMixin, TenancyForm, CustomFieldModelForm): +class RackReservationForm(TenancyForm, CustomFieldModelForm): region = DynamicModelChoiceField( queryset=Region.objects.all(), required=False, @@ -365,7 +365,7 @@ class RackReservationForm(BootstrapMixin, TenancyForm, CustomFieldModelForm): ) -class ManufacturerForm(BootstrapMixin, CustomFieldModelForm): +class ManufacturerForm(CustomFieldModelForm): slug = SlugField() tags = DynamicModelMultipleChoiceField( queryset=Tag.objects.all(), @@ -379,7 +379,7 @@ class ManufacturerForm(BootstrapMixin, CustomFieldModelForm): ] -class DeviceTypeForm(BootstrapMixin, CustomFieldModelForm): +class DeviceTypeForm(CustomFieldModelForm): manufacturer = DynamicModelChoiceField( queryset=Manufacturer.objects.all() ) @@ -418,7 +418,7 @@ class DeviceTypeForm(BootstrapMixin, CustomFieldModelForm): } -class DeviceRoleForm(BootstrapMixin, CustomFieldModelForm): +class DeviceRoleForm(CustomFieldModelForm): slug = SlugField() tags = DynamicModelMultipleChoiceField( queryset=Tag.objects.all(), @@ -432,7 +432,7 @@ class DeviceRoleForm(BootstrapMixin, CustomFieldModelForm): ] -class PlatformForm(BootstrapMixin, CustomFieldModelForm): +class PlatformForm(CustomFieldModelForm): manufacturer = DynamicModelChoiceField( queryset=Manufacturer.objects.all(), required=False @@ -455,7 +455,7 @@ class PlatformForm(BootstrapMixin, CustomFieldModelForm): } -class DeviceForm(BootstrapMixin, TenancyForm, CustomFieldModelForm): +class DeviceForm(TenancyForm, CustomFieldModelForm): region = DynamicModelChoiceField( queryset=Region.objects.all(), required=False, @@ -637,7 +637,7 @@ class DeviceForm(BootstrapMixin, TenancyForm, CustomFieldModelForm): self.fields['position'].widget.choices = [(position, f'U{position}')] -class CableForm(BootstrapMixin, TenancyForm, CustomFieldModelForm): +class CableForm(TenancyForm, CustomFieldModelForm): tags = DynamicModelMultipleChoiceField( queryset=Tag.objects.all(), required=False @@ -660,7 +660,7 @@ class CableForm(BootstrapMixin, TenancyForm, CustomFieldModelForm): } -class PowerPanelForm(BootstrapMixin, CustomFieldModelForm): +class PowerPanelForm(CustomFieldModelForm): region = DynamicModelChoiceField( queryset=Region.objects.all(), required=False, @@ -704,7 +704,7 @@ class PowerPanelForm(BootstrapMixin, CustomFieldModelForm): ) -class PowerFeedForm(BootstrapMixin, CustomFieldModelForm): +class PowerFeedForm(CustomFieldModelForm): region = DynamicModelChoiceField( queryset=Region.objects.all(), required=False, @@ -772,7 +772,7 @@ class PowerFeedForm(BootstrapMixin, CustomFieldModelForm): # Virtual chassis # -class VirtualChassisForm(BootstrapMixin, CustomFieldModelForm): +class VirtualChassisForm(CustomFieldModelForm): master = forms.ModelChoiceField( queryset=Device.objects.all(), required=False, @@ -1005,7 +1005,7 @@ class DeviceBayTemplateForm(BootstrapMixin, forms.ModelForm): # Device components # -class ConsolePortForm(BootstrapMixin, CustomFieldModelForm): +class ConsolePortForm(CustomFieldModelForm): tags = DynamicModelMultipleChoiceField( queryset=Tag.objects.all(), required=False @@ -1021,7 +1021,7 @@ class ConsolePortForm(BootstrapMixin, CustomFieldModelForm): } -class ConsoleServerPortForm(BootstrapMixin, CustomFieldModelForm): +class ConsoleServerPortForm(CustomFieldModelForm): tags = DynamicModelMultipleChoiceField( queryset=Tag.objects.all(), required=False @@ -1037,7 +1037,7 @@ class ConsoleServerPortForm(BootstrapMixin, CustomFieldModelForm): } -class PowerPortForm(BootstrapMixin, CustomFieldModelForm): +class PowerPortForm(CustomFieldModelForm): tags = DynamicModelMultipleChoiceField( queryset=Tag.objects.all(), required=False @@ -1054,7 +1054,7 @@ class PowerPortForm(BootstrapMixin, CustomFieldModelForm): } -class PowerOutletForm(BootstrapMixin, CustomFieldModelForm): +class PowerOutletForm(CustomFieldModelForm): power_port = forms.ModelChoiceField( queryset=PowerPort.objects.all(), required=False @@ -1083,7 +1083,7 @@ class PowerOutletForm(BootstrapMixin, CustomFieldModelForm): ) -class InterfaceForm(BootstrapMixin, InterfaceCommonForm, CustomFieldModelForm): +class InterfaceForm(InterfaceCommonForm, CustomFieldModelForm): parent = DynamicModelChoiceField( queryset=Interface.objects.all(), required=False, @@ -1183,7 +1183,7 @@ class InterfaceForm(BootstrapMixin, InterfaceCommonForm, CustomFieldModelForm): self.fields['tagged_vlans'].widget.add_query_param('available_on_device', device.pk) -class FrontPortForm(BootstrapMixin, CustomFieldModelForm): +class FrontPortForm(CustomFieldModelForm): tags = DynamicModelMultipleChoiceField( queryset=Tag.objects.all(), required=False @@ -1211,7 +1211,7 @@ class FrontPortForm(BootstrapMixin, CustomFieldModelForm): ) -class RearPortForm(BootstrapMixin, CustomFieldModelForm): +class RearPortForm(CustomFieldModelForm): tags = DynamicModelMultipleChoiceField( queryset=Tag.objects.all(), required=False @@ -1228,7 +1228,7 @@ class RearPortForm(BootstrapMixin, CustomFieldModelForm): } -class DeviceBayForm(BootstrapMixin, CustomFieldModelForm): +class DeviceBayForm(CustomFieldModelForm): tags = DynamicModelMultipleChoiceField( queryset=Tag.objects.all(), required=False @@ -1264,7 +1264,7 @@ class PopulateDeviceBayForm(BootstrapMixin, forms.Form): ).exclude(pk=device_bay.device.pk) -class InventoryItemForm(BootstrapMixin, CustomFieldModelForm): +class InventoryItemForm(CustomFieldModelForm): device = DynamicModelChoiceField( queryset=Device.objects.all() ) diff --git a/netbox/dcim/forms/object_create.py b/netbox/dcim/forms/object_create.py index 1e347576a..c7f87677a 100644 --- a/netbox/dcim/forms/object_create.py +++ b/netbox/dcim/forms/object_create.py @@ -63,7 +63,7 @@ class ComponentForm(forms.Form): }, code='label_pattern_mismatch') -class VirtualChassisCreateForm(BootstrapMixin, CustomFieldModelForm): +class VirtualChassisCreateForm(CustomFieldModelForm): region = DynamicModelChoiceField( queryset=Region.objects.all(), required=False, diff --git a/netbox/extras/forms/customfields.py b/netbox/extras/forms/customfields.py index 4e01b7bef..bbd2e91f8 100644 --- a/netbox/extras/forms/customfields.py +++ b/netbox/extras/forms/customfields.py @@ -4,7 +4,7 @@ from django.db.models import Q from extras.choices import * from extras.models import * -from utilities.forms import BulkEditForm, CSVModelForm +from utilities.forms import BootstrapMixin, BulkEditForm, CSVModelForm __all__ = ( 'CustomFieldModelCSVForm', @@ -52,7 +52,7 @@ class CustomFieldsMixin: self.custom_fields.append(field_name) -class CustomFieldModelForm(CustomFieldsMixin, forms.ModelForm): +class CustomFieldModelForm(BootstrapMixin, CustomFieldsMixin, forms.ModelForm): """ Extend ModelForm to include custom field support. """ diff --git a/netbox/ipam/forms/models.py b/netbox/ipam/forms/models.py index baa5e738a..aa2fa3214 100644 --- a/netbox/ipam/forms/models.py +++ b/netbox/ipam/forms/models.py @@ -37,7 +37,7 @@ __all__ = ( ) -class VRFForm(BootstrapMixin, TenancyForm, CustomFieldModelForm): +class VRFForm(TenancyForm, CustomFieldModelForm): import_targets = DynamicModelMultipleChoiceField( queryset=RouteTarget.objects.all(), required=False @@ -70,7 +70,7 @@ class VRFForm(BootstrapMixin, TenancyForm, CustomFieldModelForm): } -class RouteTargetForm(BootstrapMixin, TenancyForm, CustomFieldModelForm): +class RouteTargetForm(TenancyForm, CustomFieldModelForm): tags = DynamicModelMultipleChoiceField( queryset=Tag.objects.all(), required=False @@ -87,7 +87,7 @@ class RouteTargetForm(BootstrapMixin, TenancyForm, CustomFieldModelForm): ) -class RIRForm(BootstrapMixin, CustomFieldModelForm): +class RIRForm(CustomFieldModelForm): slug = SlugField() tags = DynamicModelMultipleChoiceField( queryset=Tag.objects.all(), @@ -101,7 +101,7 @@ class RIRForm(BootstrapMixin, CustomFieldModelForm): ] -class AggregateForm(BootstrapMixin, TenancyForm, CustomFieldModelForm): +class AggregateForm(TenancyForm, CustomFieldModelForm): rir = DynamicModelChoiceField( queryset=RIR.objects.all(), label='RIR' @@ -129,7 +129,7 @@ class AggregateForm(BootstrapMixin, TenancyForm, CustomFieldModelForm): } -class ASNForm(BootstrapMixin, TenancyForm, CustomFieldModelForm): +class ASNForm(TenancyForm, CustomFieldModelForm): rir = DynamicModelChoiceField( queryset=RIR.objects.all(), label='RIR', @@ -173,7 +173,7 @@ class ASNForm(BootstrapMixin, TenancyForm, CustomFieldModelForm): return instance -class RoleForm(BootstrapMixin, CustomFieldModelForm): +class RoleForm(CustomFieldModelForm): slug = SlugField() tags = DynamicModelMultipleChoiceField( queryset=Tag.objects.all(), @@ -187,7 +187,7 @@ class RoleForm(BootstrapMixin, CustomFieldModelForm): ] -class PrefixForm(BootstrapMixin, TenancyForm, CustomFieldModelForm): +class PrefixForm(TenancyForm, CustomFieldModelForm): vrf = DynamicModelChoiceField( queryset=VRF.objects.all(), required=False, @@ -262,7 +262,7 @@ class PrefixForm(BootstrapMixin, TenancyForm, CustomFieldModelForm): } -class IPRangeForm(BootstrapMixin, TenancyForm, CustomFieldModelForm): +class IPRangeForm(TenancyForm, CustomFieldModelForm): vrf = DynamicModelChoiceField( queryset=VRF.objects.all(), required=False, @@ -291,7 +291,7 @@ class IPRangeForm(BootstrapMixin, TenancyForm, CustomFieldModelForm): } -class IPAddressForm(BootstrapMixin, TenancyForm, CustomFieldModelForm): +class IPAddressForm(TenancyForm, CustomFieldModelForm): device = DynamicModelChoiceField( queryset=Device.objects.all(), required=False, @@ -499,7 +499,7 @@ class IPAddressForm(BootstrapMixin, TenancyForm, CustomFieldModelForm): return ipaddress -class IPAddressBulkAddForm(BootstrapMixin, TenancyForm, CustomFieldModelForm): +class IPAddressBulkAddForm(TenancyForm, CustomFieldModelForm): vrf = DynamicModelChoiceField( queryset=VRF.objects.all(), required=False, @@ -533,7 +533,7 @@ class IPAddressAssignForm(BootstrapMixin, forms.Form): ) -class FHRPGroupForm(BootstrapMixin, CustomFieldModelForm): +class FHRPGroupForm(CustomFieldModelForm): tags = DynamicModelMultipleChoiceField( queryset=Tag.objects.all(), required=False @@ -613,7 +613,7 @@ class FHRPGroupAssignmentForm(BootstrapMixin, forms.ModelForm): self.fields['group'].widget.add_query_param('related_ip', ipaddress.pk) -class VLANGroupForm(BootstrapMixin, CustomFieldModelForm): +class VLANGroupForm(CustomFieldModelForm): scope_type = ContentTypeChoiceField( queryset=ContentType.objects.filter(model__in=VLANGROUP_SCOPE_TYPES), required=False, @@ -720,7 +720,7 @@ class VLANGroupForm(BootstrapMixin, CustomFieldModelForm): self.instance.scope_id = None -class VLANForm(BootstrapMixin, TenancyForm, CustomFieldModelForm): +class VLANForm(TenancyForm, CustomFieldModelForm): # VLANGroup assignment fields scope_type = forms.ChoiceField( choices=( @@ -801,7 +801,7 @@ class VLANForm(BootstrapMixin, TenancyForm, CustomFieldModelForm): } -class ServiceForm(BootstrapMixin, CustomFieldModelForm): +class ServiceForm(CustomFieldModelForm): ports = NumericArrayField( base_field=forms.IntegerField( min_value=SERVICE_PORT_MIN, diff --git a/netbox/tenancy/forms/models.py b/netbox/tenancy/forms/models.py index 0237e4ef8..398a44c9b 100644 --- a/netbox/tenancy/forms/models.py +++ b/netbox/tenancy/forms/models.py @@ -22,7 +22,7 @@ __all__ = ( # Tenants # -class TenantGroupForm(BootstrapMixin, CustomFieldModelForm): +class TenantGroupForm(CustomFieldModelForm): parent = DynamicModelChoiceField( queryset=TenantGroup.objects.all(), required=False @@ -40,7 +40,7 @@ class TenantGroupForm(BootstrapMixin, CustomFieldModelForm): ] -class TenantForm(BootstrapMixin, CustomFieldModelForm): +class TenantForm(CustomFieldModelForm): slug = SlugField() group = DynamicModelChoiceField( queryset=TenantGroup.objects.all(), @@ -66,7 +66,7 @@ class TenantForm(BootstrapMixin, CustomFieldModelForm): # Contacts # -class ContactGroupForm(BootstrapMixin, CustomFieldModelForm): +class ContactGroupForm(CustomFieldModelForm): parent = DynamicModelChoiceField( queryset=ContactGroup.objects.all(), required=False @@ -82,7 +82,7 @@ class ContactGroupForm(BootstrapMixin, CustomFieldModelForm): fields = ('parent', 'name', 'slug', 'description', 'tags') -class ContactRoleForm(BootstrapMixin, CustomFieldModelForm): +class ContactRoleForm(CustomFieldModelForm): slug = SlugField() tags = DynamicModelMultipleChoiceField( queryset=Tag.objects.all(), @@ -94,7 +94,7 @@ class ContactRoleForm(BootstrapMixin, CustomFieldModelForm): fields = ('name', 'slug', 'description', 'tags') -class ContactForm(BootstrapMixin, CustomFieldModelForm): +class ContactForm(CustomFieldModelForm): group = DynamicModelChoiceField( queryset=ContactGroup.objects.all(), required=False diff --git a/netbox/utilities/forms/forms.py b/netbox/utilities/forms/forms.py index 8bc113218..177c89e52 100644 --- a/netbox/utilities/forms/forms.py +++ b/netbox/utilities/forms/forms.py @@ -19,7 +19,7 @@ __all__ = ( ) -class BootstrapMixin(forms.BaseForm): +class BootstrapMixin: """ Add the base Bootstrap CSS classes to form elements. """ diff --git a/netbox/virtualization/forms/models.py b/netbox/virtualization/forms/models.py index 7fa5b0fa6..6fa90ea65 100644 --- a/netbox/virtualization/forms/models.py +++ b/netbox/virtualization/forms/models.py @@ -26,7 +26,7 @@ __all__ = ( ) -class ClusterTypeForm(BootstrapMixin, CustomFieldModelForm): +class ClusterTypeForm(CustomFieldModelForm): slug = SlugField() tags = DynamicModelMultipleChoiceField( queryset=Tag.objects.all(), @@ -40,7 +40,7 @@ class ClusterTypeForm(BootstrapMixin, CustomFieldModelForm): ) -class ClusterGroupForm(BootstrapMixin, CustomFieldModelForm): +class ClusterGroupForm(CustomFieldModelForm): slug = SlugField() tags = DynamicModelMultipleChoiceField( queryset=Tag.objects.all(), @@ -54,7 +54,7 @@ class ClusterGroupForm(BootstrapMixin, CustomFieldModelForm): ) -class ClusterForm(BootstrapMixin, TenancyForm, CustomFieldModelForm): +class ClusterForm(TenancyForm, CustomFieldModelForm): type = DynamicModelChoiceField( queryset=ClusterType.objects.all() ) @@ -171,7 +171,7 @@ class ClusterRemoveDevicesForm(ConfirmationForm): ) -class VirtualMachineForm(BootstrapMixin, TenancyForm, CustomFieldModelForm): +class VirtualMachineForm(TenancyForm, CustomFieldModelForm): cluster_group = DynamicModelChoiceField( queryset=ClusterGroup.objects.all(), required=False, @@ -271,7 +271,7 @@ class VirtualMachineForm(BootstrapMixin, TenancyForm, CustomFieldModelForm): self.fields['primary_ip6'].widget.attrs['readonly'] = True -class VMInterfaceForm(BootstrapMixin, InterfaceCommonForm, CustomFieldModelForm): +class VMInterfaceForm(InterfaceCommonForm, CustomFieldModelForm): parent = DynamicModelChoiceField( queryset=VMInterface.objects.all(), required=False, diff --git a/netbox/wireless/forms/models.py b/netbox/wireless/forms/models.py index f7985a31d..21b76af21 100644 --- a/netbox/wireless/forms/models.py +++ b/netbox/wireless/forms/models.py @@ -14,7 +14,7 @@ __all__ = ( ) -class WirelessLANGroupForm(BootstrapMixin, CustomFieldModelForm): +class WirelessLANGroupForm(CustomFieldModelForm): parent = DynamicModelChoiceField( queryset=WirelessLANGroup.objects.all(), required=False @@ -32,7 +32,7 @@ class WirelessLANGroupForm(BootstrapMixin, CustomFieldModelForm): ] -class WirelessLANForm(BootstrapMixin, CustomFieldModelForm): +class WirelessLANForm(CustomFieldModelForm): group = DynamicModelChoiceField( queryset=WirelessLANGroup.objects.all(), required=False @@ -63,7 +63,7 @@ class WirelessLANForm(BootstrapMixin, CustomFieldModelForm): } -class WirelessLinkForm(BootstrapMixin, CustomFieldModelForm): +class WirelessLinkForm(CustomFieldModelForm): site_a = DynamicModelChoiceField( queryset=Site.objects.all(), required=False, From 55049bb3035d04b4265499d2d5500a9b37ad4ba8 Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Thu, 18 Nov 2021 16:23:26 -0500 Subject: [PATCH 2/5] Apply BootstrapMixin to BulkEditForm --- netbox/circuits/forms/bulk_edit.py | 8 ++-- netbox/dcim/forms/bulk_edit.py | 57 ++++++++++-------------- netbox/extras/forms/bulk_edit.py | 14 +++--- netbox/ipam/forms/bulk_edit.py | 26 +++++------ netbox/tenancy/forms/bulk_edit.py | 10 ++--- netbox/utilities/forms/forms.py | 2 +- netbox/virtualization/forms/bulk_edit.py | 10 ++--- netbox/wireless/forms/bulk_edit.py | 6 +-- 8 files changed, 62 insertions(+), 71 deletions(-) diff --git a/netbox/circuits/forms/bulk_edit.py b/netbox/circuits/forms/bulk_edit.py index 7bf5644b9..b2710b0d9 100644 --- a/netbox/circuits/forms/bulk_edit.py +++ b/netbox/circuits/forms/bulk_edit.py @@ -16,7 +16,7 @@ __all__ = ( ) -class ProviderBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldModelBulkEditForm): +class ProviderBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm): pk = forms.ModelMultipleChoiceField( queryset=Provider.objects.all(), widget=forms.MultipleHiddenInput @@ -55,7 +55,7 @@ class ProviderBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldModelBu ] -class ProviderNetworkBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldModelBulkEditForm): +class ProviderNetworkBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm): pk = forms.ModelMultipleChoiceField( queryset=ProviderNetwork.objects.all(), widget=forms.MultipleHiddenInput @@ -79,7 +79,7 @@ class ProviderNetworkBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomField ] -class CircuitTypeBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldModelBulkEditForm): +class CircuitTypeBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm): pk = forms.ModelMultipleChoiceField( queryset=CircuitType.objects.all(), widget=forms.MultipleHiddenInput @@ -93,7 +93,7 @@ class CircuitTypeBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldMode nullable_fields = ['description'] -class CircuitBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldModelBulkEditForm): +class CircuitBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm): pk = forms.ModelMultipleChoiceField( queryset=Circuit.objects.all(), widget=forms.MultipleHiddenInput diff --git a/netbox/dcim/forms/bulk_edit.py b/netbox/dcim/forms/bulk_edit.py index 453cead1c..9d2c215d4 100644 --- a/netbox/dcim/forms/bulk_edit.py +++ b/netbox/dcim/forms/bulk_edit.py @@ -52,7 +52,7 @@ __all__ = ( ) -class RegionBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldModelBulkEditForm): +class RegionBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm): pk = forms.ModelMultipleChoiceField( queryset=Region.objects.all(), widget=forms.MultipleHiddenInput @@ -70,7 +70,7 @@ class RegionBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldModelBulk nullable_fields = ['parent', 'description'] -class SiteGroupBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldModelBulkEditForm): +class SiteGroupBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm): pk = forms.ModelMultipleChoiceField( queryset=SiteGroup.objects.all(), widget=forms.MultipleHiddenInput @@ -88,7 +88,7 @@ class SiteGroupBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldModelB nullable_fields = ['parent', 'description'] -class SiteBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldModelBulkEditForm): +class SiteBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm): pk = forms.ModelMultipleChoiceField( queryset=Site.objects.all(), widget=forms.MultipleHiddenInput @@ -138,7 +138,7 @@ class SiteBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldModelBulkEd ] -class LocationBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldModelBulkEditForm): +class LocationBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm): pk = forms.ModelMultipleChoiceField( queryset=Location.objects.all(), widget=forms.MultipleHiddenInput @@ -167,7 +167,7 @@ class LocationBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldModelBu nullable_fields = ['parent', 'tenant', 'description'] -class RackRoleBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldModelBulkEditForm): +class RackRoleBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm): pk = forms.ModelMultipleChoiceField( queryset=RackRole.objects.all(), widget=forms.MultipleHiddenInput @@ -184,7 +184,7 @@ class RackRoleBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldModelBu nullable_fields = ['color', 'description'] -class RackBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldModelBulkEditForm): +class RackBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm): pk = forms.ModelMultipleChoiceField( queryset=Rack.objects.all(), widget=forms.MultipleHiddenInput @@ -284,7 +284,7 @@ class RackBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldModelBulkEd ] -class RackReservationBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldModelBulkEditForm): +class RackReservationBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm): pk = forms.ModelMultipleChoiceField( queryset=RackReservation.objects.all(), widget=forms.MultipleHiddenInput() @@ -309,7 +309,7 @@ class RackReservationBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomField nullable_fields = [] -class ManufacturerBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldModelBulkEditForm): +class ManufacturerBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm): pk = forms.ModelMultipleChoiceField( queryset=Manufacturer.objects.all(), widget=forms.MultipleHiddenInput @@ -323,7 +323,7 @@ class ManufacturerBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldMod nullable_fields = ['description'] -class DeviceTypeBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldModelBulkEditForm): +class DeviceTypeBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm): pk = forms.ModelMultipleChoiceField( queryset=DeviceType.objects.all(), widget=forms.MultipleHiddenInput() @@ -351,7 +351,7 @@ class DeviceTypeBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldModel nullable_fields = ['airflow'] -class DeviceRoleBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldModelBulkEditForm): +class DeviceRoleBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm): pk = forms.ModelMultipleChoiceField( queryset=DeviceRole.objects.all(), widget=forms.MultipleHiddenInput @@ -373,7 +373,7 @@ class DeviceRoleBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldModel nullable_fields = ['color', 'description'] -class PlatformBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldModelBulkEditForm): +class PlatformBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm): pk = forms.ModelMultipleChoiceField( queryset=Platform.objects.all(), widget=forms.MultipleHiddenInput @@ -396,7 +396,7 @@ class PlatformBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldModelBu nullable_fields = ['manufacturer', 'napalm_driver', 'description'] -class DeviceBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldModelBulkEditForm): +class DeviceBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm): pk = forms.ModelMultipleChoiceField( queryset=Device.objects.all(), widget=forms.MultipleHiddenInput() @@ -457,7 +457,7 @@ class DeviceBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldModelBulk ] -class CableBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldModelBulkEditForm): +class CableBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm): pk = forms.ModelMultipleChoiceField( queryset=Cable.objects.all(), widget=forms.MultipleHiddenInput @@ -513,7 +513,7 @@ class CableBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldModelBulkE }) -class VirtualChassisBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldModelBulkEditForm): +class VirtualChassisBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm): pk = forms.ModelMultipleChoiceField( queryset=VirtualChassis.objects.all(), widget=forms.MultipleHiddenInput() @@ -527,7 +527,7 @@ class VirtualChassisBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldM nullable_fields = ['domain'] -class PowerPanelBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldModelBulkEditForm): +class PowerPanelBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm): pk = forms.ModelMultipleChoiceField( queryset=PowerPanel.objects.all(), widget=forms.MultipleHiddenInput @@ -566,7 +566,7 @@ class PowerPanelBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldModel nullable_fields = ['location'] -class PowerFeedBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldModelBulkEditForm): +class PowerFeedBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm): pk = forms.ModelMultipleChoiceField( queryset=PowerFeed.objects.all(), widget=forms.MultipleHiddenInput @@ -631,7 +631,7 @@ class PowerFeedBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldModelB # Device component templates # -class ConsolePortTemplateBulkEditForm(BootstrapMixin, BulkEditForm): +class ConsolePortTemplateBulkEditForm(BulkEditForm): pk = forms.ModelMultipleChoiceField( queryset=ConsolePortTemplate.objects.all(), widget=forms.MultipleHiddenInput() @@ -650,7 +650,7 @@ class ConsolePortTemplateBulkEditForm(BootstrapMixin, BulkEditForm): nullable_fields = ('label', 'type', 'description') -class ConsoleServerPortTemplateBulkEditForm(BootstrapMixin, BulkEditForm): +class ConsoleServerPortTemplateBulkEditForm(BulkEditForm): pk = forms.ModelMultipleChoiceField( queryset=ConsoleServerPortTemplate.objects.all(), widget=forms.MultipleHiddenInput() @@ -672,7 +672,7 @@ class ConsoleServerPortTemplateBulkEditForm(BootstrapMixin, BulkEditForm): nullable_fields = ('label', 'type', 'description') -class PowerPortTemplateBulkEditForm(BootstrapMixin, BulkEditForm): +class PowerPortTemplateBulkEditForm(BulkEditForm): pk = forms.ModelMultipleChoiceField( queryset=PowerPortTemplate.objects.all(), widget=forms.MultipleHiddenInput() @@ -704,7 +704,7 @@ class PowerPortTemplateBulkEditForm(BootstrapMixin, BulkEditForm): nullable_fields = ('label', 'type', 'maximum_draw', 'allocated_draw', 'description') -class PowerOutletTemplateBulkEditForm(BootstrapMixin, BulkEditForm): +class PowerOutletTemplateBulkEditForm(BulkEditForm): pk = forms.ModelMultipleChoiceField( queryset=PowerOutletTemplate.objects.all(), widget=forms.MultipleHiddenInput() @@ -752,7 +752,7 @@ class PowerOutletTemplateBulkEditForm(BootstrapMixin, BulkEditForm): self.fields['power_port'].widget.attrs['disabled'] = True -class InterfaceTemplateBulkEditForm(BootstrapMixin, BulkEditForm): +class InterfaceTemplateBulkEditForm(BulkEditForm): pk = forms.ModelMultipleChoiceField( queryset=InterfaceTemplate.objects.all(), widget=forms.MultipleHiddenInput() @@ -779,7 +779,7 @@ class InterfaceTemplateBulkEditForm(BootstrapMixin, BulkEditForm): nullable_fields = ('label', 'description') -class FrontPortTemplateBulkEditForm(BootstrapMixin, BulkEditForm): +class FrontPortTemplateBulkEditForm(BulkEditForm): pk = forms.ModelMultipleChoiceField( queryset=FrontPortTemplate.objects.all(), widget=forms.MultipleHiddenInput() @@ -804,7 +804,7 @@ class FrontPortTemplateBulkEditForm(BootstrapMixin, BulkEditForm): nullable_fields = ('description',) -class RearPortTemplateBulkEditForm(BootstrapMixin, BulkEditForm): +class RearPortTemplateBulkEditForm(BulkEditForm): pk = forms.ModelMultipleChoiceField( queryset=RearPortTemplate.objects.all(), widget=forms.MultipleHiddenInput() @@ -829,7 +829,7 @@ class RearPortTemplateBulkEditForm(BootstrapMixin, BulkEditForm): nullable_fields = ('description',) -class DeviceBayTemplateBulkEditForm(BootstrapMixin, BulkEditForm): +class DeviceBayTemplateBulkEditForm(BulkEditForm): pk = forms.ModelMultipleChoiceField( queryset=DeviceBayTemplate.objects.all(), widget=forms.MultipleHiddenInput() @@ -852,7 +852,6 @@ class DeviceBayTemplateBulkEditForm(BootstrapMixin, BulkEditForm): class ConsolePortBulkEditForm( form_from_model(ConsolePort, ['label', 'type', 'speed', 'mark_connected', 'description']), - BootstrapMixin, AddRemoveTagsForm, CustomFieldModelBulkEditForm ): @@ -871,7 +870,6 @@ class ConsolePortBulkEditForm( class ConsoleServerPortBulkEditForm( form_from_model(ConsoleServerPort, ['label', 'type', 'speed', 'mark_connected', 'description']), - BootstrapMixin, AddRemoveTagsForm, CustomFieldModelBulkEditForm ): @@ -890,7 +888,6 @@ class ConsoleServerPortBulkEditForm( class PowerPortBulkEditForm( form_from_model(PowerPort, ['label', 'type', 'maximum_draw', 'allocated_draw', 'mark_connected', 'description']), - BootstrapMixin, AddRemoveTagsForm, CustomFieldModelBulkEditForm ): @@ -909,7 +906,6 @@ class PowerPortBulkEditForm( class PowerOutletBulkEditForm( form_from_model(PowerOutlet, ['label', 'type', 'feed_leg', 'power_port', 'mark_connected', 'description']), - BootstrapMixin, AddRemoveTagsForm, CustomFieldModelBulkEditForm ): @@ -948,7 +944,6 @@ class InterfaceBulkEditForm( 'label', 'type', 'parent', 'bridge', 'lag', 'mac_address', 'wwn', 'mtu', 'mgmt_only', 'mark_connected', 'description', 'mode', 'rf_role', 'rf_channel', 'rf_channel_frequency', 'rf_channel_width', 'tx_power', ]), - BootstrapMixin, AddRemoveTagsForm, CustomFieldModelBulkEditForm ): @@ -1061,7 +1056,6 @@ class InterfaceBulkEditForm( class FrontPortBulkEditForm( form_from_model(FrontPort, ['label', 'type', 'color', 'mark_connected', 'description']), - BootstrapMixin, AddRemoveTagsForm, CustomFieldModelBulkEditForm ): @@ -1076,7 +1070,6 @@ class FrontPortBulkEditForm( class RearPortBulkEditForm( form_from_model(RearPort, ['label', 'type', 'color', 'mark_connected', 'description']), - BootstrapMixin, AddRemoveTagsForm, CustomFieldModelBulkEditForm ): @@ -1091,7 +1084,6 @@ class RearPortBulkEditForm( class DeviceBayBulkEditForm( form_from_model(DeviceBay, ['label', 'description']), - BootstrapMixin, AddRemoveTagsForm, CustomFieldModelBulkEditForm ): @@ -1106,7 +1098,6 @@ class DeviceBayBulkEditForm( class InventoryItemBulkEditForm( form_from_model(InventoryItem, ['label', 'manufacturer', 'part_id', 'description']), - BootstrapMixin, AddRemoveTagsForm, CustomFieldModelBulkEditForm ): diff --git a/netbox/extras/forms/bulk_edit.py b/netbox/extras/forms/bulk_edit.py index 937814c5a..36bd61fcb 100644 --- a/netbox/extras/forms/bulk_edit.py +++ b/netbox/extras/forms/bulk_edit.py @@ -19,7 +19,7 @@ __all__ = ( ) -class CustomFieldBulkEditForm(BootstrapMixin, BulkEditForm): +class CustomFieldBulkEditForm(BulkEditForm): pk = forms.ModelMultipleChoiceField( queryset=CustomField.objects.all(), widget=forms.MultipleHiddenInput @@ -39,7 +39,7 @@ class CustomFieldBulkEditForm(BootstrapMixin, BulkEditForm): nullable_fields = [] -class CustomLinkBulkEditForm(BootstrapMixin, BulkEditForm): +class CustomLinkBulkEditForm(BulkEditForm): pk = forms.ModelMultipleChoiceField( queryset=CustomLink.objects.all(), widget=forms.MultipleHiddenInput @@ -66,7 +66,7 @@ class CustomLinkBulkEditForm(BootstrapMixin, BulkEditForm): nullable_fields = [] -class ExportTemplateBulkEditForm(BootstrapMixin, BulkEditForm): +class ExportTemplateBulkEditForm(BulkEditForm): pk = forms.ModelMultipleChoiceField( queryset=ExportTemplate.objects.all(), widget=forms.MultipleHiddenInput @@ -97,7 +97,7 @@ class ExportTemplateBulkEditForm(BootstrapMixin, BulkEditForm): nullable_fields = ['description', 'mime_type', 'file_extension'] -class WebhookBulkEditForm(BootstrapMixin, BulkEditForm): +class WebhookBulkEditForm(BulkEditForm): pk = forms.ModelMultipleChoiceField( queryset=Webhook.objects.all(), widget=forms.MultipleHiddenInput @@ -140,7 +140,7 @@ class WebhookBulkEditForm(BootstrapMixin, BulkEditForm): nullable_fields = ['secret', 'conditions', 'ca_file_path'] -class TagBulkEditForm(BootstrapMixin, BulkEditForm): +class TagBulkEditForm(BulkEditForm): pk = forms.ModelMultipleChoiceField( queryset=Tag.objects.all(), widget=forms.MultipleHiddenInput @@ -157,7 +157,7 @@ class TagBulkEditForm(BootstrapMixin, BulkEditForm): nullable_fields = ['description'] -class ConfigContextBulkEditForm(BootstrapMixin, BulkEditForm): +class ConfigContextBulkEditForm(BulkEditForm): pk = forms.ModelMultipleChoiceField( queryset=ConfigContext.objects.all(), widget=forms.MultipleHiddenInput @@ -181,7 +181,7 @@ class ConfigContextBulkEditForm(BootstrapMixin, BulkEditForm): ] -class JournalEntryBulkEditForm(BootstrapMixin, BulkEditForm): +class JournalEntryBulkEditForm(BulkEditForm): pk = forms.ModelMultipleChoiceField( queryset=JournalEntry.objects.all(), widget=forms.MultipleHiddenInput diff --git a/netbox/ipam/forms/bulk_edit.py b/netbox/ipam/forms/bulk_edit.py index ab53dfb8c..05fc67771 100644 --- a/netbox/ipam/forms/bulk_edit.py +++ b/netbox/ipam/forms/bulk_edit.py @@ -29,7 +29,7 @@ __all__ = ( ) -class VRFBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldModelBulkEditForm): +class VRFBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm): pk = forms.ModelMultipleChoiceField( queryset=VRF.objects.all(), widget=forms.MultipleHiddenInput() @@ -54,7 +54,7 @@ class VRFBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldModelBulkEdi ] -class RouteTargetBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldModelBulkEditForm): +class RouteTargetBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm): pk = forms.ModelMultipleChoiceField( queryset=RouteTarget.objects.all(), widget=forms.MultipleHiddenInput() @@ -74,7 +74,7 @@ class RouteTargetBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldMode ] -class RIRBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldModelBulkEditForm): +class RIRBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm): pk = forms.ModelMultipleChoiceField( queryset=RIR.objects.all(), widget=forms.MultipleHiddenInput @@ -92,7 +92,7 @@ class RIRBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldModelBulkEdi nullable_fields = ['is_private', 'description'] -class ASNBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldModelBulkEditForm): +class ASNBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm): pk = forms.ModelMultipleChoiceField( queryset=ASN.objects.all(), widget=forms.MultipleHiddenInput() @@ -124,7 +124,7 @@ class ASNBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldModelBulkEdi } -class AggregateBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldModelBulkEditForm): +class AggregateBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm): pk = forms.ModelMultipleChoiceField( queryset=Aggregate.objects.all(), widget=forms.MultipleHiddenInput() @@ -155,7 +155,7 @@ class AggregateBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldModelB } -class RoleBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldModelBulkEditForm): +class RoleBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm): pk = forms.ModelMultipleChoiceField( queryset=Role.objects.all(), widget=forms.MultipleHiddenInput @@ -172,7 +172,7 @@ class RoleBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldModelBulkEd nullable_fields = ['description'] -class PrefixBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldModelBulkEditForm): +class PrefixBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm): pk = forms.ModelMultipleChoiceField( queryset=Prefix.objects.all(), widget=forms.MultipleHiddenInput() @@ -237,7 +237,7 @@ class PrefixBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldModelBulk ] -class IPRangeBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldModelBulkEditForm): +class IPRangeBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm): pk = forms.ModelMultipleChoiceField( queryset=IPRange.objects.all(), widget=forms.MultipleHiddenInput() @@ -271,7 +271,7 @@ class IPRangeBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldModelBul ] -class IPAddressBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldModelBulkEditForm): +class IPAddressBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm): pk = forms.ModelMultipleChoiceField( queryset=IPAddress.objects.all(), widget=forms.MultipleHiddenInput() @@ -315,7 +315,7 @@ class IPAddressBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldModelB ] -class FHRPGroupBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldModelBulkEditForm): +class FHRPGroupBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm): pk = forms.ModelMultipleChoiceField( queryset=FHRPGroup.objects.all(), widget=forms.MultipleHiddenInput() @@ -350,7 +350,7 @@ class FHRPGroupBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldModelB nullable_fields = ['auth_type', 'auth_key', 'description'] -class VLANGroupBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldModelBulkEditForm): +class VLANGroupBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm): pk = forms.ModelMultipleChoiceField( queryset=VLANGroup.objects.all(), widget=forms.MultipleHiddenInput @@ -368,7 +368,7 @@ class VLANGroupBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldModelB nullable_fields = ['site', 'description'] -class VLANBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldModelBulkEditForm): +class VLANBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm): pk = forms.ModelMultipleChoiceField( queryset=VLAN.objects.all(), widget=forms.MultipleHiddenInput() @@ -420,7 +420,7 @@ class VLANBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldModelBulkEd ] -class ServiceBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldModelBulkEditForm): +class ServiceBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm): pk = forms.ModelMultipleChoiceField( queryset=Service.objects.all(), widget=forms.MultipleHiddenInput() diff --git a/netbox/tenancy/forms/bulk_edit.py b/netbox/tenancy/forms/bulk_edit.py index f461fe73c..144c9aff7 100644 --- a/netbox/tenancy/forms/bulk_edit.py +++ b/netbox/tenancy/forms/bulk_edit.py @@ -17,7 +17,7 @@ __all__ = ( # Tenants # -class TenantGroupBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldModelBulkEditForm): +class TenantGroupBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm): pk = forms.ModelMultipleChoiceField( queryset=TenantGroup.objects.all(), widget=forms.MultipleHiddenInput @@ -35,7 +35,7 @@ class TenantGroupBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldMode nullable_fields = ['parent', 'description'] -class TenantBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldModelBulkEditForm): +class TenantBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm): pk = forms.ModelMultipleChoiceField( queryset=Tenant.objects.all(), widget=forms.MultipleHiddenInput() @@ -55,7 +55,7 @@ class TenantBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldModelBulk # Contacts # -class ContactGroupBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldModelBulkEditForm): +class ContactGroupBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm): pk = forms.ModelMultipleChoiceField( queryset=ContactGroup.objects.all(), widget=forms.MultipleHiddenInput @@ -73,7 +73,7 @@ class ContactGroupBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldMod nullable_fields = ['parent', 'description'] -class ContactRoleBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldModelBulkEditForm): +class ContactRoleBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm): pk = forms.ModelMultipleChoiceField( queryset=ContactRole.objects.all(), widget=forms.MultipleHiddenInput @@ -87,7 +87,7 @@ class ContactRoleBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldMode nullable_fields = ['description'] -class ContactBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldModelBulkEditForm): +class ContactBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm): pk = forms.ModelMultipleChoiceField( queryset=Contact.objects.all(), widget=forms.MultipleHiddenInput() diff --git a/netbox/utilities/forms/forms.py b/netbox/utilities/forms/forms.py index 177c89e52..1cb5ae123 100644 --- a/netbox/utilities/forms/forms.py +++ b/netbox/utilities/forms/forms.py @@ -73,7 +73,7 @@ class ConfirmationForm(BootstrapMixin, ReturnURLForm): confirm = forms.BooleanField(required=True, widget=forms.HiddenInput(), initial=True) -class BulkEditForm(forms.Form): +class BulkEditForm(BootstrapMixin, forms.Form): """ Base form for editing multiple objects in bulk """ diff --git a/netbox/virtualization/forms/bulk_edit.py b/netbox/virtualization/forms/bulk_edit.py index d6c190904..51eda528d 100644 --- a/netbox/virtualization/forms/bulk_edit.py +++ b/netbox/virtualization/forms/bulk_edit.py @@ -23,7 +23,7 @@ __all__ = ( ) -class ClusterTypeBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldModelBulkEditForm): +class ClusterTypeBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm): pk = forms.ModelMultipleChoiceField( queryset=ClusterType.objects.all(), widget=forms.MultipleHiddenInput @@ -37,7 +37,7 @@ class ClusterTypeBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldMode nullable_fields = ['description'] -class ClusterGroupBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldModelBulkEditForm): +class ClusterGroupBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm): pk = forms.ModelMultipleChoiceField( queryset=ClusterGroup.objects.all(), widget=forms.MultipleHiddenInput @@ -51,7 +51,7 @@ class ClusterGroupBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldMod nullable_fields = ['description'] -class ClusterBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldModelBulkEditForm): +class ClusterBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm): pk = forms.ModelMultipleChoiceField( queryset=Cluster.objects.all(), widget=forms.MultipleHiddenInput() @@ -95,7 +95,7 @@ class ClusterBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldModelBul ] -class VirtualMachineBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldModelBulkEditForm): +class VirtualMachineBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm): pk = forms.ModelMultipleChoiceField( queryset=VirtualMachine.objects.all(), widget=forms.MultipleHiddenInput() @@ -150,7 +150,7 @@ class VirtualMachineBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldM ] -class VMInterfaceBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldModelBulkEditForm): +class VMInterfaceBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm): pk = forms.ModelMultipleChoiceField( queryset=VMInterface.objects.all(), widget=forms.MultipleHiddenInput() diff --git a/netbox/wireless/forms/bulk_edit.py b/netbox/wireless/forms/bulk_edit.py index 4de1724f3..07ff9e419 100644 --- a/netbox/wireless/forms/bulk_edit.py +++ b/netbox/wireless/forms/bulk_edit.py @@ -15,7 +15,7 @@ __all__ = ( ) -class WirelessLANGroupBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldModelBulkEditForm): +class WirelessLANGroupBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm): pk = forms.ModelMultipleChoiceField( queryset=WirelessLANGroup.objects.all(), widget=forms.MultipleHiddenInput @@ -33,7 +33,7 @@ class WirelessLANGroupBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFiel nullable_fields = ['parent', 'description'] -class WirelessLANBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldModelBulkEditForm): +class WirelessLANBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm): pk = forms.ModelMultipleChoiceField( queryset=WirelessLAN.objects.all(), widget=forms.MultipleHiddenInput @@ -69,7 +69,7 @@ class WirelessLANBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldMode nullable_fields = ['ssid', 'group', 'vlan', 'description', 'auth_type', 'auth_cipher', 'auth_psk'] -class WirelessLinkBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldModelBulkEditForm): +class WirelessLinkBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm): pk = forms.ModelMultipleChoiceField( queryset=WirelessLink.objects.all(), widget=forms.MultipleHiddenInput From ed2231e34bfde4610a081a779eafa5e56b70348e Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Thu, 18 Nov 2021 16:27:06 -0500 Subject: [PATCH 3/5] Apply BootstrapMixin to CustomFieldModelFilterForm --- netbox/circuits/forms/filtersets.py | 8 +++--- netbox/dcim/forms/filtersets.py | 34 +++++++++++------------ netbox/extras/forms/customfields.py | 2 +- netbox/ipam/forms/filtersets.py | 26 ++++++++--------- netbox/tenancy/forms/filtersets.py | 10 +++---- netbox/virtualization/forms/filtersets.py | 13 +++------ netbox/wireless/forms/filtersets.py | 6 ++-- 7 files changed, 47 insertions(+), 52 deletions(-) diff --git a/netbox/circuits/forms/filtersets.py b/netbox/circuits/forms/filtersets.py index b29f8f772..6c2594ccd 100644 --- a/netbox/circuits/forms/filtersets.py +++ b/netbox/circuits/forms/filtersets.py @@ -16,7 +16,7 @@ __all__ = ( ) -class ProviderFilterForm(BootstrapMixin, CustomFieldModelFilterForm): +class ProviderFilterForm(CustomFieldModelFilterForm): model = Provider field_groups = [ ['q', 'tag'], @@ -57,7 +57,7 @@ class ProviderFilterForm(BootstrapMixin, CustomFieldModelFilterForm): tag = TagFilterField(model) -class ProviderNetworkFilterForm(BootstrapMixin, CustomFieldModelFilterForm): +class ProviderNetworkFilterForm(CustomFieldModelFilterForm): model = ProviderNetwork field_groups = ( ('q', 'tag'), @@ -77,7 +77,7 @@ class ProviderNetworkFilterForm(BootstrapMixin, CustomFieldModelFilterForm): tag = TagFilterField(model) -class CircuitTypeFilterForm(BootstrapMixin, CustomFieldModelFilterForm): +class CircuitTypeFilterForm(CustomFieldModelFilterForm): model = CircuitType q = forms.CharField( required=False, @@ -87,7 +87,7 @@ class CircuitTypeFilterForm(BootstrapMixin, CustomFieldModelFilterForm): tag = TagFilterField(model) -class CircuitFilterForm(BootstrapMixin, TenancyFilterForm, CustomFieldModelFilterForm): +class CircuitFilterForm(TenancyFilterForm, CustomFieldModelFilterForm): model = Circuit field_groups = [ ['q', 'tag'], diff --git a/netbox/dcim/forms/filtersets.py b/netbox/dcim/forms/filtersets.py index e61ff250e..72b7418c1 100644 --- a/netbox/dcim/forms/filtersets.py +++ b/netbox/dcim/forms/filtersets.py @@ -47,7 +47,7 @@ __all__ = ( ) -class DeviceComponentFilterForm(BootstrapMixin, CustomFieldModelFilterForm): +class DeviceComponentFilterForm(CustomFieldModelFilterForm): field_order = [ 'q', 'name', 'label', 'region_id', 'site_group_id', 'site_id', ] @@ -112,7 +112,7 @@ class DeviceComponentFilterForm(BootstrapMixin, CustomFieldModelFilterForm): ) -class RegionFilterForm(BootstrapMixin, CustomFieldModelFilterForm): +class RegionFilterForm(CustomFieldModelFilterForm): model = Region q = forms.CharField( required=False, @@ -128,7 +128,7 @@ class RegionFilterForm(BootstrapMixin, CustomFieldModelFilterForm): tag = TagFilterField(model) -class SiteGroupFilterForm(BootstrapMixin, CustomFieldModelFilterForm): +class SiteGroupFilterForm(CustomFieldModelFilterForm): model = SiteGroup q = forms.CharField( required=False, @@ -144,7 +144,7 @@ class SiteGroupFilterForm(BootstrapMixin, CustomFieldModelFilterForm): tag = TagFilterField(model) -class SiteFilterForm(BootstrapMixin, TenancyFilterForm, CustomFieldModelFilterForm): +class SiteFilterForm(TenancyFilterForm, CustomFieldModelFilterForm): model = Site field_order = ['q', 'status', 'region_id', 'tenant_group_id', 'tenant_id', 'asn_id'] field_groups = [ @@ -184,7 +184,7 @@ class SiteFilterForm(BootstrapMixin, TenancyFilterForm, CustomFieldModelFilterFo tag = TagFilterField(model) -class LocationFilterForm(BootstrapMixin, TenancyFilterForm, CustomFieldModelFilterForm): +class LocationFilterForm(TenancyFilterForm, CustomFieldModelFilterForm): model = Location field_groups = [ ['q'], @@ -231,7 +231,7 @@ class LocationFilterForm(BootstrapMixin, TenancyFilterForm, CustomFieldModelFilt tag = TagFilterField(model) -class RackRoleFilterForm(BootstrapMixin, CustomFieldModelFilterForm): +class RackRoleFilterForm(CustomFieldModelFilterForm): model = RackRole q = forms.CharField( required=False, @@ -241,7 +241,7 @@ class RackRoleFilterForm(BootstrapMixin, CustomFieldModelFilterForm): tag = TagFilterField(model) -class RackFilterForm(BootstrapMixin, TenancyFilterForm, CustomFieldModelFilterForm): +class RackFilterForm(TenancyFilterForm, CustomFieldModelFilterForm): model = Rack field_order = ['q', 'region_id', 'site_id', 'location_id', 'status', 'role_id', 'tenant_group_id', 'tenant_id'] field_groups = [ @@ -329,7 +329,7 @@ class RackElevationFilterForm(RackFilterForm): ) -class RackReservationFilterForm(BootstrapMixin, TenancyFilterForm, CustomFieldModelFilterForm): +class RackReservationFilterForm(TenancyFilterForm, CustomFieldModelFilterForm): model = RackReservation field_order = ['q', 'region_id', 'site_id', 'location_id', 'user_id', 'tenant_group_id', 'tenant_id'] field_groups = [ @@ -377,7 +377,7 @@ class RackReservationFilterForm(BootstrapMixin, TenancyFilterForm, CustomFieldMo tag = TagFilterField(model) -class ManufacturerFilterForm(BootstrapMixin, CustomFieldModelFilterForm): +class ManufacturerFilterForm(CustomFieldModelFilterForm): model = Manufacturer q = forms.CharField( required=False, @@ -387,7 +387,7 @@ class ManufacturerFilterForm(BootstrapMixin, CustomFieldModelFilterForm): tag = TagFilterField(model) -class DeviceTypeFilterForm(BootstrapMixin, CustomFieldModelFilterForm): +class DeviceTypeFilterForm(CustomFieldModelFilterForm): model = DeviceType field_groups = [ ['q', 'tag'], @@ -460,7 +460,7 @@ class DeviceTypeFilterForm(BootstrapMixin, CustomFieldModelFilterForm): tag = TagFilterField(model) -class DeviceRoleFilterForm(BootstrapMixin, CustomFieldModelFilterForm): +class DeviceRoleFilterForm(CustomFieldModelFilterForm): model = DeviceRole q = forms.CharField( required=False, @@ -470,7 +470,7 @@ class DeviceRoleFilterForm(BootstrapMixin, CustomFieldModelFilterForm): tag = TagFilterField(model) -class PlatformFilterForm(BootstrapMixin, CustomFieldModelFilterForm): +class PlatformFilterForm(CustomFieldModelFilterForm): model = Platform q = forms.CharField( required=False, @@ -486,7 +486,7 @@ class PlatformFilterForm(BootstrapMixin, CustomFieldModelFilterForm): tag = TagFilterField(model) -class DeviceFilterForm(BootstrapMixin, LocalConfigContextFilterForm, TenancyFilterForm, CustomFieldModelFilterForm): +class DeviceFilterForm(LocalConfigContextFilterForm, TenancyFilterForm, CustomFieldModelFilterForm): model = Device field_order = [ 'q', 'region_id', 'site_group_id', 'site_id', 'location_id', 'rack_id', 'status', 'role_id', 'tenant_group_id', @@ -658,7 +658,7 @@ class DeviceFilterForm(BootstrapMixin, LocalConfigContextFilterForm, TenancyFilt tag = TagFilterField(model) -class VirtualChassisFilterForm(BootstrapMixin, TenancyFilterForm, CustomFieldModelFilterForm): +class VirtualChassisFilterForm(TenancyFilterForm, CustomFieldModelFilterForm): model = VirtualChassis field_order = ['q', 'region_id', 'site_group_id', 'site_id', 'tenant_group_id', 'tenant_id'] field_groups = [ @@ -696,7 +696,7 @@ class VirtualChassisFilterForm(BootstrapMixin, TenancyFilterForm, CustomFieldMod tag = TagFilterField(model) -class CableFilterForm(BootstrapMixin, TenancyFilterForm, CustomFieldModelFilterForm): +class CableFilterForm(TenancyFilterForm, CustomFieldModelFilterForm): model = Cable field_groups = [ ['q', 'tag'], @@ -761,7 +761,7 @@ class CableFilterForm(BootstrapMixin, TenancyFilterForm, CustomFieldModelFilterF tag = TagFilterField(model) -class PowerPanelFilterForm(BootstrapMixin, CustomFieldModelFilterForm): +class PowerPanelFilterForm(CustomFieldModelFilterForm): model = PowerPanel field_groups = ( ('q', 'tag'), @@ -807,7 +807,7 @@ class PowerPanelFilterForm(BootstrapMixin, CustomFieldModelFilterForm): tag = TagFilterField(model) -class PowerFeedFilterForm(BootstrapMixin, CustomFieldModelFilterForm): +class PowerFeedFilterForm(CustomFieldModelFilterForm): model = PowerFeed field_groups = [ ['q', 'tag'], diff --git a/netbox/extras/forms/customfields.py b/netbox/extras/forms/customfields.py index bbd2e91f8..e5c200b6a 100644 --- a/netbox/extras/forms/customfields.py +++ b/netbox/extras/forms/customfields.py @@ -105,7 +105,7 @@ class CustomFieldModelBulkEditForm(BulkEditForm): self.custom_fields.append(cf.name) -class CustomFieldModelFilterForm(forms.Form): +class CustomFieldModelFilterForm(BootstrapMixin, forms.Form): def __init__(self, *args, **kwargs): diff --git a/netbox/ipam/forms/filtersets.py b/netbox/ipam/forms/filtersets.py index b7209c035..48fd0a452 100644 --- a/netbox/ipam/forms/filtersets.py +++ b/netbox/ipam/forms/filtersets.py @@ -40,7 +40,7 @@ IPADDRESS_MASK_LENGTH_CHOICES = add_blank_choice([ ]) -class VRFFilterForm(BootstrapMixin, TenancyFilterForm, CustomFieldModelFilterForm): +class VRFFilterForm(TenancyFilterForm, CustomFieldModelFilterForm): model = VRF field_groups = [ ['q', 'tag'], @@ -67,7 +67,7 @@ class VRFFilterForm(BootstrapMixin, TenancyFilterForm, CustomFieldModelFilterFor tag = TagFilterField(model) -class RouteTargetFilterForm(BootstrapMixin, TenancyFilterForm, CustomFieldModelFilterForm): +class RouteTargetFilterForm(TenancyFilterForm, CustomFieldModelFilterForm): model = RouteTarget field_groups = [ ['q', 'tag'], @@ -94,7 +94,7 @@ class RouteTargetFilterForm(BootstrapMixin, TenancyFilterForm, CustomFieldModelF tag = TagFilterField(model) -class RIRFilterForm(BootstrapMixin, CustomFieldModelFilterForm): +class RIRFilterForm(CustomFieldModelFilterForm): model = RIR q = forms.CharField( required=False, @@ -111,7 +111,7 @@ class RIRFilterForm(BootstrapMixin, CustomFieldModelFilterForm): tag = TagFilterField(model) -class AggregateFilterForm(BootstrapMixin, TenancyFilterForm, CustomFieldModelFilterForm): +class AggregateFilterForm(TenancyFilterForm, CustomFieldModelFilterForm): model = Aggregate field_groups = [ ['q', 'tag'], @@ -138,7 +138,7 @@ class AggregateFilterForm(BootstrapMixin, TenancyFilterForm, CustomFieldModelFil tag = TagFilterField(model) -class ASNFilterForm(BootstrapMixin, TenancyFilterForm, CustomFieldModelFilterForm): +class ASNFilterForm(TenancyFilterForm, CustomFieldModelFilterForm): model = ASN field_groups = [ ['q'], @@ -165,7 +165,7 @@ class ASNFilterForm(BootstrapMixin, TenancyFilterForm, CustomFieldModelFilterFor ) -class RoleFilterForm(BootstrapMixin, CustomFieldModelFilterForm): +class RoleFilterForm(CustomFieldModelFilterForm): model = Role q = forms.CharField( required=False, @@ -175,7 +175,7 @@ class RoleFilterForm(BootstrapMixin, CustomFieldModelFilterForm): tag = TagFilterField(model) -class PrefixFilterForm(BootstrapMixin, TenancyFilterForm, CustomFieldModelFilterForm): +class PrefixFilterForm(TenancyFilterForm, CustomFieldModelFilterForm): model = Prefix field_groups = [ ['q', 'tag'], @@ -277,7 +277,7 @@ class PrefixFilterForm(BootstrapMixin, TenancyFilterForm, CustomFieldModelFilter tag = TagFilterField(model) -class IPRangeFilterForm(BootstrapMixin, TenancyFilterForm, CustomFieldModelFilterForm): +class IPRangeFilterForm(TenancyFilterForm, CustomFieldModelFilterForm): model = IPRange field_groups = [ ['q', 'tag'], @@ -317,7 +317,7 @@ class IPRangeFilterForm(BootstrapMixin, TenancyFilterForm, CustomFieldModelFilte tag = TagFilterField(model) -class IPAddressFilterForm(BootstrapMixin, TenancyFilterForm, CustomFieldModelFilterForm): +class IPAddressFilterForm(TenancyFilterForm, CustomFieldModelFilterForm): model = IPAddress field_order = [ 'q', 'parent', 'family', 'mask_length', 'vrf_id', 'present_in_vrf_id', 'status', 'role', @@ -388,7 +388,7 @@ class IPAddressFilterForm(BootstrapMixin, TenancyFilterForm, CustomFieldModelFil tag = TagFilterField(model) -class FHRPGroupFilterForm(BootstrapMixin, CustomFieldModelFilterForm): +class FHRPGroupFilterForm(CustomFieldModelFilterForm): model = FHRPGroup field_groups = ( ('q', 'tag'), @@ -423,7 +423,7 @@ class FHRPGroupFilterForm(BootstrapMixin, CustomFieldModelFilterForm): tag = TagFilterField(model) -class VLANGroupFilterForm(BootstrapMixin, CustomFieldModelFilterForm): +class VLANGroupFilterForm(CustomFieldModelFilterForm): field_groups = [ ['q', 'tag'], ['region', 'sitegroup', 'site', 'location', 'rack'] @@ -467,7 +467,7 @@ class VLANGroupFilterForm(BootstrapMixin, CustomFieldModelFilterForm): tag = TagFilterField(model) -class VLANFilterForm(BootstrapMixin, TenancyFilterForm, CustomFieldModelFilterForm): +class VLANFilterForm(TenancyFilterForm, CustomFieldModelFilterForm): model = VLAN field_groups = [ ['q', 'tag'], @@ -531,7 +531,7 @@ class VLANFilterForm(BootstrapMixin, TenancyFilterForm, CustomFieldModelFilterFo tag = TagFilterField(model) -class ServiceFilterForm(BootstrapMixin, CustomFieldModelFilterForm): +class ServiceFilterForm(CustomFieldModelFilterForm): model = Service field_groups = ( ('q', 'tag'), diff --git a/netbox/tenancy/forms/filtersets.py b/netbox/tenancy/forms/filtersets.py index b693db68f..b5e0286a5 100644 --- a/netbox/tenancy/forms/filtersets.py +++ b/netbox/tenancy/forms/filtersets.py @@ -18,7 +18,7 @@ __all__ = ( # Tenants # -class TenantGroupFilterForm(BootstrapMixin, CustomFieldModelFilterForm): +class TenantGroupFilterForm(CustomFieldModelFilterForm): model = TenantGroup q = forms.CharField( required=False, @@ -34,7 +34,7 @@ class TenantGroupFilterForm(BootstrapMixin, CustomFieldModelFilterForm): tag = TagFilterField(model) -class TenantFilterForm(BootstrapMixin, CustomFieldModelFilterForm): +class TenantFilterForm(CustomFieldModelFilterForm): model = Tenant field_groups = ( ('q', 'tag'), @@ -59,7 +59,7 @@ class TenantFilterForm(BootstrapMixin, CustomFieldModelFilterForm): # Contacts # -class ContactGroupFilterForm(BootstrapMixin, CustomFieldModelFilterForm): +class ContactGroupFilterForm(CustomFieldModelFilterForm): model = ContactGroup q = forms.CharField( required=False, @@ -75,7 +75,7 @@ class ContactGroupFilterForm(BootstrapMixin, CustomFieldModelFilterForm): tag = TagFilterField(model) -class ContactRoleFilterForm(BootstrapMixin, CustomFieldModelFilterForm): +class ContactRoleFilterForm(CustomFieldModelFilterForm): model = ContactRole q = forms.CharField( required=False, @@ -85,7 +85,7 @@ class ContactRoleFilterForm(BootstrapMixin, CustomFieldModelFilterForm): tag = TagFilterField(model) -class ContactFilterForm(BootstrapMixin, CustomFieldModelFilterForm): +class ContactFilterForm(CustomFieldModelFilterForm): model = Contact field_groups = ( ('q', 'tag'), diff --git a/netbox/virtualization/forms/filtersets.py b/netbox/virtualization/forms/filtersets.py index 1e8156c33..cea980f5f 100644 --- a/netbox/virtualization/forms/filtersets.py +++ b/netbox/virtualization/forms/filtersets.py @@ -20,7 +20,7 @@ __all__ = ( ) -class ClusterTypeFilterForm(BootstrapMixin, CustomFieldModelFilterForm): +class ClusterTypeFilterForm(CustomFieldModelFilterForm): model = ClusterType q = forms.CharField( required=False, @@ -30,7 +30,7 @@ class ClusterTypeFilterForm(BootstrapMixin, CustomFieldModelFilterForm): tag = TagFilterField(model) -class ClusterGroupFilterForm(BootstrapMixin, CustomFieldModelFilterForm): +class ClusterGroupFilterForm(CustomFieldModelFilterForm): model = ClusterGroup q = forms.CharField( required=False, @@ -40,7 +40,7 @@ class ClusterGroupFilterForm(BootstrapMixin, CustomFieldModelFilterForm): tag = TagFilterField(model) -class ClusterFilterForm(BootstrapMixin, TenancyFilterForm, CustomFieldModelFilterForm): +class ClusterFilterForm(TenancyFilterForm, CustomFieldModelFilterForm): model = Cluster field_order = [ 'q', 'type_id', 'region_id', 'site_id', 'group_id', 'tenant_group_id', 'tenant_id', @@ -95,12 +95,7 @@ class ClusterFilterForm(BootstrapMixin, TenancyFilterForm, CustomFieldModelFilte tag = TagFilterField(model) -class VirtualMachineFilterForm( - BootstrapMixin, - LocalConfigContextFilterForm, - TenancyFilterForm, - CustomFieldModelFilterForm -): +class VirtualMachineFilterForm(LocalConfigContextFilterForm, TenancyFilterForm, CustomFieldModelFilterForm): model = VirtualMachine field_groups = [ ['q', 'tag'], diff --git a/netbox/wireless/forms/filtersets.py b/netbox/wireless/forms/filtersets.py index b7eeec76b..681d53ca1 100644 --- a/netbox/wireless/forms/filtersets.py +++ b/netbox/wireless/forms/filtersets.py @@ -16,7 +16,7 @@ __all__ = ( ) -class WirelessLANGroupFilterForm(BootstrapMixin, CustomFieldModelFilterForm): +class WirelessLANGroupFilterForm(CustomFieldModelFilterForm): model = WirelessLANGroup q = forms.CharField( required=False, @@ -32,7 +32,7 @@ class WirelessLANGroupFilterForm(BootstrapMixin, CustomFieldModelFilterForm): tag = TagFilterField(model) -class WirelessLANFilterForm(BootstrapMixin, CustomFieldModelFilterForm): +class WirelessLANFilterForm(CustomFieldModelFilterForm): model = WirelessLAN field_groups = [ ('q', 'tag'), @@ -70,7 +70,7 @@ class WirelessLANFilterForm(BootstrapMixin, CustomFieldModelFilterForm): tag = TagFilterField(model) -class WirelessLinkFilterForm(BootstrapMixin, CustomFieldModelFilterForm): +class WirelessLinkFilterForm(CustomFieldModelFilterForm): model = WirelessLink q = forms.CharField( required=False, From 98a830a6a0fbae3c9d5108b6a2a385a4bd5eda83 Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Thu, 18 Nov 2021 16:32:22 -0500 Subject: [PATCH 4/5] Apply BootstrapMixin to ComponentForm --- netbox/dcim/forms/bulk_create.py | 2 +- netbox/dcim/forms/object_create.py | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/netbox/dcim/forms/bulk_create.py b/netbox/dcim/forms/bulk_create.py index 3464280f1..72aee493c 100644 --- a/netbox/dcim/forms/bulk_create.py +++ b/netbox/dcim/forms/bulk_create.py @@ -23,7 +23,7 @@ __all__ = ( # Device components # -class DeviceBulkAddComponentForm(BootstrapMixin, CustomFieldsMixin, ComponentForm): +class DeviceBulkAddComponentForm(CustomFieldsMixin, ComponentForm): pk = forms.ModelMultipleChoiceField( queryset=Device.objects.all(), widget=forms.MultipleHiddenInput() diff --git a/netbox/dcim/forms/object_create.py b/netbox/dcim/forms/object_create.py index c7f87677a..cdda4c0f5 100644 --- a/netbox/dcim/forms/object_create.py +++ b/netbox/dcim/forms/object_create.py @@ -35,7 +35,7 @@ __all__ = ( ) -class ComponentForm(forms.Form): +class ComponentForm(BootstrapMixin, forms.Form): """ Subclass this form when facilitating the creation of one or more device component or component templates based on a name pattern. @@ -142,7 +142,7 @@ class VirtualChassisCreateForm(CustomFieldModelForm): # Component templates # -class ComponentTemplateCreateForm(BootstrapMixin, ComponentForm): +class ComponentTemplateCreateForm(ComponentForm): """ Base form for the creation of device component templates (subclassed from ComponentTemplateModel). """ @@ -335,7 +335,7 @@ class DeviceBayTemplateCreateForm(ComponentTemplateCreateForm): # Device components # -class ComponentCreateForm(BootstrapMixin, CustomFieldsMixin, ComponentForm): +class ComponentCreateForm(CustomFieldsMixin, ComponentForm): """ Base form for the creation of device components (models subclassed from ComponentModel). """ From beca978af52d97bdb982d7f6fd45ebb8accf9fd9 Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Thu, 18 Nov 2021 16:48:29 -0500 Subject: [PATCH 5/5] Clean up imports --- netbox/circuits/forms/bulk_edit.py | 4 +--- netbox/circuits/forms/filtersets.py | 2 +- netbox/dcim/forms/bulk_create.py | 2 +- netbox/dcim/forms/bulk_edit.py | 4 ++-- netbox/dcim/forms/connections.py | 2 +- netbox/extras/forms/bulk_edit.py | 4 +--- netbox/ipam/forms/bulk_edit.py | 4 ++-- netbox/ipam/forms/filtersets.py | 6 ++---- netbox/tenancy/forms/bulk_edit.py | 2 +- netbox/tenancy/forms/filtersets.py | 2 +- netbox/virtualization/forms/bulk_edit.py | 2 +- netbox/wireless/forms/bulk_edit.py | 2 +- netbox/wireless/forms/filtersets.py | 4 +--- netbox/wireless/forms/models.py | 4 +--- 14 files changed, 17 insertions(+), 27 deletions(-) diff --git a/netbox/circuits/forms/bulk_edit.py b/netbox/circuits/forms/bulk_edit.py index b2710b0d9..37edd3a62 100644 --- a/netbox/circuits/forms/bulk_edit.py +++ b/netbox/circuits/forms/bulk_edit.py @@ -4,9 +4,7 @@ from circuits.choices import CircuitStatusChoices from circuits.models import * from extras.forms import AddRemoveTagsForm, CustomFieldModelBulkEditForm from tenancy.models import Tenant -from utilities.forms import ( - add_blank_choice, BootstrapMixin, CommentField, DynamicModelChoiceField, SmallTextarea, StaticSelect, -) +from utilities.forms import add_blank_choice, CommentField, DynamicModelChoiceField, SmallTextarea, StaticSelect __all__ = ( 'CircuitBulkEditForm', diff --git a/netbox/circuits/forms/filtersets.py b/netbox/circuits/forms/filtersets.py index 6c2594ccd..5f7d5b612 100644 --- a/netbox/circuits/forms/filtersets.py +++ b/netbox/circuits/forms/filtersets.py @@ -6,7 +6,7 @@ from circuits.models import * from dcim.models import Region, Site, SiteGroup from extras.forms import CustomFieldModelFilterForm from tenancy.forms import TenancyFilterForm -from utilities.forms import BootstrapMixin, DynamicModelMultipleChoiceField, StaticSelectMultiple, TagFilterField +from utilities.forms import DynamicModelMultipleChoiceField, StaticSelectMultiple, TagFilterField __all__ = ( 'CircuitFilterForm', diff --git a/netbox/dcim/forms/bulk_create.py b/netbox/dcim/forms/bulk_create.py index 72aee493c..16e860c38 100644 --- a/netbox/dcim/forms/bulk_create.py +++ b/netbox/dcim/forms/bulk_create.py @@ -3,7 +3,7 @@ from django import forms from dcim.models import * from extras.forms import CustomFieldsMixin from extras.models import Tag -from utilities.forms import BootstrapMixin, DynamicModelMultipleChoiceField, form_from_model +from utilities.forms import DynamicModelMultipleChoiceField, form_from_model from .object_create import ComponentForm __all__ = ( diff --git a/netbox/dcim/forms/bulk_edit.py b/netbox/dcim/forms/bulk_edit.py index 9d2c215d4..9127b072f 100644 --- a/netbox/dcim/forms/bulk_edit.py +++ b/netbox/dcim/forms/bulk_edit.py @@ -11,8 +11,8 @@ from ipam.constants import BGP_ASN_MIN, BGP_ASN_MAX from ipam.models import VLAN, ASN from tenancy.models import Tenant from utilities.forms import ( - add_blank_choice, BootstrapMixin, BulkEditForm, BulkEditNullBooleanSelect, ColorField, CommentField, - DynamicModelChoiceField, DynamicModelMultipleChoiceField, form_from_model, SmallTextarea, StaticSelect, + add_blank_choice, BulkEditForm, BulkEditNullBooleanSelect, ColorField, CommentField, DynamicModelChoiceField, + DynamicModelMultipleChoiceField, form_from_model, SmallTextarea, StaticSelect, ) __all__ = ( diff --git a/netbox/dcim/forms/connections.py b/netbox/dcim/forms/connections.py index 7fc1103c8..771ff38bc 100644 --- a/netbox/dcim/forms/connections.py +++ b/netbox/dcim/forms/connections.py @@ -3,7 +3,7 @@ from dcim.models import * from extras.forms import CustomFieldModelForm from extras.models import Tag from tenancy.forms import TenancyForm -from utilities.forms import BootstrapMixin, DynamicModelChoiceField, DynamicModelMultipleChoiceField, StaticSelect +from utilities.forms import DynamicModelChoiceField, DynamicModelMultipleChoiceField, StaticSelect __all__ = ( 'ConnectCableToCircuitTerminationForm', diff --git a/netbox/extras/forms/bulk_edit.py b/netbox/extras/forms/bulk_edit.py index 36bd61fcb..1b87256a5 100644 --- a/netbox/extras/forms/bulk_edit.py +++ b/netbox/extras/forms/bulk_edit.py @@ -4,9 +4,7 @@ from django.contrib.contenttypes.models import ContentType from extras.choices import * from extras.models import * from extras.utils import FeatureQuery -from utilities.forms import ( - BootstrapMixin, BulkEditForm, BulkEditNullBooleanSelect, ColorField, ContentTypeChoiceField, StaticSelect, -) +from utilities.forms import BulkEditForm, BulkEditNullBooleanSelect, ColorField, ContentTypeChoiceField, StaticSelect __all__ = ( 'ConfigContextBulkEditForm', diff --git a/netbox/ipam/forms/bulk_edit.py b/netbox/ipam/forms/bulk_edit.py index 05fc67771..edb14a25c 100644 --- a/netbox/ipam/forms/bulk_edit.py +++ b/netbox/ipam/forms/bulk_edit.py @@ -8,8 +8,8 @@ from ipam.models import * from ipam.models import ASN from tenancy.models import Tenant from utilities.forms import ( - add_blank_choice, BootstrapMixin, BulkEditNullBooleanSelect, DatePicker, DynamicModelChoiceField, NumericArrayField, - StaticSelect, DynamicModelMultipleChoiceField, + add_blank_choice, BulkEditNullBooleanSelect, DatePicker, DynamicModelChoiceField, NumericArrayField, StaticSelect, + DynamicModelMultipleChoiceField, ) __all__ = ( diff --git a/netbox/ipam/forms/filtersets.py b/netbox/ipam/forms/filtersets.py index 48fd0a452..159170ab4 100644 --- a/netbox/ipam/forms/filtersets.py +++ b/netbox/ipam/forms/filtersets.py @@ -1,4 +1,3 @@ -import django_filters from django import forms from django.utils.translation import gettext as _ @@ -9,10 +8,9 @@ from ipam.constants import * from ipam.models import * from ipam.models import ASN from tenancy.forms import TenancyFilterForm -from tenancy.models import Tenant from utilities.forms import ( - add_blank_choice, BootstrapMixin, DynamicModelChoiceField, DynamicModelMultipleChoiceField, StaticSelect, - StaticSelectMultiple, TagFilterField, BOOLEAN_WITH_BLANK_CHOICES, + add_blank_choice, DynamicModelChoiceField, DynamicModelMultipleChoiceField, StaticSelect, StaticSelectMultiple, + TagFilterField, BOOLEAN_WITH_BLANK_CHOICES, ) __all__ = ( diff --git a/netbox/tenancy/forms/bulk_edit.py b/netbox/tenancy/forms/bulk_edit.py index 144c9aff7..9dc1b8ec5 100644 --- a/netbox/tenancy/forms/bulk_edit.py +++ b/netbox/tenancy/forms/bulk_edit.py @@ -2,7 +2,7 @@ from django import forms from extras.forms import AddRemoveTagsForm, CustomFieldModelBulkEditForm from tenancy.models import * -from utilities.forms import BootstrapMixin, DynamicModelChoiceField +from utilities.forms import DynamicModelChoiceField __all__ = ( 'ContactBulkEditForm', diff --git a/netbox/tenancy/forms/filtersets.py b/netbox/tenancy/forms/filtersets.py index b5e0286a5..1e4f2d06e 100644 --- a/netbox/tenancy/forms/filtersets.py +++ b/netbox/tenancy/forms/filtersets.py @@ -3,7 +3,7 @@ from django.utils.translation import gettext as _ from extras.forms import CustomFieldModelFilterForm from tenancy.models import * -from utilities.forms import BootstrapMixin, DynamicModelMultipleChoiceField, TagFilterField +from utilities.forms import DynamicModelMultipleChoiceField, TagFilterField __all__ = ( 'ContactFilterForm', diff --git a/netbox/virtualization/forms/bulk_edit.py b/netbox/virtualization/forms/bulk_edit.py index 51eda528d..1e80e88e5 100644 --- a/netbox/virtualization/forms/bulk_edit.py +++ b/netbox/virtualization/forms/bulk_edit.py @@ -7,7 +7,7 @@ from extras.forms import AddRemoveTagsForm, CustomFieldModelBulkEditForm from ipam.models import VLAN from tenancy.models import Tenant from utilities.forms import ( - add_blank_choice, BootstrapMixin, BulkEditNullBooleanSelect, BulkRenameForm, CommentField, DynamicModelChoiceField, + add_blank_choice, BulkEditNullBooleanSelect, BulkRenameForm, CommentField, DynamicModelChoiceField, DynamicModelMultipleChoiceField, SmallTextarea, StaticSelect ) from virtualization.choices import * diff --git a/netbox/wireless/forms/bulk_edit.py b/netbox/wireless/forms/bulk_edit.py index 07ff9e419..314c42653 100644 --- a/netbox/wireless/forms/bulk_edit.py +++ b/netbox/wireless/forms/bulk_edit.py @@ -3,7 +3,7 @@ from django import forms from dcim.choices import LinkStatusChoices from extras.forms import AddRemoveTagsForm, CustomFieldModelBulkEditForm from ipam.models import VLAN -from utilities.forms import BootstrapMixin, DynamicModelChoiceField +from utilities.forms import DynamicModelChoiceField from wireless.choices import * from wireless.constants import SSID_MAX_LENGTH from wireless.models import * diff --git a/netbox/wireless/forms/filtersets.py b/netbox/wireless/forms/filtersets.py index 681d53ca1..a8787c78e 100644 --- a/netbox/wireless/forms/filtersets.py +++ b/netbox/wireless/forms/filtersets.py @@ -3,9 +3,7 @@ from django.utils.translation import gettext as _ from dcim.choices import LinkStatusChoices from extras.forms import CustomFieldModelFilterForm -from utilities.forms import ( - add_blank_choice, BootstrapMixin, DynamicModelMultipleChoiceField, StaticSelect, TagFilterField, -) +from utilities.forms import add_blank_choice, DynamicModelMultipleChoiceField, StaticSelect, TagFilterField from wireless.choices import * from wireless.models import * diff --git a/netbox/wireless/forms/models.py b/netbox/wireless/forms/models.py index 21b76af21..7687cb372 100644 --- a/netbox/wireless/forms/models.py +++ b/netbox/wireless/forms/models.py @@ -2,9 +2,7 @@ from dcim.models import Device, Interface, Location, Site from extras.forms import CustomFieldModelForm from extras.models import Tag from ipam.models import VLAN -from utilities.forms import ( - BootstrapMixin, DynamicModelChoiceField, DynamicModelMultipleChoiceField, SlugField, StaticSelect, -) +from utilities.forms import DynamicModelChoiceField, DynamicModelMultipleChoiceField, SlugField, StaticSelect from wireless.models import * __all__ = (