1
0
mirror of https://github.com/netbox-community/netbox.git synced 2024-05-10 07:54:54 +00:00

Consolidated bulk delete views to use a single template

This commit is contained in:
Jeremy Stretch
2016-05-11 15:18:39 -04:00
parent bacde242aa
commit a0ffd71755
18 changed files with 18 additions and 200 deletions

View File

@ -88,7 +88,6 @@ class ProviderBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
permission_required = 'circuits.delete_provider'
cls = Provider
form = ProviderBulkDeleteForm
template_name = 'circuits/provider_bulk_delete.html'
default_redirect_url = 'circuits:provider_list'
@ -168,5 +167,4 @@ class CircuitBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
permission_required = 'circuits.delete_circuit'
cls = Circuit
form = CircuitBulkDeleteForm
template_name = 'circuits/circuit_bulk_delete.html'
default_redirect_url = 'circuits:circuit_list'

View File

@ -11,7 +11,6 @@ from django.http import HttpResponseRedirect
from django.shortcuts import get_object_or_404, redirect, render
from django.utils.http import urlencode
from django.views.generic import View
from django.views.generic.edit import CreateView, UpdateView
from ipam.models import Prefix, IPAddress, VLAN
from circuits.models import Circuit
@ -163,7 +162,6 @@ class RackGroupBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
permission_required = 'dcim.delete_rackgroup'
cls = RackGroup
form = RackGroupBulkDeleteForm
template_name = 'dcim/rackgroup_bulk_delete.html'
default_redirect_url = 'dcim:rackgroup_list'
@ -251,7 +249,6 @@ class RackBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
permission_required = 'dcim.delete_rack'
cls = Rack
form = RackBulkDeleteForm
template_name = 'dcim/rack_bulk_delete.html'
default_redirect_url = 'dcim:rack_list'
@ -341,7 +338,6 @@ class DeviceTypeBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
permission_required = 'dcim.delete_devicetype'
cls = DeviceType
form = DeviceTypeBulkDeleteForm
template_name = 'dcim/devicetype_bulk_delete.html'
default_redirect_url = 'dcim:devicetype_list'
@ -581,7 +577,6 @@ class DeviceBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
permission_required = 'dcim.delete_device'
cls = Device
form = DeviceBulkDeleteForm
template_name = 'dcim/device_bulk_delete.html'
default_redirect_url = 'dcim:device_list'

View File

@ -3,17 +3,10 @@ from netaddr import IPSet
from django_tables2 import RequestConfig
from django.conf import settings
from django.contrib import messages
from django.contrib.auth.decorators import permission_required
from django.contrib.auth.mixins import PermissionRequiredMixin
from django.core.urlresolvers import reverse
from django.db.models import ProtectedError
from django.http import HttpResponseRedirect
from django.shortcuts import get_object_or_404, redirect, render
from django.utils.http import urlencode
from django.shortcuts import get_object_or_404, render
from dcim.models import Device
from utilities.error_handlers import handle_protectederror
from utilities.forms import ConfirmationForm
from utilities.paginator import EnhancedPaginator
from utilities.views import BulkImportView, BulkEditView, BulkDeleteView, ObjectListView, ObjectAddView,\
ObjectEditView, ObjectDeleteView
@ -122,7 +115,6 @@ class VRFBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
permission_required = 'ipam.delete_vrf'
cls = VRF
form = VRFBulkDeleteForm
template_name = 'ipam/vrf_bulk_delete.html'
default_redirect_url = 'ipam:vrf_list'
@ -216,7 +208,6 @@ class AggregateBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
permission_required = 'ipam.delete_aggregate'
cls = Aggregate
form = AggregateBulkDeleteForm
template_name = 'ipam/aggregate_bulk_delete.html'
default_redirect_url = 'ipam:aggregate_list'
@ -340,7 +331,6 @@ class PrefixBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
permission_required = 'ipam.delete_prefix'
cls = Prefix
form = PrefixBulkDeleteForm
template_name = 'ipam/prefix_bulk_delete.html'
default_redirect_url = 'ipam:prefix_list'
@ -463,7 +453,6 @@ class IPAddressBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
permission_required = 'ipam.delete_ipaddress'
cls = IPAddress
form = IPAddressBulkDeleteForm
template_name = 'ipam/ipaddress_bulk_delete.html'
default_redirect_url = 'ipam:ipaddress_list'
@ -544,5 +533,4 @@ class VLANBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
permission_required = 'ipam.delete_vlan'
cls = VLAN
form = VLANBulkDeleteForm
template_name = 'ipam/vlan_bulk_delete.html'
default_redirect_url = 'ipam:vlan_list'

