From f4b14b42ee0f72c286bbd05687443c72f6fce774 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Thu, 12 May 2016 15:46:02 -0400 Subject: [PATCH] Converted all delete CBVs to use utilities/obj_delete.html --- netbox/circuits/views.py | 2 -- netbox/dcim/views.py | 4 --- netbox/ipam/views.py | 5 --- netbox/secrets/urls.py | 2 +- netbox/secrets/views.py | 33 +++---------------- netbox/templates/circuits/circuit_delete.html | 8 ----- .../templates/circuits/provider_delete.html | 8 ----- netbox/templates/dcim/device_delete.html | 8 ----- netbox/templates/dcim/devicetype_delete.html | 8 ----- netbox/templates/dcim/rack_delete.html | 8 ----- netbox/templates/dcim/site_delete.html | 8 ----- netbox/templates/ipam/aggregate_delete.html | 8 ----- netbox/templates/ipam/ipaddress_delete.html | 8 ----- netbox/templates/ipam/prefix_delete.html | 8 ----- netbox/templates/ipam/vlan_delete.html | 22 ------------- netbox/templates/ipam/vrf_delete.html | 22 ------------- .../utilities/confirmation_form.html | 2 +- netbox/templates/utilities/obj_delete.html | 9 +++++ netbox/utilities/views.py | 4 ++- 19 files changed, 19 insertions(+), 158 deletions(-) delete mode 100644 netbox/templates/circuits/circuit_delete.html delete mode 100644 netbox/templates/circuits/provider_delete.html delete mode 100644 netbox/templates/dcim/device_delete.html delete mode 100644 netbox/templates/dcim/devicetype_delete.html delete mode 100644 netbox/templates/dcim/rack_delete.html delete mode 100644 netbox/templates/dcim/site_delete.html delete mode 100644 netbox/templates/ipam/aggregate_delete.html delete mode 100644 netbox/templates/ipam/ipaddress_delete.html delete mode 100644 netbox/templates/ipam/prefix_delete.html delete mode 100644 netbox/templates/ipam/vlan_delete.html delete mode 100644 netbox/templates/ipam/vrf_delete.html create mode 100644 netbox/templates/utilities/obj_delete.html diff --git a/netbox/circuits/views.py b/netbox/circuits/views.py index fd2b84bd4..a6f8740d3 100644 --- a/netbox/circuits/views.py +++ b/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' diff --git a/netbox/dcim/views.py b/netbox/dcim/views.py index 4495d27fe..9874ffd03 100644 --- a/netbox/dcim/views.py +++ b/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' diff --git a/netbox/ipam/views.py b/netbox/ipam/views.py index c1d9696de..a241cfe51 100644 --- a/netbox/ipam/views.py +++ b/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' diff --git a/netbox/secrets/urls.py b/netbox/secrets/urls.py index 6c6dada6c..5f023499e 100644 --- a/netbox/secrets/urls.py +++ b/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\d+)/$', views.secret, name='secret'), url(r'^secrets/(?P\d+)/edit/$', views.secret_edit, name='secret_edit'), - url(r'^secrets/(?P\d+)/delete/$', views.secret_delete, name='secret_delete'), + url(r'^secrets/(?P\d+)/delete/$', views.SecretDeleteView.as_view(), name='secret_delete'), ] diff --git a/netbox/secrets/views.py b/netbox/secrets/views.py index 16dd06325..6e251313d 100644 --- a/netbox/secrets/views.py +++ b/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') diff --git a/netbox/templates/circuits/circuit_delete.html b/netbox/templates/circuits/circuit_delete.html deleted file mode 100644 index 10de3cbb4..000000000 --- a/netbox/templates/circuits/circuit_delete.html +++ /dev/null @@ -1,8 +0,0 @@ -{% extends 'utilities/confirmation_form.html' %} -{% load form_helpers %} - -{% block title %}Delete {{ obj.provider }} - {{ obj.cid }}?{% endblock %} - -{% block message %} -

Are you sure you want to delete circuit {{ obj }} from {{ obj.site }}?

-{% endblock %} diff --git a/netbox/templates/circuits/provider_delete.html b/netbox/templates/circuits/provider_delete.html deleted file mode 100644 index efb6d106a..000000000 --- a/netbox/templates/circuits/provider_delete.html +++ /dev/null @@ -1,8 +0,0 @@ -{% extends 'utilities/confirmation_form.html' %} -{% load form_helpers %} - -{% block title %}Delete provider {{ obj }}?{% endblock %} - -{% block message %} -

Are you sure you want to delete provider {{ obj }}?

-{% endblock %} diff --git a/netbox/templates/dcim/device_delete.html b/netbox/templates/dcim/device_delete.html deleted file mode 100644 index 587dad0b7..000000000 --- a/netbox/templates/dcim/device_delete.html +++ /dev/null @@ -1,8 +0,0 @@ -{% extends 'utilities/confirmation_form.html' %} -{% load form_helpers %} - -{% block title %}Delete device {{ obj }}?{% endblock %} - -{% block message %} -

Are you sure you want to delete {{ obj }}?

-{% endblock %} diff --git a/netbox/templates/dcim/devicetype_delete.html b/netbox/templates/dcim/devicetype_delete.html deleted file mode 100644 index 679945093..000000000 --- a/netbox/templates/dcim/devicetype_delete.html +++ /dev/null @@ -1,8 +0,0 @@ -{% extends 'utilities/confirmation_form.html' %} -{% load form_helpers %} - -{% block title %}Delete device type {{ obj }}?{% endblock %} - -{% block message %} -

