Parcourir la source

Replaced all object-specific BulkDeleteForms with the stock form provided by utilities.BulkDeleteView

Jeremy Stretch il y a 8 ans
Parent
commit
450c51604c

+ 1 - 14
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 dcim.models import Site, Device, Interface, Rack, IFACE_FF_VIRTUAL
 from utilities.forms import (
 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
 from .models import Circuit, CircuitType, Provider
@@ -55,10 +54,6 @@ class ProviderBulkEditForm(forms.Form, BootstrapMixin):
     comments = CommentField()
     comments = CommentField()
 
 
 
 
-class ProviderBulkDeleteForm(ConfirmationForm):
-    pk = forms.ModelMultipleChoiceField(queryset=Provider.objects.all(), widget=forms.MultipleHiddenInput)
-
-
 def provider_site_choices():
 def provider_site_choices():
     site_choices = Site.objects.all()
     site_choices = Site.objects.all()
     return [(s.slug, s.name) for s in site_choices]
     return [(s.slug, s.name) for s in site_choices]
@@ -81,10 +76,6 @@ class CircuitTypeForm(forms.ModelForm, BootstrapMixin):
         fields = ['name', 'slug']
         fields = ['name', 'slug']
 
 
 
 
-class CircuitTypeBulkDeleteForm(ConfirmationForm):
-    pk = forms.ModelMultipleChoiceField(queryset=CircuitType.objects.all(), widget=forms.MultipleHiddenInput)
-
-
 #
 #
 # Circuits
 # Circuits
 #
 #
@@ -191,10 +182,6 @@ class CircuitBulkEditForm(forms.Form, BootstrapMixin):
     comments = CommentField()
     comments = CommentField()
 
 
 
 
-class CircuitBulkDeleteForm(ConfirmationForm):
-    pk = forms.ModelMultipleChoiceField(queryset=Circuit.objects.all(), widget=forms.MultipleHiddenInput)
-
-
 def circuit_type_choices():
 def circuit_type_choices():
     type_choices = CircuitType.objects.annotate(circuit_count=Count('circuits'))
     type_choices = CircuitType.objects.annotate(circuit_count=Count('circuits'))
     return [(t.slug, u'{} ({})'.format(t.name, t.circuit_count)) for t in type_choices]
     return [(t.slug, u'{} ({})'.format(t.name, t.circuit_count)) for t in type_choices]

+ 0 - 3
netbox/circuits/views.py

@@ -76,7 +76,6 @@ class ProviderBulkEditView(PermissionRequiredMixin, BulkEditView):
 class ProviderBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
 class ProviderBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
     permission_required = 'circuits.delete_provider'
     permission_required = 'circuits.delete_provider'
     cls = Provider
     cls = Provider
-    form = forms.ProviderBulkDeleteForm
     default_redirect_url = 'circuits:provider_list'
     default_redirect_url = 'circuits:provider_list'
 
 
 
 
@@ -102,7 +101,6 @@ class CircuitTypeEditView(PermissionRequiredMixin, ObjectEditView):
 class CircuitTypeBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
 class CircuitTypeBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
     permission_required = 'circuits.delete_circuittype'
     permission_required = 'circuits.delete_circuittype'
     cls = CircuitType
     cls = CircuitType
-    form = forms.CircuitTypeBulkDeleteForm
     default_redirect_url = 'circuits:circuittype_list'
     default_redirect_url = 'circuits:circuittype_list'
 
 
 
 
@@ -171,5 +169,4 @@ class CircuitBulkEditView(PermissionRequiredMixin, BulkEditView):
 class CircuitBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
 class CircuitBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
     permission_required = 'circuits.delete_circuit'
     permission_required = 'circuits.delete_circuit'
     cls = Circuit
     cls = Circuit
-    form = forms.CircuitBulkDeleteForm
     default_redirect_url = 'circuits:circuit_list'
     default_redirect_url = 'circuits:circuit_list'

+ 1 - 37
netbox/dcim/forms.py

@@ -5,7 +5,7 @@ from django.db.models import Count, Q
 
 
 from ipam.models import IPAddress
 from ipam.models import IPAddress
 from utilities.forms import (
 from utilities.forms import (
-    APISelect, BootstrapMixin, BulkImportForm, CommentField, ConfirmationForm, CSVDataField, ExpandableNameField,
+    APISelect, BootstrapMixin, BulkImportForm, CommentField, CSVDataField, ExpandableNameField,
     FlexibleModelChoiceField, Livesearch, SelectWithDisabled, SmallTextarea, SlugField,
     FlexibleModelChoiceField, Livesearch, SelectWithDisabled, SmallTextarea, SlugField,
 )
 )
 
 
@@ -85,10 +85,6 @@ class RackGroupForm(forms.ModelForm, BootstrapMixin):
         fields = ['site', 'name', 'slug']
         fields = ['site', 'name', 'slug']
 
 
 
 
-class RackGroupBulkDeleteForm(ConfirmationForm):
-    pk = forms.ModelMultipleChoiceField(queryset=RackGroup.objects.all(), widget=forms.MultipleHiddenInput)
-
-
 def rackgroup_site_choices():
 def rackgroup_site_choices():
     site_choices = Site.objects.annotate(rack_count=Count('rack_groups'))
     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]
     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()
     comments = CommentField()
 
 
 
 
