Parcourir la source

Converted all delete CBVs to use utilities/obj_delete.html

Jeremy Stretch il y a 9 ans
Parent
commit
f4b14b42ee

+ 0 - 2
netbox/circuits/views.py

@@ -54,7 +54,6 @@ class ProviderEditView(PermissionRequiredMixin, ObjectEditView):
 class ProviderDeleteView(PermissionRequiredMixin, ObjectDeleteView):
     permission_required = 'circuits.delete_provider'
     model = Provider
-    template_name = 'circuits/provider_delete.html'
     redirect_url = 'circuits:provider_list'
 
 
@@ -133,7 +132,6 @@ class CircuitEditView(PermissionRequiredMixin, ObjectEditView):
 class CircuitDeleteView(PermissionRequiredMixin, ObjectDeleteView):
     permission_required = 'circuits.delete_circuit'
     model = Circuit
-    template_name = 'circuits/circuit_delete.html'
     redirect_url = 'circuits:circuit_list'
 
 

+ 0 - 4
netbox/dcim/views.py

@@ -117,7 +117,6 @@ class SiteEditView(PermissionRequiredMixin, ObjectEditView):
 class SiteDeleteView(PermissionRequiredMixin, ObjectDeleteView):
     permission_required = 'dcim.delete_site'
     model = Site
-    template_name = 'dcim/site_delete.html'
     redirect_url = 'dcim:site_list'
 
 
@@ -214,7 +213,6 @@ class RackEditView(PermissionRequiredMixin, ObjectEditView):
 class RackDeleteView(PermissionRequiredMixin, ObjectDeleteView):
     permission_required = 'dcim.delete_rack'
     model = Rack
-    template_name = 'dcim/rack_delete.html'
     redirect_url = 'dcim:rack_list'
 
 
@@ -309,7 +307,6 @@ class DeviceTypeEditView(PermissionRequiredMixin, ObjectEditView):
 class DeviceTypeDeleteView(PermissionRequiredMixin, ObjectDeleteView):
     permission_required = 'dcim.delete_devicetype'
     model = DeviceType
-    template_name = 'dcim/devicetype_delete.html'
     redirect_url = 'dcim:devicetype_list'
 
 
@@ -566,7 +563,6 @@ class DeviceEditView(PermissionRequiredMixin, ObjectEditView):
 class DeviceDeleteView(PermissionRequiredMixin, ObjectDeleteView):
     permission_required = 'dcim.delete_device'
     model = Device
-    template_name = 'dcim/device_delete.html'
     redirect_url = 'dcim:device_list'
 
 

+ 0 - 5
netbox/ipam/views.py

@@ -79,7 +79,6 @@ class VRFEditView(PermissionRequiredMixin, ObjectEditView):
 class VRFDeleteView(PermissionRequiredMixin, ObjectDeleteView):
     permission_required = 'ipam.delete_vrf'
     model = VRF
-    template_name = 'ipam/vrf_delete.html'
     redirect_url = 'ipam:vrf_list'
 
 
@@ -170,7 +169,6 @@ class AggregateEditView(PermissionRequiredMixin, ObjectEditView):
 class AggregateDeleteView(PermissionRequiredMixin, ObjectDeleteView):
     permission_required = 'ipam.delete_aggregate'
     model = Aggregate
-    template_name = 'ipam/aggregate_delete.html'
     redirect_url = 'ipam:aggregate_list'
 
 
@@ -287,7 +285,6 @@ class PrefixEditView(PermissionRequiredMixin, ObjectEditView):
 class PrefixDeleteView(PermissionRequiredMixin, ObjectDeleteView):
     permission_required = 'ipam.delete_prefix'
     model = Prefix
-    template_name = 'ipam/prefix_delete.html'
     redirect_url = 'ipam:prefix_list'
 
 
@@ -399,7 +396,6 @@ class IPAddressEditView(PermissionRequiredMixin, ObjectEditView):
 class IPAddressDeleteView(PermissionRequiredMixin, ObjectDeleteView):
     permission_required = 'ipam.delete_ipaddress'
     model = IPAddress
-    template_name = 'ipam/ipaddress_delete.html'
     redirect_url = 'ipam:ipaddress_list'
 
 
@@ -491,7 +487,6 @@ class VLANEditView(PermissionRequiredMixin, ObjectEditView):
 class VLANDeleteView(PermissionRequiredMixin, ObjectDeleteView):
     permission_required = 'ipam.delete_vlan'
     model = VLAN
-    template_name = 'ipam/vlan_delete.html'
     redirect_url = 'ipam:vlan_list'
 
 

+ 1 - 1
netbox/secrets/urls.py