View File

@ -220,5 +220,4 @@ class SecretBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
permission_required = 'secrets.delete_secret'
cls = Secret
form = SecretBulkDeleteForm
template_name = 'secrets/secret_bulk_delete.html'
default_redirect_url = 'secrets:secret_list'

View File

@ -1,15 +0,0 @@
{% extends 'utilities/confirmation_form.html' %}
{% load form_helpers %}
{% block title %}Delete Circuits?{% endblock %}
{% block message %}
<p>
Are you sure you want to delete these circuits?
</p>
<ul>
{% for circuit in selected_objects %}
<li><a href="{% url 'circuits:circuit' pk=circuit.pk %}">{{ circuit }}</a></li>
{% endfor %}
</ul>
{% endblock %}

View File

@ -1,15 +0,0 @@
{% extends 'utilities/confirmation_form.html' %}
{% load form_helpers %}
{% block title %}Delete Providers?{% endblock %}
{% block message %}
<p>
Are you sure you want to delete these providers?
</p>
<ul>
{% for provider in selected_objects %}
<li><a href="{% url 'circuits:provider' slug=provider.slug %}">{{ provider }}</a></li>
{% endfor %}
</ul>
{% endblock %}

View File

@ -1,15 +0,0 @@
{% extends 'utilities/confirmation_form.html' %}
{% load form_helpers %}
{% block title %}Delete Devices?{% endblock %}
{% block message %}
<p>
Are you sure you want to delete these devices?
</p>
<ul>
{% for device in selected_objects %}
<li><a href="{% url 'dcim:device' pk=device.pk %}">{{ device }}</a></li>
{% endfor %}
</ul>
{% endblock %}

View File

@ -1,15 +0,0 @@
{% extends 'utilities/confirmation_form.html' %}
{% load form_helpers %}
{% block title %}Delete Device Types?{% endblock %}
{% block message %}
<p>
Are you sure you want to delete these device types?
</p>
<ul>
{% for devicetype in selected_objects %}
<li><a href="{% url 'dcim:devicetype' pk=devicetype.pk %}">{{ devicetype }}</a></li>
{% endfor %}
</ul>
{% endblock %}

View File

@ -1,15 +0,0 @@
{% extends 'utilities/confirmation_form.html' %}
{% load form_helpers %}
{% block title %}Delete Racks?{% endblock %}
{% block message %}
<p>
Are you sure you want to delete these racks?
</p>
<ul>
{% for rack in selected_objects %}
<li><a href="{% url 'dcim:rack' pk=rack.pk %}">{{ rack }}</a></li>
{% endfor %}
</ul>
{% endblock %}

View File

@ -1,15 +0,0 @@
{% extends 'utilities/confirmation_form.html' %}
{% load form_helpers %}
{% block title %}Delete Rack Groups?{% endblock %}
{% block message %}
<p>
Are you sure you want to delete these rack groups?
</p>
<ul>
{% for rg in selected_objects %}
<li>{{ rg }} ({{ rg.site }})</li>
{% endfor %}
</ul>
{% endblock %}

View File