-class RackBulkDeleteForm(ConfirmationForm):
-    pk = forms.ModelMultipleChoiceField(queryset=Rack.objects.all(), widget=forms.MultipleHiddenInput)
-
-
 def rack_site_choices():
 def rack_site_choices():
     site_choices = Site.objects.annotate(rack_count=Count('racks'))
     site_choices = Site.objects.annotate(rack_count=Count('racks'))
     return [(s.slug, u'{} ({})'.format(s.name, s.rack_count)) for s in site_choices]
     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']
         fields = ['name', 'slug']
 
 
 
 
-class ManufacturerBulkDeleteForm(ConfirmationForm):
-    pk = forms.ModelMultipleChoiceField(queryset=Manufacturer.objects.all(), widget=forms.MultipleHiddenInput)
-
-
 #
 #
 # Device types
 # Device types
 #
 #
@@ -225,10 +213,6 @@ class DeviceTypeBulkEditForm(forms.Form, BootstrapMixin):
     u_height = forms.IntegerField(min_value=1, required=False)
     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():
 def devicetype_manufacturer_choices():
     manufacturer_choices = Manufacturer.objects.annotate(devicetype_count=Count('device_types'))
     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]
     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']
         fields = ['name_pattern']
 
 
 
 
-class ConsolePortTemplateBulkDeleteForm(ConfirmationForm):
-    pk = forms.ModelMultipleChoiceField(queryset=ConsolePortTemplate.objects.all(), widget=forms.MultipleHiddenInput)
-
-
 class ConsoleServerPortTemplateForm(forms.ModelForm, BootstrapMixin):
 class ConsoleServerPortTemplateForm(forms.ModelForm, BootstrapMixin):
     name_pattern = ExpandableNameField(label='Name')
     name_pattern = ExpandableNameField(label='Name')
 
 
@@ -263,10 +243,6 @@ class ConsoleServerPortTemplateForm(forms.ModelForm, BootstrapMixin):
         fields = ['name_pattern']
         fields = ['name_pattern']
 
 
 
 
-class ConsoleServerPortTemplateBulkDeleteForm(ConfirmationForm):
-    pk = forms.ModelMultipleChoiceField(queryset=ConsoleServerPortTemplate.objects.all(), widget=forms.MultipleHiddenInput)
-
-
 class PowerPortTemplateForm(forms.ModelForm, BootstrapMixin):
 class PowerPortTemplateForm(forms.ModelForm, BootstrapMixin):
     name_pattern = ExpandableNameField(label='Name')
     name_pattern = ExpandableNameField(label='Name')
 
 
@@ -311,10 +287,6 @@ class DeviceRoleForm(forms.ModelForm, BootstrapMixin):
         fields = ['name', 'slug', 'color']
         fields = ['name', 'slug', 'color']
 
 
 
 
-class DeviceRoleBulkDeleteForm(ConfirmationForm):
-    pk = forms.ModelMultipleChoiceField(queryset=DeviceRole.objects.all(), widget=forms.MultipleHiddenInput)
-
-
 #
 #
 # Platforms
 # Platforms
 #
 #
@@ -327,10 +299,6 @@ class PlatformForm(forms.ModelForm, BootstrapMixin):
         fields = ['name', 'slug']
         fields = ['name', 'slug']
 
 
 
 
-class PlatformBulkDeleteForm(ConfirmationForm):
-    pk = forms.ModelMultipleChoiceField(queryset=Platform.objects.all(), widget=forms.MultipleHiddenInput)
-
-
 #
 #
 # Devices
 # Devices
 #
 #
@@ -550,10 +518,6 @@ class DeviceBulkEditForm(forms.Form, BootstrapMixin):
     serial = forms.CharField(max_length=50, required=False, label='Serial Number')
     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():
 def device_site_choices():
     site_choices = Site.objects.annotate(device_count=Count('racks__devices'))
     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]
     return [(s.slug, u'{} ({})'.format(s.name, s.device_count)) for s in site_choices]

