Browse Source

Consolidated bulk delete views to use a single template

Jeremy Stretch 9 years ago
parent
commit
a0ffd71755

+ 0 - 2
netbox/circuits/views.py

@@ -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'

+ 0 - 5
netbox/dcim/views.py

@@ -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'
 
 

+ 1 - 13
netbox/ipam/views.py

@@ -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'

+ 0 - 1
netbox/secrets/views.py

@@ -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'

+ 0 - 15
netbox/templates/circuits/circuit_bulk_delete.html

@@ -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 %}

+ 0 - 15
netbox/templates/circuits/provider_bulk_delete.html

@@ -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 %}

+ 0 - 15
netbox/templates/dcim/device_bulk_delete.html

@@ -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 %}

+ 0 - 15
netbox/templates/dcim/devicetype_bulk_delete.html

@@ -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 %}

+ 0 - 15
netbox/templates/dcim/rack_bulk_delete.html

@@ -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 %}

+ 0 - 15
netbox/templates/dcim/rackgroup_bulk_delete.html

@@ -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 %}

+ 0 - 15
netbox/templates/ipam/aggregate_bulk_delete.html

@@ -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 %}

+ 0 - 15
netbox/templates/ipam/ipaddress_bulk_delete.html

@@ -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 %}

+ 0 - 15
netbox/templates/ipam/prefix_bulk_delete.html

@@ -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 %}

+ 0 - 15
netbox/templates/ipam/vlan_bulk_delete.html

@@ -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 %}

+ 0 - 15
netbox/templates/ipam/vrf_bulk_delete.html

@@ -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 %}

+ 0 - 13
netbox/templates/secrets/secret_bulk_delete.html

@@ -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 %}

+ 15 - 0
netbox/templates/utilities/confirm_bulk_delete.html

@@ -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 %}

+ 2 - 1
netbox/utilities/views.py

@@ -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,
         })