Ver Fonte

Consolidated bulk delete views to use a single template

Jeremy Stretch há 9 anos atrás
pai
commit
a0ffd71755

+ 0 - 2
netbox/circuits/views.py

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

+ 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.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'
 
 
 
 

+ 1 - 13
netbox/ipam/views.py

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

+ 0 - 1
netbox/secrets/views.py

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

+ 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):
 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,
         })
         })