+ 0 - 7
netbox/dcim/views.py

@@ -133,7 +133,6 @@ class RackGroupEditView(PermissionRequiredMixin, ObjectEditView):
 class RackGroupBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
 class RackGroupBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
     permission_required = 'dcim.delete_rackgroup'
     permission_required = 'dcim.delete_rackgroup'
     cls = RackGroup
     cls = RackGroup
-    form = forms.RackGroupBulkDeleteForm
     default_redirect_url = 'dcim:rackgroup_list'
     default_redirect_url = 'dcim:rackgroup_list'
 
 
 
 
@@ -211,7 +210,6 @@ class RackBulkEditView(PermissionRequiredMixin, BulkEditView):
 class RackBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
 class RackBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
     permission_required = 'dcim.delete_rack'
     permission_required = 'dcim.delete_rack'
     cls = Rack
     cls = Rack
-    form = forms.RackBulkDeleteForm
     default_redirect_url = 'dcim:rack_list'
     default_redirect_url = 'dcim:rack_list'
 
 
 
 
@@ -237,7 +235,6 @@ class ManufacturerEditView(PermissionRequiredMixin, ObjectEditView):
 class ManufacturerBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
 class ManufacturerBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
     permission_required = 'dcim.delete_manufacturer'
     permission_required = 'dcim.delete_manufacturer'
     cls = Manufacturer
     cls = Manufacturer
-    form = forms.ManufacturerBulkDeleteForm
     default_redirect_url = 'dcim:manufacturer_list'
     default_redirect_url = 'dcim:manufacturer_list'
 
 
 
 
@@ -332,7 +329,6 @@ class DeviceTypeBulkEditView(PermissionRequiredMixin, BulkEditView):
 class DeviceTypeBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
 class DeviceTypeBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
     permission_required = 'dcim.delete_devicetype'
     permission_required = 'dcim.delete_devicetype'
     cls = DeviceType
     cls = DeviceType
-    form = forms.DeviceTypeBulkDeleteForm
     default_redirect_url = 'dcim:devicetype_list'
     default_redirect_url = 'dcim:devicetype_list'
 
 
 
 
@@ -477,7 +473,6 @@ class DeviceRoleEditView(PermissionRequiredMixin, ObjectEditView):
 class DeviceRoleBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
 class DeviceRoleBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
     permission_required = 'dcim.delete_devicerole'
     permission_required = 'dcim.delete_devicerole'
     cls = DeviceRole
     cls = DeviceRole
-    form = forms.DeviceRoleBulkDeleteForm
     default_redirect_url = 'dcim:devicerole_list'
     default_redirect_url = 'dcim:devicerole_list'
 
 
 
 
@@ -503,7 +498,6 @@ class PlatformEditView(PermissionRequiredMixin, ObjectEditView):
 class PlatformBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
 class PlatformBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
     permission_required = 'dcim.delete_platform'
     permission_required = 'dcim.delete_platform'
     cls = Platform
     cls = Platform
-    form = forms.PlatformBulkDeleteForm
     default_redirect_url = 'dcim:platform_list'
     default_redirect_url = 'dcim:platform_list'
 
 
 
 
@@ -648,7 +642,6 @@ class DeviceBulkEditView(PermissionRequiredMixin, BulkEditView):
 class DeviceBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
 class DeviceBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
     permission_required = 'dcim.delete_device'
     permission_required = 'dcim.delete_device'
     cls = Device
     cls = Device
-    form = forms.DeviceBulkDeleteForm
     default_redirect_url = 'dcim:device_list'
     default_redirect_url = 'dcim:device_list'
 
 
 
 

+ 1 - 35
netbox/ipam/forms.py

