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:
@ -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'
|
||||
|
||||
|
||||
|
@ -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'
|
||||
|
||||
|
||||
|
@ -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'
|
||||
|
||||
|
||||
|
@ -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'),
|
||||
]
|
||||
|
@ -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')
|
||||
|
@ -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 %}
|
@ -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 %}
|
@ -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 %}
|
@ -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 %}
|
@ -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 %}
|
@ -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 %}
|
@ -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 %}
|
@ -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 %}
|
@ -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 %}
|
@ -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 %}
|
@ -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 %}
|
@ -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
netbox/templates/utilities/obj_delete.html
Normal file
9
netbox/templates/utilities/obj_delete.html
Normal 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 %}
|
@ -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(),
|
||||
})
|
||||
|
||||
|
Reference in New Issue
Block a user