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):
|
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'
|
||||||
|
|
||||||
|
|
||||||
|
@ -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'
|
||||||
|
|
||||||
|
|
||||||
|
@ -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'
|
||||||
|
|
||||||
|
|
||||||
|
@ -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'),
|
||||||
]
|
]
|
||||||
|
@ -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')
|
||||||
|
@ -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 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 %}
|
||||||
|
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):
|
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(),
|
||||||
})
|
})
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user