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' permission_required = 'circuits.delete_provider'
cls = Provider cls = Provider
form = ProviderBulkDeleteForm form = ProviderBulkDeleteForm
template_name = 'circuits/provider_bulk_delete.html'
default_redirect_url = 'circuits:provider_list' default_redirect_url = 'circuits:provider_list'
@ -168,5 +167,4 @@ class CircuitBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
permission_required = 'circuits.delete_circuit' permission_required = 'circuits.delete_circuit'
cls = Circuit cls = Circuit
form = CircuitBulkDeleteForm form = CircuitBulkDeleteForm
template_name = 'circuits/circuit_bulk_delete.html'
default_redirect_url = 'circuits:circuit_list' 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.shortcuts import get_object_or_404, redirect, render
from django.utils.http import urlencode from django.utils.http import urlencode
from django.views.generic import View from django.views.generic import View
from django.views.generic.edit import CreateView, UpdateView
from ipam.models import Prefix, IPAddress, VLAN from ipam.models import Prefix, IPAddress, VLAN
from circuits.models import Circuit from circuits.models import Circuit
@ -163,7 +162,6 @@ class RackGroupBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
permission_required = 'dcim.delete_rackgroup' permission_required = 'dcim.delete_rackgroup'
cls = RackGroup cls = RackGroup
form = RackGroupBulkDeleteForm form = RackGroupBulkDeleteForm
template_name = 'dcim/rackgroup_bulk_delete.html'
default_redirect_url = 'dcim:rackgroup_list' default_redirect_url = 'dcim:rackgroup_list'
@ -251,7 +249,6 @@ class RackBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
permission_required = 'dcim.delete_rack' permission_required = 'dcim.delete_rack'
cls = Rack cls = Rack
form = RackBulkDeleteForm form = RackBulkDeleteForm
template_name = 'dcim/rack_bulk_delete.html'
default_redirect_url = 'dcim:rack_list' default_redirect_url = 'dcim:rack_list'
@ -341,7 +338,6 @@ class DeviceTypeBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
permission_required = 'dcim.delete_devicetype' permission_required = 'dcim.delete_devicetype'
cls = DeviceType cls = DeviceType
form = DeviceTypeBulkDeleteForm form = DeviceTypeBulkDeleteForm
template_name = 'dcim/devicetype_bulk_delete.html'
default_redirect_url = 'dcim:devicetype_list' default_redirect_url = 'dcim:devicetype_list'
@ -581,7 +577,6 @@ class DeviceBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
permission_required = 'dcim.delete_device' permission_required = 'dcim.delete_device'
cls = Device cls = Device
form = DeviceBulkDeleteForm form = DeviceBulkDeleteForm
template_name = 'dcim/device_bulk_delete.html'
default_redirect_url = 'dcim:device_list' default_redirect_url = 'dcim:device_list'

View File

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

View File

@ -220,5 +220,4 @@ class SecretBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
permission_required = 'secrets.delete_secret' permission_required = 'secrets.delete_secret'
cls = Secret cls = Secret
form = SecretBulkDeleteForm form = SecretBulkDeleteForm
template_name = 'secrets/secret_bulk_delete.html'
default_redirect_url = 'secrets:secret_list' 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): class BulkDeleteView(View):
cls = None cls = None
form = None form = None
template_name = None template_name = 'utilities/confirm_bulk_delete.html'
default_redirect_url = None default_redirect_url = None
@method_decorator(staff_member_required) @method_decorator(staff_member_required)
@ -338,6 +338,7 @@ class BulkDeleteView(View):
return render(request, self.template_name, { return render(request, self.template_name, {
'form': form, 'form': form,
'obj_type_plural': self.cls._meta.verbose_name_plural,
'selected_objects': selected_objects, 'selected_objects': selected_objects,
'cancel_url': redirect_url, 'cancel_url': redirect_url,
}) })