@@ -9,5 +9,5 @@ urlpatterns = [
     url(r'^secrets/delete/$', views.SecretBulkDeleteView.as_view(), name='secret_bulk_delete'),
     url(r'^secrets/(?P<pk>\d+)/$', views.secret, name='secret'),
     url(r'^secrets/(?P<pk>\d+)/edit/$', views.secret_edit, name='secret_edit'),
-    url(r'^secrets/(?P<pk>\d+)/delete/$', views.secret_delete, name='secret_delete'),
+    url(r'^secrets/(?P<pk>\d+)/delete/$', views.SecretDeleteView.as_view(), name='secret_delete'),
 ]

+ 5 - 28
netbox/secrets/views.py

@@ -3,14 +3,11 @@ from django.contrib.auth.decorators import permission_required, login_required
 from django.contrib.auth.mixins import PermissionRequiredMixin
 from django.core.urlresolvers import reverse
 from django.db import transaction, IntegrityError
-from django.db.models import ProtectedError
 from django.shortcuts import get_object_or_404, redirect, render
 from django.utils.decorators import method_decorator
 
 from dcim.models import Device
-from utilities.error_handlers import handle_protectederror
-from utilities.forms import ConfirmationForm
-from utilities.views import BulkEditView, BulkDeleteView, ObjectListView
+from utilities.views import BulkEditView, BulkDeleteView, ObjectListView, ObjectDeleteView
 
 from .decorators import userkey_required
 from .filters import SecretFilter
@@ -128,30 +125,10 @@ def secret_edit(request, pk):
     })
 
 
-@permission_required('secrets.delete_secret')
-def secret_delete(request, pk):
-
-    secret = get_object_or_404(Secret, pk=pk)
-
-    if request.method == 'POST':
-        form = ConfirmationForm(request.POST)
-        if form.is_valid():
-            try:
-                secret.delete()
-                messages.success(request, "Secret {0} has been deleted".format(secret))
-                return redirect('secrets:secret_list')
-            except ProtectedError, e:
-                handle_protectederror(secret, request, e)
-                return redirect('secrets:secret', pk=secret.pk)
-
-    else:
-        form = ConfirmationForm()
-
-    return render(request, 'secrets/secret_delete.html', {
-        'secret': secret,
-        'form': form,
-        'cancel_url': reverse('secrets:secret', kwargs={'pk': secret.pk})
-    })
+class SecretDeleteView(PermissionRequiredMixin, ObjectDeleteView):
+    permission_required = 'secrets.delete_secret'
+    model = Secret
+    redirect_url = 'secrets:secret_list'
 
 
 @permission_required('secrets.add_secret')

+ 0 - 8
netbox/templates/circuits/circuit_delete.html

@@ -1,8 +0,0 @@
-{% extends 'utilities/confirmation_form.html' %}
-{% load form_helpers %}
-
-{% block title %}Delete {{ obj.provider }} - {{ obj.cid }}?{% endblock %}
-
-{% block message %}
-    <p>Are you sure you want to delete circuit {{ obj }} from {{ obj.site }}?</p>
-{% endblock %}

+ 0 - 8
netbox/templates/circuits/provider_delete.html

@@ -1,8 +0,0 @@
-{% extends 'utilities/confirmation_form.html' %}
-{% load form_helpers %}
-
-{% block title %}Delete provider {{ obj }}?{% endblock %}
-
-{% block message %}
-    <p>Are you sure you want to delete provider {{ obj }}?</p>
-{% endblock %}

+ 0 - 8
netbox/templates/dcim/device_delete.html

@@ -1,8 +0,0 @@
-{% extends 'utilities/confirmation_form.html' %}
-{% load form_helpers %}
-
-{% block title %}Delete device {{ obj }}?{% endblock %}
-
-{% block message %}
-    <p>Are you sure you want to delete <strong>{{ obj }}</strong>?</p>
-{% endblock %}

+ 0 - 8
netbox/templates/dcim/devicetype_delete.html

@@ -1,8 +0,0 @@
-{% extends 'utilities/confirmation_form.html' %}
-{% load form_helpers %}
-
-{% block title %}Delete device type {{ obj }}?{% endblock %}
-
-{% block message %}
-    <p>Are you sure you want to delete <strong>{{ obj }}</strong>?</p>
-{% endblock %}

+ 0 - 8
netbox/templates/dcim/rack_delete.html

@@ -1,8 +0,0 @@
-{% extends 'utilities/confirmation_form.html' %}
-{% load form_helpers %}
-
-{% block title %}Delete rack {{ obj }}?{% endblock %}
-
-{% block message %}
-    <p>Are you sure you want to delete rack {{ obj }} from {{ obj.site }}?</p>
-{% endblock %}

+ 0 - 8
netbox/templates/dcim/site_delete.html

@@ -1,8 +0,0 @@
-{% extends 'utilities/confirmation_form.html' %}
-{% load form_helpers %}
-
-{% block title %}Delete site {{ obj }}?{% endblock %}
-
-{% block message %}
-    <p>Are you sure you want to delete site {{ obj }}?</p>
-{% endblock %}

