mirror of
https://github.com/netbox-community/netbox.git
synced 2024-05-10 07:54:54 +00:00
Replaced all object-specific BulkDeleteForms with the stock form provided by utilities.BulkDeleteView
This commit is contained in:
@ -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,
|
APISelect, BootstrapMixin, BulkImportForm, CommentField, CSVDataField, Livesearch, SmallTextarea, SlugField,
|
||||||
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]
|
||||||
|
@ -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'
|
||||||
|
@ -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]
|
||||||
|
@ -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'
|
||||||
|
|
||||||
|
|
||||||
|
@ -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 (
|
from utilities.forms import BootstrapMixin, APISelect, Livesearch, CSVDataField, BulkImportForm, SlugField
|
||||||
BootstrapMixin, ConfirmationForm, 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]
|
||||||
|
@ -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'
|
||||||
|
@ -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]
|
||||||
|
@ -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'
|
||||||
|
Reference in New Issue
Block a user