diff --git a/netbox/circuits/forms.py b/netbox/circuits/forms.py index bfceb287a..263225aae 100644 --- a/netbox/circuits/forms.py +++ b/netbox/circuits/forms.py @@ -3,8 +3,7 @@ from django.db.models import Count from dcim.models import Site, Device, Interface, Rack, IFACE_FF_VIRTUAL from utilities.forms import ( - APISelect, BootstrapMixin, BulkImportForm, CommentField, ConfirmationForm, CSVDataField, Livesearch, SmallTextarea, - SlugField, + APISelect, BootstrapMixin, BulkImportForm, CommentField, CSVDataField, Livesearch, SmallTextarea, SlugField, ) from .models import Circuit, CircuitType, Provider @@ -55,10 +54,6 @@ class ProviderBulkEditForm(forms.Form, BootstrapMixin): comments = CommentField() -class ProviderBulkDeleteForm(ConfirmationForm): - pk = forms.ModelMultipleChoiceField(queryset=Provider.objects.all(), widget=forms.MultipleHiddenInput) - - def provider_site_choices(): site_choices = Site.objects.all() return [(s.slug, s.name) for s in site_choices] @@ -81,10 +76,6 @@ class CircuitTypeForm(forms.ModelForm, BootstrapMixin): fields = ['name', 'slug'] -class CircuitTypeBulkDeleteForm(ConfirmationForm): - pk = forms.ModelMultipleChoiceField(queryset=CircuitType.objects.all(), widget=forms.MultipleHiddenInput) - - # # Circuits # @@ -191,10 +182,6 @@ class CircuitBulkEditForm(forms.Form, BootstrapMixin): comments = CommentField() -class CircuitBulkDeleteForm(ConfirmationForm): - pk = forms.ModelMultipleChoiceField(queryset=Circuit.objects.all(), widget=forms.MultipleHiddenInput) - - def circuit_type_choices(): type_choices = CircuitType.objects.annotate(circuit_count=Count('circuits')) return [(t.slug, u'{} ({})'.format(t.name, t.circuit_count)) for t in type_choices] diff --git a/netbox/circuits/views.py b/netbox/circuits/views.py index 790b8ba23..283146396 100644 --- a/netbox/circuits/views.py +++ b/netbox/circuits/views.py @@ -76,7 +76,6 @@ class ProviderBulkEditView(PermissionRequiredMixin, BulkEditView): class ProviderBulkDeleteView(PermissionRequiredMixin, BulkDeleteView): permission_required = 'circuits.delete_provider' cls = Provider - form = forms.ProviderBulkDeleteForm default_redirect_url = 'circuits:provider_list' @@ -102,7 +101,6 @@ class CircuitTypeEditView(PermissionRequiredMixin, ObjectEditView): class CircuitTypeBulkDeleteView(PermissionRequiredMixin, BulkDeleteView): permission_required = 'circuits.delete_circuittype' cls = CircuitType - form = forms.CircuitTypeBulkDeleteForm default_redirect_url = 'circuits:circuittype_list' @@ -171,5 +169,4 @@ class CircuitBulkEditView(PermissionRequiredMixin, BulkEditView): class CircuitBulkDeleteView(PermissionRequiredMixin, BulkDeleteView): permission_required = 'circuits.delete_circuit' cls = Circuit - form = forms.CircuitBulkDeleteForm default_redirect_url = 'circuits:circuit_list' diff --git a/netbox/dcim/forms.py b/netbox/dcim/forms.py index 7144a6d73..05fa728ff 100644 --- a/netbox/dcim/forms.py +++ b/netbox/dcim/forms.py @@ -5,7 +5,7 @@ from django.db.models import Count, Q from ipam.models import IPAddress from utilities.forms import ( - APISelect, BootstrapMixin, BulkImportForm, CommentField, ConfirmationForm, CSVDataField, ExpandableNameField, + APISelect, BootstrapMixin, BulkImportForm, CommentField, CSVDataField, ExpandableNameField, FlexibleModelChoiceField, Livesearch, SelectWithDisabled, SmallTextarea, SlugField, ) @@ -85,10 +85,6 @@ class RackGroupForm(forms.ModelForm, BootstrapMixin): fields = ['site', 'name', 'slug'] -class RackGroupBulkDeleteForm(ConfirmationForm): - pk = forms.ModelMultipleChoiceField(queryset=RackGroup.objects.all(), widget=forms.MultipleHiddenInput) - - def rackgroup_site_choices(): site_choices = Site.objects.annotate(rack_count=Count('rack_groups')) return [(s.slug, u'{} ({})'.format(s.name, s.rack_count)) for s in site_choices] @@ -169,10 +165,6 @@ class RackBulkEditForm(forms.Form, BootstrapMixin): comments = CommentField() -class RackBulkDeleteForm(ConfirmationForm): - pk = forms.ModelMultipleChoiceField(queryset=Rack.objects.all(), widget=forms.MultipleHiddenInput) - - def rack_site_choices(): site_choices = Site.objects.annotate(rack_count=Count('racks')) return [(s.slug, u'{} ({})'.format(s.name, s.rack_count)) for s in site_choices] @@ -202,10 +194,6 @@ class ManufacturerForm(forms.ModelForm, BootstrapMixin): fields = ['name', 'slug'] -class ManufacturerBulkDeleteForm(ConfirmationForm): - pk = forms.ModelMultipleChoiceField(queryset=Manufacturer.objects.all(), widget=forms.MultipleHiddenInput) - - # # Device types # @@ -225,10 +213,6 @@ class DeviceTypeBulkEditForm(forms.Form, BootstrapMixin): u_height = forms.IntegerField(min_value=1, required=False) -class DeviceTypeBulkDeleteForm(ConfirmationForm): - pk = forms.ModelMultipleChoiceField(queryset=DeviceType.objects.all(), widget=forms.MultipleHiddenInput) - - def devicetype_manufacturer_choices(): manufacturer_choices = Manufacturer.objects.annotate(devicetype_count=Count('device_types')) return [(m.slug, u'{} ({})'.format(m.name, m.devicetype_count)) for m in manufacturer_choices] @@ -251,10 +235,6 @@ class ConsolePortTemplateForm(forms.ModelForm, BootstrapMixin): fields = ['name_pattern'] -class ConsolePortTemplateBulkDeleteForm(ConfirmationForm): - pk = forms.ModelMultipleChoiceField(queryset=ConsolePortTemplate.objects.all(), widget=forms.MultipleHiddenInput) - - class ConsoleServerPortTemplateForm(forms.ModelForm, BootstrapMixin): name_pattern = ExpandableNameField(label='Name') @@ -263,10 +243,6 @@ class ConsoleServerPortTemplateForm(forms.ModelForm, BootstrapMixin): fields = ['name_pattern'] -class ConsoleServerPortTemplateBulkDeleteForm(ConfirmationForm): - pk = forms.ModelMultipleChoiceField(queryset=ConsoleServerPortTemplate.objects.all(), widget=forms.MultipleHiddenInput) - - class PowerPortTemplateForm(forms.ModelForm, BootstrapMixin): name_pattern = ExpandableNameField(label='Name') @@ -311,10 +287,6 @@ class DeviceRoleForm(forms.ModelForm, BootstrapMixin): fields = ['name', 'slug', 'color'] -class DeviceRoleBulkDeleteForm(ConfirmationForm): - pk = forms.ModelMultipleChoiceField(queryset=DeviceRole.objects.all(), widget=forms.MultipleHiddenInput) - - # # Platforms # @@ -327,10 +299,6 @@ class PlatformForm(forms.ModelForm, BootstrapMixin): fields = ['name', 'slug'] -class PlatformBulkDeleteForm(ConfirmationForm): - pk = forms.ModelMultipleChoiceField(queryset=Platform.objects.all(), widget=forms.MultipleHiddenInput) - - # # Devices # @@ -550,10 +518,6 @@ class DeviceBulkEditForm(forms.Form, BootstrapMixin): serial = forms.CharField(max_length=50, required=False, label='Serial Number') -class DeviceBulkDeleteForm(ConfirmationForm): - pk = forms.ModelMultipleChoiceField(queryset=Device.objects.all(), widget=forms.MultipleHiddenInput) - - def device_site_choices(): site_choices = Site.objects.annotate(device_count=Count('racks__devices')) return [(s.slug, u'{} ({})'.format(s.name, s.device_count)) for s in site_choices] diff --git a/netbox/dcim/views.py b/netbox/dcim/views.py index 73d21c293..5d7af8bef 100644 --- a/netbox/dcim/views.py +++ b/netbox/dcim/views.py @@ -133,7 +133,6 @@ class RackGroupEditView(PermissionRequiredMixin, ObjectEditView): class RackGroupBulkDeleteView(PermissionRequiredMixin, BulkDeleteView): permission_required = 'dcim.delete_rackgroup' cls = RackGroup - form = forms.RackGroupBulkDeleteForm default_redirect_url = 'dcim:rackgroup_list' @@ -211,7 +210,6 @@ class RackBulkEditView(PermissionRequiredMixin, BulkEditView): class RackBulkDeleteView(PermissionRequiredMixin, BulkDeleteView): permission_required = 'dcim.delete_rack' cls = Rack - form = forms.RackBulkDeleteForm default_redirect_url = 'dcim:rack_list' @@ -237,7 +235,6 @@ class ManufacturerEditView(PermissionRequiredMixin, ObjectEditView): class ManufacturerBulkDeleteView(PermissionRequiredMixin, BulkDeleteView): permission_required = 'dcim.delete_manufacturer' cls = Manufacturer - form = forms.ManufacturerBulkDeleteForm default_redirect_url = 'dcim:manufacturer_list' @@ -332,7 +329,6 @@ class DeviceTypeBulkEditView(PermissionRequiredMixin, BulkEditView): class DeviceTypeBulkDeleteView(PermissionRequiredMixin, BulkDeleteView): permission_required = 'dcim.delete_devicetype' cls = DeviceType - form = forms.DeviceTypeBulkDeleteForm default_redirect_url = 'dcim:devicetype_list' @@ -477,7 +473,6 @@ class DeviceRoleEditView(PermissionRequiredMixin, ObjectEditView): class DeviceRoleBulkDeleteView(PermissionRequiredMixin, BulkDeleteView): permission_required = 'dcim.delete_devicerole' cls = DeviceRole - form = forms.DeviceRoleBulkDeleteForm default_redirect_url = 'dcim:devicerole_list' @@ -503,7 +498,6 @@ class PlatformEditView(PermissionRequiredMixin, ObjectEditView): class PlatformBulkDeleteView(PermissionRequiredMixin, BulkDeleteView): permission_required = 'dcim.delete_platform' cls = Platform - form = forms.PlatformBulkDeleteForm default_redirect_url = 'dcim:platform_list' @@ -648,7 +642,6 @@ class DeviceBulkEditView(PermissionRequiredMixin, BulkEditView): class DeviceBulkDeleteView(PermissionRequiredMixin, BulkDeleteView): permission_required = 'dcim.delete_device' cls = Device - form = forms.DeviceBulkDeleteForm default_redirect_url = 'dcim:device_list' diff --git a/netbox/ipam/forms.py b/netbox/ipam/forms.py index eea0fdd54..4951e6b17 100644 --- a/netbox/ipam/forms.py +++ b/netbox/ipam/forms.py @@ -4,9 +4,7 @@ from django import forms from django.db.models import Count from dcim.models import Site, Device, Interface -from utilities.forms import ( - BootstrapMixin, ConfirmationForm, APISelect, Livesearch, CSVDataField, BulkImportForm, SlugField, -) +from utilities.forms import BootstrapMixin, APISelect, Livesearch, CSVDataField, BulkImportForm, SlugField from .models import ( Aggregate, IPAddress, Prefix, PREFIX_STATUS_CHOICES, RIR, Role, VLAN, VLANGroup, VLAN_STATUS_CHOICES, VRF, @@ -50,10 +48,6 @@ class VRFBulkEditForm(forms.Form, BootstrapMixin): description = forms.CharField(max_length=100, required=False) -class VRFBulkDeleteForm(ConfirmationForm): - pk = forms.ModelMultipleChoiceField(queryset=VRF.objects.all(), widget=forms.MultipleHiddenInput) - - # # RIRs # @@ -66,10 +60,6 @@ class RIRForm(forms.ModelForm, BootstrapMixin): fields = ['name', 'slug'] -class RIRBulkDeleteForm(ConfirmationForm): - pk = forms.ModelMultipleChoiceField(queryset=RIR.objects.all(), widget=forms.MultipleHiddenInput) - - # # Aggregates # @@ -106,10 +96,6 @@ class AggregateBulkEditForm(forms.Form, BootstrapMixin): description = forms.CharField(max_length=50, required=False) -class AggregateBulkDeleteForm(ConfirmationForm): - pk = forms.ModelMultipleChoiceField(queryset=Aggregate.objects.all(), widget=forms.MultipleHiddenInput) - - def aggregate_rir_choices(): rir_choices = RIR.objects.annotate(aggregate_count=Count('aggregates')) return [(r.slug, u'{} ({})'.format(r.name, r.aggregate_count)) for r in rir_choices] @@ -132,10 +118,6 @@ class RoleForm(forms.ModelForm, BootstrapMixin): fields = ['name', 'slug'] -class RoleBulkDeleteForm(ConfirmationForm): - pk = forms.ModelMultipleChoiceField(queryset=Role.objects.all(), widget=forms.MultipleHiddenInput) - - # # Prefixes # @@ -254,10 +236,6 @@ class PrefixBulkEditForm(forms.Form, BootstrapMixin): description = forms.CharField(max_length=50, required=False) -class PrefixBulkDeleteForm(ConfirmationForm): - pk = forms.ModelMultipleChoiceField(queryset=Prefix.objects.all(), widget=forms.MultipleHiddenInput) - - def prefix_vrf_choices(): vrf_choices = [('', 'All'), (0, 'Global')] vrf_choices += [(v.pk, v.name) for v in VRF.objects.all()] @@ -418,10 +396,6 @@ class IPAddressBulkEditForm(forms.Form, BootstrapMixin): description = forms.CharField(max_length=50, required=False) -class IPAddressBulkDeleteForm(ConfirmationForm): - pk = forms.ModelMultipleChoiceField(queryset=IPAddress.objects.all(), widget=forms.MultipleHiddenInput) - - def ipaddress_family_choices(): return [('', 'All'), (4, 'IPv4'), (6, 'IPv6')] @@ -449,10 +423,6 @@ class VLANGroupForm(forms.ModelForm, BootstrapMixin): fields = ['site', 'name', 'slug'] -class VLANGroupBulkDeleteForm(ConfirmationForm): - pk = forms.ModelMultipleChoiceField(queryset=VLANGroup.objects.all(), widget=forms.MultipleHiddenInput) - - def vlangroup_site_choices(): site_choices = Site.objects.annotate(vlangroup_count=Count('vlan_groups')) return [(s.slug, u'{} ({})'.format(s.name, s.vlangroup_count)) for s in site_choices] @@ -535,10 +505,6 @@ class VLANBulkEditForm(forms.Form, BootstrapMixin): description = forms.CharField(max_length=100, required=False) -class VLANBulkDeleteForm(ConfirmationForm): - pk = forms.ModelMultipleChoiceField(queryset=VLAN.objects.all(), widget=forms.MultipleHiddenInput) - - def vlan_site_choices(): site_choices = Site.objects.annotate(vlan_count=Count('vlans')) return [(s.slug, u'{} ({})'.format(s.name, s.vlan_count)) for s in site_choices] diff --git a/netbox/ipam/views.py b/netbox/ipam/views.py index 3e3435505..193adf273 100644 --- a/netbox/ipam/views.py +++ b/netbox/ipam/views.py @@ -95,7 +95,6 @@ class VRFBulkEditView(PermissionRequiredMixin, BulkEditView): class VRFBulkDeleteView(PermissionRequiredMixin, BulkDeleteView): permission_required = 'ipam.delete_vrf' cls = VRF - form = forms.VRFBulkDeleteForm default_redirect_url = 'ipam:vrf_list' @@ -121,7 +120,6 @@ class RIREditView(PermissionRequiredMixin, ObjectEditView): class RIRBulkDeleteView(PermissionRequiredMixin, BulkDeleteView): permission_required = 'ipam.delete_rir' cls = RIR - form = forms.RIRBulkDeleteForm default_redirect_url = 'ipam:rir_list' @@ -217,7 +215,6 @@ class AggregateBulkEditView(PermissionRequiredMixin, BulkEditView): class AggregateBulkDeleteView(PermissionRequiredMixin, BulkDeleteView): permission_required = 'ipam.delete_aggregate' cls = Aggregate - form = forms.AggregateBulkDeleteForm default_redirect_url = 'ipam:aggregate_list' @@ -243,7 +240,6 @@ class RoleEditView(PermissionRequiredMixin, ObjectEditView): class RoleBulkDeleteView(PermissionRequiredMixin, BulkDeleteView): permission_required = 'ipam.delete_role' cls = Role - form = forms.RoleBulkDeleteForm default_redirect_url = 'ipam:role_list' @@ -354,7 +350,6 @@ class PrefixBulkEditView(PermissionRequiredMixin, BulkEditView): class PrefixBulkDeleteView(PermissionRequiredMixin, BulkDeleteView): permission_required = 'ipam.delete_prefix' cls = Prefix - form = forms.PrefixBulkDeleteForm default_redirect_url = 'ipam:prefix_list' @@ -479,7 +474,6 @@ class IPAddressBulkEditView(PermissionRequiredMixin, BulkEditView): class IPAddressBulkDeleteView(PermissionRequiredMixin, BulkDeleteView): permission_required = 'ipam.delete_ipaddress' cls = IPAddress - form = forms.IPAddressBulkDeleteForm default_redirect_url = 'ipam:ipaddress_list' @@ -506,7 +500,6 @@ class VLANGroupEditView(PermissionRequiredMixin, ObjectEditView): class VLANGroupBulkDeleteView(PermissionRequiredMixin, BulkDeleteView): permission_required = 'ipam.delete_vlangroup' cls = VLANGroup - form = forms.VLANGroupBulkDeleteForm default_redirect_url = 'ipam:vlangroup_list' @@ -575,5 +568,4 @@ class VLANBulkEditView(PermissionRequiredMixin, BulkEditView): class VLANBulkDeleteView(PermissionRequiredMixin, BulkDeleteView): permission_required = 'ipam.delete_vlan' cls = VLAN - form = forms.VLANBulkDeleteForm default_redirect_url = 'ipam:vlan_list' diff --git a/netbox/secrets/forms.py b/netbox/secrets/forms.py index 95f281502..06c963957 100644 --- a/netbox/secrets/forms.py +++ b/netbox/secrets/forms.py @@ -5,7 +5,7 @@ from django import forms from django.db.models import Count from dcim.models import Device -from utilities.forms import BootstrapMixin, BulkImportForm, ConfirmationForm, CSVDataField, SlugField +from utilities.forms import BootstrapMixin, BulkImportForm, CSVDataField, SlugField from .models import Secret, SecretRole, UserKey @@ -42,10 +42,6 @@ class SecretRoleForm(forms.ModelForm, BootstrapMixin): fields = ['name', 'slug'] -class SecretRoleBulkDeleteForm(ConfirmationForm): - pk = forms.ModelMultipleChoiceField(queryset=SecretRole.objects.all(), widget=forms.MultipleHiddenInput) - - # # Secrets # @@ -97,10 +93,6 @@ class SecretBulkEditForm(forms.Form, BootstrapMixin): name = forms.CharField(max_length=100, required=False) -class SecretBulkDeleteForm(ConfirmationForm): - pk = forms.ModelMultipleChoiceField(queryset=Secret.objects.all(), widget=forms.MultipleHiddenInput) - - def secret_role_choices(): role_choices = SecretRole.objects.annotate(secret_count=Count('secrets')) return [(r.slug, u'{} ({})'.format(r.name, r.secret_count)) for r in role_choices] diff --git a/netbox/secrets/views.py b/netbox/secrets/views.py index d9d712466..6e50d83fd 100644 --- a/netbox/secrets/views.py +++ b/netbox/secrets/views.py @@ -37,7 +37,6 @@ class SecretRoleEditView(PermissionRequiredMixin, ObjectEditView): class SecretRoleBulkDeleteView(PermissionRequiredMixin, BulkDeleteView): permission_required = 'secrets.delete_secretrole' cls = SecretRole - form = forms.SecretRoleBulkDeleteForm default_redirect_url = 'secrets:secretrole_list' @@ -219,5 +218,4 @@ class SecretBulkEditView(PermissionRequiredMixin, BulkEditView): class SecretBulkDeleteView(PermissionRequiredMixin, BulkDeleteView): permission_required = 'secrets.delete_secret' cls = Secret - form = forms.SecretBulkDeleteForm default_redirect_url = 'secrets:secret_list'