+ 0 - 8
netbox/templates/ipam/aggregate_delete.html

@@ -1,8 +0,0 @@
-{% extends 'utilities/confirmation_form.html' %}
-{% load form_helpers %}
-
-{% block title %}Delete aggregate {{ obj }}?{% endblock %}
-
-{% block message %}
-    <p>Are you sure you want to delete {{ obj }}?</p>
-{% endblock %}

+ 0 - 8
netbox/templates/ipam/ipaddress_delete.html

@@ -1,8 +0,0 @@
-{% extends 'utilities/confirmation_form.html' %}
-{% load form_helpers %}
-
-{% block title %}Delete IP address {{ obj }}?{% endblock %}
-
-{% block message %}
-    <p>Are you sure you want to delete {{ obj }}?</p>
-{% endblock %}

+ 0 - 8
netbox/templates/ipam/prefix_delete.html

@@ -1,8 +0,0 @@
-{% extends 'utilities/confirmation_form.html' %}
-{% load form_helpers %}
-
-{% block title %}Delete prefix {{ obj }}?{% endblock %}
-
-{% block message %}
-    <p>Are you sure you want to delete {{ obj }}?</p>
-{% endblock %}

+ 0 - 22
netbox/templates/ipam/vlan_delete.html

@@ -1,22 +0,0 @@
-{% extends 'utilities/confirmation_form.html' %}
-{% load form_helpers %}
-
-{% block title %}Delete VLAN {{ obj }}?{% endblock %}
-
-{% block message %}
-    <p>
-        Are you sure you want to delete this VLAN?
-        {% if obj.prefix_set.count %}
-            The following prefixes will also be deleted:
-        {% else %}
-            (There are no prefixes associated with this VLAN.)
-        {% endif %}
-    </p>
-    {% if obj.prefix_set.count %}
-        <ul>
-            {% for p in obj.prefix_set.all %}
-            <li><a href="{% url 'ipam:prefix' pk=p.pk %}">{{ p }}</a></li>
-            {% endfor %}
-        </ul>
-    {% endif %}
-{% endblock %}

+ 0 - 22
netbox/templates/ipam/vrf_delete.html

@@ -1,22 +0,0 @@
-{% extends 'utilities/confirmation_form.html' %}
-{% load form_helpers %}
-
-{% block title %}Delete VRF {{ obj }}?{% endblock %}
-
-{% block message %}
-    <p>
-        Are you sure you want to delete this VRF?
-        {% if obj.prefix_set.count %}
-            The following prefixes will also be deleted:
-        {% else %}
-            (There are no prefixes associated with this VRF.)
-        {% endif %}
-    </p>
-    {% if obj.prefix_set.count %}
-        <ul>
-            {% for p in obj.prefix_set.all %}
-            <li><a href="{% url 'ipam:prefix' pk=p.pk %}">{{ p }}</a></li>
-            {% endfor %}
-        </ul>
-    {% endif %}
-{% endblock %}

+ 1 - 1
netbox/templates/utilities/confirmation_form.html

@@ -9,7 +9,7 @@
             <div class="panel panel-danger">
                 <div class="panel-heading">{% block title %}{% endblock %}</div>
                 <div class="panel-body">
-                    {% block message %}Are you sure?{% endblock %}
+                    {% block message %}<p>Are you sure?</p>{% endblock %}
                     {% for field in form.hidden_fields %}
                         {{ field }}
                     {% endfor %}

+ 9 - 0
netbox/templates/utilities/obj_delete.html

@@ -0,0 +1,9 @@
+{% extends 'utilities/confirmation_form.html' %}
+{% load form_helpers %}
+
+{% block title %}Delete {{ obj_type }}?{% endblock %}
+
+{% block message %}
+    <p>Are you sure you want to delete {{ obj_type }} <strong>{{ obj }}</strong>?</p>
+    {% block message_extra %}{% endblock %}
+{% endblock %}

+ 3 - 1
netbox/utilities/views.py

@@ -162,7 +162,7 @@ class ObjectEditView(View):
 
 class ObjectDeleteView(View):
     model = None
-    template_name = None
+    template_name = 'utilities/obj_delete.html'
     redirect_url = None
 
     def get_object(self, kwargs):
@@ -180,6 +180,7 @@ class ObjectDeleteView(View):
         return render(request, self.template_name, {
             'obj': obj,
             'form': form,
+            'obj_type': self.model._meta.verbose_name,
             'cancel_url': obj.get_absolute_url(),
         })
 
@@ -199,6 +200,7 @@ class ObjectDeleteView(View):
         return render(request, self.template_name, {
             'obj': obj,
             'form': form,
+            'obj_type': self.model._meta.verbose_name,
             'cancel_url': obj.get_absolute_url(),
         })