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):
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'

View File

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

View File

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

View File

@ -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'),
]

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

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

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