@ -1,15 +0,0 @@
{% extends 'utilities/confirmation_form.html' %}
{% load form_helpers %}
{% block title %}Delete Aggregates?{% endblock %}
{% block message %}
<p>
Are you sure you want to delete these aggregates?
</p>
<ul>
{% for aggregate in selected_objects %}
<li><a href="{% url 'ipam:aggregate' pk=aggregate.pk %}">{{ aggregate }}</a></li>
{% endfor %}
</ul>
{% endblock %}

View File

@ -1,15 +0,0 @@
{% extends 'utilities/confirmation_form.html' %}
{% load form_helpers %}
{% block title %}Delete IP Addresses?{% endblock %}
{% block message %}
<p>
Are you sure you want to delete these IP addresses?
</p>
<ul>
{% for ipaddress in selected_objects %}
<li><a href="{% url 'ipam:ipaddress' pk=ipaddress.pk %}">{{ ipaddress }}</a></li>
{% endfor %}
</ul>
{% endblock %}

View File

@ -1,15 +0,0 @@
{% extends 'utilities/confirmation_form.html' %}
{% load form_helpers %}
{% block title %}Delete Prefixes?{% endblock %}
{% block message %}
<p>
Are you sure you want to delete these prefixes?
</p>
<ul>
{% for prefix in selected_objects %}
<li><a href="{% url 'ipam:prefix' pk=prefix.pk %}">{{ prefix }}</a></li>
{% endfor %}
</ul>
{% endblock %}

View File

@ -1,15 +0,0 @@
{% extends 'utilities/confirmation_form.html' %}
{% load form_helpers %}
{% block title %}Delete VLANs?{% endblock %}
{% block message %}
<p>
Are you sure you want to delete these VLANs?
</p>
<ul>
{% for vlan in selected_objects %}
<li><a href="{% url 'ipam:vlan' pk=vlan.pk %}">{{ vlan }}</a></li>
{% endfor %}
</ul>
{% endblock %}

View File

@ -1,15 +0,0 @@
{% extends 'utilities/confirmation_form.html' %}
{% load form_helpers %}
{% block title %}Delete VRFs?{% endblock %}
{% block message %}
<p>
Are you sure you want to delete these VRFs?
</p>
<ul>
{% for vrf in selected_objects %}
<li><a href="{% url 'ipam:vrf' pk=vrf.pk %}">{{ vrf }}</a></li>
{% endfor %}
</ul>
{% endblock %}

View File

@ -1,13 +0,0 @@
{% extends 'utilities/confirmation_form.html' %}
{% load form_helpers %}
{% block title %}Delete Secrets?{% endblock %}
{% block message %}
<p>Are you sure you want to delete these secrets?</p>
<ul>
{% for secret in selected_objects %}
<li><a href="{% url 'secrets:secret' pk=secret.pk %}">{{ secret }}</a></li>
{% endfor %}
</ul>
{% endblock %}

View File

@ -0,0 +1,15 @@
{% extends 'utilities/confirmation_form.html' %}
{% load form_helpers %}
{% block title %}Delete {{ obj_type_plural|default:"objects" }}?{% endblock %}
{% block message %}
<p>
Are you sure you want to delete these {{ obj_type_plural|default:"objects" }}?
</p>
<ul>
{% for obj in selected_objects %}
<li><a href="{{ obj.get_absolute_url }}">{{ obj }}</a></li>
{% endfor %}
</ul>
{% endblock %}

View File

@ -294,7 +294,7 @@ class BulkEditView(View):
class BulkDeleteView(View):
cls = None
form = None
template_name = None
template_name = 'utilities/confirm_bulk_delete.html'
default_redirect_url = None
@method_decorator(staff_member_required)
@ -338,6 +338,7 @@ class BulkDeleteView(View):
return render(request, self.template_name, {
'form': form,
'obj_type_plural': self.cls._meta.verbose_name_plural,
'selected_objects': selected_objects,
'cancel_url': redirect_url,
})