1
0
mirror of https://github.com/netbox-community/netbox.git synced 2024-05-10 07:54:54 +00:00

Converted all delete CBVs to use utilities/obj_delete.html

This commit is contained in:
Jeremy Stretch
2016-05-12 15:46:02 -04:00
parent bf364b7466
commit f4b14b42ee
19 changed files with 19 additions and 158 deletions

View File

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

View File

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

View File

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

View File

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

View File

@ -3,14 +3,11 @@ from django.contrib.auth.decorators import permission_required, login_required
from django.contrib.auth.mixins import PermissionRequiredMixin from django.contrib.auth.mixins import PermissionRequiredMixin
from django.core.urlresolvers import reverse from django.core.urlresolvers import reverse
from django.db import transaction, IntegrityError from django.db import transaction, IntegrityError
from django.db.models import ProtectedError
from django.shortcuts import get_object_or_404, redirect, render from django.shortcuts import get_object_or_404, redirect, render
from django.utils.decorators import method_decorator from django.utils.decorators import method_decorator
from dcim.models import Device from dcim.models import Device
from utilities.error_handlers import handle_protectederror from utilities.views import BulkEditView, BulkDeleteView, ObjectListView, ObjectDeleteView
from utilities.forms import ConfirmationForm
from utilities.views import BulkEditView, BulkDeleteView, ObjectListView
from .decorators import userkey_required from .decorators import userkey_required
from .filters import SecretFilter from .filters import SecretFilter
@ -128,30 +125,10 @@ def secret_edit(request, pk):
}) })
@permission_required('secrets.delete_secret') class SecretDeleteView(PermissionRequiredMixin, ObjectDeleteView):
def secret_delete(request, pk): permission_required = 'secrets.delete_secret'
model = Secret
secret = get_object_or_404(Secret, pk=pk) redirect_url = 'secrets:secret_list'
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})
})
@permission_required('secrets.add_secret') @permission_required('secrets.add_secret')

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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