@@ -4,9 +4,7 @@ from django import forms
 from django.db.models import Count
 from django.db.models import Count
 
 
 from dcim.models import Site, Device, Interface
 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 (
 from .models import (
     Aggregate, IPAddress, Prefix, PREFIX_STATUS_CHOICES, RIR, Role, VLAN, VLANGroup, VLAN_STATUS_CHOICES, VRF,
     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)
     description = forms.CharField(max_length=100, required=False)
 
 
 
 
-class VRFBulkDeleteForm(ConfirmationForm):
-    pk = forms.ModelMultipleChoiceField(queryset=VRF.objects.all(), widget=forms.MultipleHiddenInput)
-
-
 #
 #
 # RIRs
 # RIRs
 #
 #
@@ -66,10 +60,6 @@ class RIRForm(forms.ModelForm, BootstrapMixin):
         fields = ['name', 'slug']
         fields = ['name', 'slug']
 
 
 
 
-class RIRBulkDeleteForm(ConfirmationForm):
-    pk = forms.ModelMultipleChoiceField(queryset=RIR.objects.all(), widget=forms.MultipleHiddenInput)
-
-
 #
 #
 # Aggregates
 # Aggregates
 #
 #
@@ -106,10 +96,6 @@ class AggregateBulkEditForm(forms.Form, BootstrapMixin):
     description = forms.CharField(max_length=50, required=False)
     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():
 def aggregate_rir_choices():
     rir_choices = RIR.objects.annotate(aggregate_count=Count('aggregates'))
     rir_choices = RIR.objects.annotate(aggregate_count=Count('aggregates'))
     return [(r.slug, u'{} ({})'.format(r.name, r.aggregate_count)) for r in rir_choices]
     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']
         fields = ['name', 'slug']
 
 
 
 
-class RoleBulkDeleteForm(ConfirmationForm):
-    pk = forms.ModelMultipleChoiceField(queryset=Role.objects.all(), widget=forms.MultipleHiddenInput)
-
-
 #
 #
 # Prefixes
 # Prefixes
 #
 #
@@ -254,10 +236,6 @@ class PrefixBulkEditForm(forms.Form, BootstrapMixin):
     description = forms.CharField(max_length=50, required=False)
     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():
 def prefix_vrf_choices():
     vrf_choices = [('', 'All'), (0, 'Global')]
     vrf_choices = [('', 'All'), (0, 'Global')]
     vrf_choices += [(v.pk, v.name) for v in VRF.objects.all()]
     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)
     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():
 def ipaddress_family_choices():
     return [('', 'All'), (4, 'IPv4'), (6, 'IPv6')]
     return [('', 'All'), (4, 'IPv4'), (6, 'IPv6')]
 
 
@@ -449,10 +423,6 @@ class VLANGroupForm(forms.ModelForm, BootstrapMixin):
         fields = ['site', 'name', 'slug']
         fields = ['site', 'name', 'slug']
 
 
 
 
-class VLANGroupBulkDeleteForm(ConfirmationForm):
-    pk = forms.ModelMultipleChoiceField(queryset=VLANGroup.objects.all(), widget=forms.MultipleHiddenInput)
-
-
 def vlangroup_site_choices():
 def vlangroup_site_choices():
     site_choices = Site.objects.annotate(vlangroup_count=Count('vlan_groups'))
     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]
     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)
     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():
 def vlan_site_choices():
     site_choices = Site.objects.annotate(vlan_count=Count('vlans'))
     site_choices = Site.objects.annotate(vlan_count=Count('vlans'))
     return [(s.slug, u'{} ({})'.format(s.name, s.vlan_count)) for s in site_choices]
     return [(s.slug, u'{} ({})'.format(s.name, s.vlan_count)) for s in site_choices]

+ 0 - 8
netbox/ipam/views.py

@@ -95,7 +95,6 @@ class VRFBulkEditView(PermissionRequiredMixin, BulkEditView):
 class VRFBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
 class VRFBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
     permission_required = 'ipam.delete_vrf'
     permission_required = 'ipam.delete_vrf'
     cls = VRF
     cls = VRF
-    form = forms.VRFBulkDeleteForm
     default_redirect_url = 'ipam:vrf_list'
     default_redirect_url = 'ipam:vrf_list'
 
 
 
 
@@ -121,7 +120,6 @@ class RIREditView(PermissionRequiredMixin, ObjectEditView):
 class RIRBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
 class RIRBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
     permission_required = 'ipam.delete_rir'
     permission_required = 'ipam.delete_rir'
     cls = RIR
     cls = RIR
-    form = forms.RIRBulkDeleteForm
     default_redirect_url = 'ipam:rir_list'
     default_redirect_url = 'ipam:rir_list'
 
 
 
 
@@ -217,7 +215,6 @@ class AggregateBulkEditView(PermissionRequiredMixin, BulkEditView):
 class AggregateBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
 class AggregateBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
     permission_required = 'ipam.delete_aggregate'
     permission_required = 'ipam.delete_aggregate'
     cls = Aggregate
     cls = Aggregate
-    form = forms.AggregateBulkDeleteForm
     default_redirect_url = 'ipam:aggregate_list'
     default_redirect_url = 'ipam:aggregate_list'
 
 
 
 
@@ -243,7 +240,6 @@ class RoleEditView(PermissionRequiredMixin, ObjectEditView):
 class RoleBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
 class RoleBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
     permission_required = 'ipam.delete_role'
     permission_required = 'ipam.delete_role'
     cls = Role
     cls = Role