Are you sure you want to delete {{ obj }}?

-{% endblock %} diff --git a/netbox/templates/dcim/rack_delete.html b/netbox/templates/dcim/rack_delete.html deleted file mode 100644 index 38b5f0719..000000000 --- a/netbox/templates/dcim/rack_delete.html +++ /dev/null @@ -1,8 +0,0 @@ -{% extends 'utilities/confirmation_form.html' %} -{% load form_helpers %} - -{% block title %}Delete rack {{ obj }}?{% endblock %} - -{% block message %} -

Are you sure you want to delete rack {{ obj }} from {{ obj.site }}?

-{% endblock %} diff --git a/netbox/templates/dcim/site_delete.html b/netbox/templates/dcim/site_delete.html deleted file mode 100644 index 0325d7a9e..000000000 --- a/netbox/templates/dcim/site_delete.html +++ /dev/null @@ -1,8 +0,0 @@ -{% extends 'utilities/confirmation_form.html' %} -{% load form_helpers %} - -{% block title %}Delete site {{ obj }}?{% endblock %} - -{% block message %} -

Are you sure you want to delete site {{ obj }}?

-{% endblock %} diff --git a/netbox/templates/ipam/aggregate_delete.html b/netbox/templates/ipam/aggregate_delete.html deleted file mode 100644 index 34d03f678..000000000 --- a/netbox/templates/ipam/aggregate_delete.html +++ /dev/null @@ -1,8 +0,0 @@ -{% extends 'utilities/confirmation_form.html' %} -{% load form_helpers %} - -{% block title %}Delete aggregate {{ obj }}?{% endblock %} - -{% block message %} -

Are you sure you want to delete {{ obj }}?

-{% endblock %} diff --git a/netbox/templates/ipam/ipaddress_delete.html b/netbox/templates/ipam/ipaddress_delete.html deleted file mode 100644 index 16d69323f..000000000 --- a/netbox/templates/ipam/ipaddress_delete.html +++ /dev/null @@ -1,8 +0,0 @@ -{% extends 'utilities/confirmation_form.html' %} -{% load form_helpers %} - -{% block title %}Delete IP address {{ obj }}?{% endblock %} - -{% block message %} -

Are you sure you want to delete {{ obj }}?

-{% endblock %} diff --git a/netbox/templates/ipam/prefix_delete.html b/netbox/templates/ipam/prefix_delete.html deleted file mode 100644 index 229dc2857..000000000 --- a/netbox/templates/ipam/prefix_delete.html +++ /dev/null @@ -1,8 +0,0 @@ -{% extends 'utilities/confirmation_form.html' %} -{% load form_helpers %} - -{% block title %}Delete prefix {{ obj }}?{% endblock %} - -{% block message %} -

Are you sure you want to delete {{ obj }}?

-{% endblock %} diff --git a/netbox/templates/ipam/vlan_delete.html b/netbox/templates/ipam/vlan_delete.html deleted file mode 100644 index b12747e9b..000000000 --- a/netbox/templates/ipam/vlan_delete.html +++ /dev/null @@ -1,22 +0,0 @@ -{% extends 'utilities/confirmation_form.html' %} -{% load form_helpers %} - -{% block title %}Delete VLAN {{ obj }}?{% endblock %} - -{% block message %} -

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

- {% if obj.prefix_set.count %} -
    - {% for p in obj.prefix_set.all %} -
  • {{ p }}
  • - {% endfor %} -
- {% endif %} -{% endblock %} diff --git a/netbox/templates/ipam/vrf_delete.html b/netbox/templates/ipam/vrf_delete.html deleted file mode 100644 index 96d5bf226..000000000 --- a/netbox/templates/ipam/vrf_delete.html +++ /dev/null @@ -1,22 +0,0 @@ -{% extends 'utilities/confirmation_form.html' %} -{% load form_helpers %} - -{% block title %}Delete VRF {{ obj }}?{% endblock %} - -{% block message %} -

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

- {% if obj.prefix_set.count %} -
    - {% for p in obj.prefix_set.all %} -
  • {{ p }}
  • - {% endfor %} -
- {% endif %} -{% endblock %} diff --git a/netbox/templates/utilities/confirmation_form.html b/netbox/templates/utilities/confirmation_form.html index 122f319b6..05f7effbb 100644 --- a/netbox/templates/utilities/confirmation_form.html +++ b/netbox/templates/utilities/confirmation_form.html @@ -9,7 +9,7 @@
{% block title %}{% endblock %}
- {% block message %}Are you sure?{% endblock %} + {% block message %}

Are you sure?

{% endblock %} {% for field in form.hidden_fields %} {{ field }} {% endfor %} diff --git a/netbox/templates/utilities/obj_delete.html b/netbox/templates/utilities/obj_delete.html new file mode 100644 index 000000000..fdfda0aac --- /dev/null +++ b/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 %} +

Are you sure you want to delete {{ obj_type }} {{ obj }}?

+ {% block message_extra %}{% endblock %} +{% endblock %} diff --git a/netbox/utilities/views.py b/netbox/utilities/views.py index b72b08049..206576d49 100644 --- a/netbox/utilities/views.py +++ b/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(), })