-    form = forms.RoleBulkDeleteForm
     default_redirect_url = 'ipam:role_list'
     default_redirect_url = 'ipam:role_list'
 
 
 
 
@@ -354,7 +350,6 @@ class PrefixBulkEditView(PermissionRequiredMixin, BulkEditView):
 class PrefixBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
 class PrefixBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
     permission_required = 'ipam.delete_prefix'
     permission_required = 'ipam.delete_prefix'
     cls = Prefix
     cls = Prefix
-    form = forms.PrefixBulkDeleteForm
     default_redirect_url = 'ipam:prefix_list'
     default_redirect_url = 'ipam:prefix_list'
 
 
 
 
@@ -479,7 +474,6 @@ class IPAddressBulkEditView(PermissionRequiredMixin, BulkEditView):
 class IPAddressBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
 class IPAddressBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
     permission_required = 'ipam.delete_ipaddress'
     permission_required = 'ipam.delete_ipaddress'
     cls = IPAddress
     cls = IPAddress
-    form = forms.IPAddressBulkDeleteForm
     default_redirect_url = 'ipam:ipaddress_list'
     default_redirect_url = 'ipam:ipaddress_list'
 
 
 
 
@@ -506,7 +500,6 @@ class VLANGroupEditView(PermissionRequiredMixin, ObjectEditView):
 class VLANGroupBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
 class VLANGroupBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
     permission_required = 'ipam.delete_vlangroup'
     permission_required = 'ipam.delete_vlangroup'
     cls = VLANGroup
     cls = VLANGroup
-    form = forms.VLANGroupBulkDeleteForm
     default_redirect_url = 'ipam:vlangroup_list'
     default_redirect_url = 'ipam:vlangroup_list'
 
 
 
 
@@ -575,5 +568,4 @@ class VLANBulkEditView(PermissionRequiredMixin, BulkEditView):
 class VLANBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
 class VLANBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
     permission_required = 'ipam.delete_vlan'
     permission_required = 'ipam.delete_vlan'
     cls = VLAN
     cls = VLAN
-    form = forms.VLANBulkDeleteForm
     default_redirect_url = 'ipam:vlan_list'
     default_redirect_url = 'ipam:vlan_list'

+ 1 - 9
netbox/secrets/forms.py

@@ -5,7 +5,7 @@ from django import forms
 from django.db.models import Count
 from django.db.models import Count
 
 
 from dcim.models import Device
 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
 from .models import Secret, SecretRole, UserKey
 
 
@@ -42,10 +42,6 @@ class SecretRoleForm(forms.ModelForm, BootstrapMixin):
         fields = ['name', 'slug']
         fields = ['name', 'slug']
 
 
 
 
-class SecretRoleBulkDeleteForm(ConfirmationForm):
-    pk = forms.ModelMultipleChoiceField(queryset=SecretRole.objects.all(), widget=forms.MultipleHiddenInput)
-
-
 #
 #
 # Secrets
 # Secrets
 #
 #
@@ -97,10 +93,6 @@ class SecretBulkEditForm(forms.Form, BootstrapMixin):
     name = forms.CharField(max_length=100, required=False)
     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():
 def secret_role_choices():
     role_choices = SecretRole.objects.annotate(secret_count=Count('secrets'))
     role_choices = SecretRole.objects.annotate(secret_count=Count('secrets'))
     return [(r.slug, u'{} ({})'.format(r.name, r.secret_count)) for r in role_choices]
     return [(r.slug, u'{} ({})'.format(r.name, r.secret_count)) for r in role_choices]

+ 0 - 2
netbox/secrets/views.py

@@ -37,7 +37,6 @@ class SecretRoleEditView(PermissionRequiredMixin, ObjectEditView):
 class SecretRoleBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
 class SecretRoleBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
     permission_required = 'secrets.delete_secretrole'
     permission_required = 'secrets.delete_secretrole'
     cls = SecretRole
     cls = SecretRole
-    form = forms.SecretRoleBulkDeleteForm
     default_redirect_url = 'secrets:secretrole_list'
     default_redirect_url = 'secrets:secretrole_list'
 
 
 
 
@@ -219,5 +218,4 @@ class SecretBulkEditView(PermissionRequiredMixin, BulkEditView):
 class SecretBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
 class SecretBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
     permission_required = 'secrets.delete_secret'
     permission_required = 'secrets.delete_secret'
     cls = Secret
     cls = Secret
-    form = forms.SecretBulkDeleteForm
     default_redirect_url = 'secrets:secret_list'
     default_redirect_url = 'secrets:secret_list'