mirror of
https://github.com/netbox-community/netbox.git
synced 2024-05-10 07:54:54 +00:00
Converted circuits add/edit/delete views to CBVs
This commit is contained in:
@@ -4,20 +4,20 @@ from . import views
|
||||
|
||||
urlpatterns = [
|
||||
url(r'^circuits/$', views.CircuitListView.as_view(), name='circuit_list'),
|
||||
url(r'^circuits/add/$', views.circuit_add, name='circuit_add'),
|
||||
url(r'^circuits/add/$', views.CircuitAddView.as_view(), name='circuit_add'),
|
||||
url(r'^circuits/import/$', views.CircuitBulkImportView.as_view(), name='circuit_import'),
|
||||
url(r'^circuits/edit/$', views.CircuitBulkEditView.as_view(), name='circuit_bulk_edit'),
|
||||
url(r'^circuits/delete/$', views.CircuitBulkDeleteView.as_view(), name='circuit_bulk_delete'),
|
||||
url(r'^circuits/(?P<pk>\d+)/$', views.circuit, name='circuit'),
|
||||
url(r'^circuits/(?P<pk>\d+)/edit/$', views.circuit_edit, name='circuit_edit'),
|
||||
url(r'^circuits/(?P<pk>\d+)/delete/$', views.circuit_delete, name='circuit_delete'),
|
||||
url(r'^circuits/(?P<pk>\d+)/edit/$', views.CircuitEditView.as_view(), name='circuit_edit'),
|
||||
url(r'^circuits/(?P<pk>\d+)/delete/$', views.CircuitDeleteView.as_view(), name='circuit_delete'),
|
||||
|
||||
url(r'^providers/$', views.ProviderListView.as_view(), name='provider_list'),
|
||||
url(r'^providers/add/$', views.provider_add, name='provider_add'),
|
||||
url(r'^providers/add/$', views.ProviderAddView.as_view(), name='provider_add'),
|
||||
url(r'^providers/import/$', views.ProviderBulkImportView.as_view(), name='provider_import'),
|
||||
url(r'^providers/edit/$', views.ProviderBulkEditView.as_view(), name='provider_bulk_edit'),
|
||||
url(r'^providers/delete/$', views.ProviderBulkDeleteView.as_view(), name='provider_bulk_delete'),
|
||||
url(r'^providers/(?P<slug>[\w-]+)/$', views.provider, name='provider'),
|
||||
url(r'^providers/(?P<slug>[\w-]+)/edit/$', views.provider_edit, name='provider_edit'),
|
||||
url(r'^providers/(?P<slug>[\w-]+)/delete/$', views.provider_delete, name='provider_delete'),
|
||||
url(r'^providers/(?P<slug>[\w-]+)/edit/$', views.ProviderEditView.as_view(), name='provider_edit'),
|
||||
url(r'^providers/(?P<slug>[\w-]+)/delete/$', views.ProviderDeleteView.as_view(), name='provider_delete'),
|
||||
]
|
||||
|
@@ -1,16 +1,13 @@
|
||||
from django.contrib import messages
|
||||
from django.contrib.auth.decorators import permission_required
|
||||
from django.contrib.auth.mixins import PermissionRequiredMixin
|
||||
from django.core.urlresolvers import reverse
|
||||
from django.db.models import Count, ProtectedError
|
||||
from django.shortcuts import get_object_or_404, redirect, render
|
||||
from django.db.models import Count
|
||||
from django.shortcuts import get_object_or_404, render
|
||||
|
||||
from utilities.error_handlers import handle_protectederror
|
||||
from utilities.forms import ConfirmationForm
|
||||
from utilities.views import BulkImportView, BulkEditView, BulkDeleteView, ObjectListView
|
||||
from utilities.views import BulkImportView, BulkEditView, BulkDeleteView, ObjectListView, ObjectAddView,\
|
||||
ObjectEditView, ObjectDeleteView
|
||||
|
||||
from .filters import CircuitFilter
|
||||
from .forms import CircuitForm, CircuitImportForm, CircuitBulkEditForm, CircuitBulkDeleteForm, CircuitFilterForm, \
|
||||
from .forms import CircuitForm, CircuitImportForm, CircuitBulkEditForm, CircuitBulkDeleteForm, CircuitFilterForm,\
|
||||
ProviderForm, ProviderImportForm, ProviderBulkEditForm, ProviderBulkDeleteForm
|
||||
from .models import Circuit, Provider
|
||||
from .tables import CircuitTable, CircuitBulkEditTable, ProviderTable, ProviderBulkEditTable
|
||||
@@ -39,74 +36,26 @@ def provider(request, slug):
|
||||
})
|
||||
|
||||
|
||||
@permission_required('circuits.add_provider')
|
||||
def provider_add(request):
|
||||
|
||||
if request.method == 'POST':
|
||||
form = ProviderForm(request.POST)
|
||||
if form.is_valid():
|
||||
provider = form.save()
|
||||
messages.success(request, "Added new provider: {0}".format(provider))
|
||||
if '_addanother' in request.POST:
|
||||
return redirect('circuits:provider_add')
|
||||
else:
|
||||
return redirect('circuits:provider', slug=provider.slug)
|
||||
|
||||
else:
|
||||
form = ProviderForm()
|
||||
|
||||
return render(request, 'circuits/provider_edit.html', {
|
||||
'form': form,
|
||||
'cancel_url': reverse('circuits:provider_list'),
|
||||
})
|
||||
class ProviderAddView(PermissionRequiredMixin, ObjectAddView):
|
||||
permission_required = 'circuits.add_provider'
|
||||
model = Provider
|
||||
form_class = ProviderForm
|
||||
template_name = 'circuits/provider_edit.html'
|
||||
cancel_url = 'circuits:provider_list'
|
||||
|
||||
|
||||
@permission_required('circuits.change_provider')
|
||||
def provider_edit(request, slug):
|
||||
|
||||
provider = get_object_or_404(Provider, slug=slug)
|
||||
|
||||
if request.method == 'POST':
|
||||
form = ProviderForm(request.POST, instance=provider)
|
||||
if form.is_valid():
|
||||
provider = form.save()
|
||||
messages.success(request, "Modified provider {0}".format(provider))
|
||||
return redirect('circuits:provider', slug=provider.slug)
|
||||
|
||||
else:
|
||||
form = ProviderForm(instance=provider)
|
||||
|
||||
return render(request, 'circuits/provider_edit.html', {
|
||||
'provider': provider,
|
||||
'form': form,
|
||||
'cancel_url': reverse('circuits:provider', kwargs={'slug': provider.slug}),
|
||||
})
|
||||
class ProviderEditView(PermissionRequiredMixin, ObjectEditView):
|
||||
permission_required = 'circuits.change_provider'
|
||||
model = Provider
|
||||
form_class = ProviderForm
|
||||
template_name = 'circuits/provider_edit.html'
|
||||
|
||||
|
||||
@permission_required('circuits.delete_provider')
|
||||
def provider_delete(request, slug):
|
||||
|
||||
provider = get_object_or_404(Provider, slug=slug)
|
||||
|
||||
if request.method == 'POST':
|
||||
form = ConfirmationForm(request.POST)
|
||||
if form.is_valid():
|
||||
try:
|
||||
provider.delete()
|
||||
messages.success(request, "Provider {0} has been deleted".format(provider))
|
||||
return redirect('circuits:provider_list')
|
||||
except ProtectedError, e:
|
||||
handle_protectederror(provider, request, e)
|
||||
return redirect('circuits:provider', slug=provider.slug)
|
||||
|
||||
else:
|
||||
form = ConfirmationForm()
|
||||
|
||||
return render(request, 'circuits/provider_delete.html', {
|
||||
'provider': provider,
|
||||
'form': form,
|
||||
'cancel_url': reverse('circuits:provider', kwargs={'slug': provider.slug})
|
||||
})
|
||||
class ProviderDeleteView(PermissionRequiredMixin, ObjectDeleteView):
|
||||
permission_required = 'circuits.delete_provider'
|
||||
model = Provider
|
||||
template_name = 'circuits/provider_delete.html'
|
||||
redirect_url = 'circuits:provider_list'
|
||||
|
||||
|
||||
class ProviderBulkImportView(PermissionRequiredMixin, BulkImportView):
|
||||
@@ -166,76 +115,27 @@ def circuit(request, pk):
|
||||
})
|
||||
|
||||
|
||||
@permission_required('circuits.add_circuit')
|
||||
def circuit_add(request):
|
||||
|
||||
if request.method == 'POST':
|
||||
form = CircuitForm(request.POST)
|
||||
if form.is_valid():
|
||||
circuit = form.save()
|
||||
messages.success(request, "Added new circuit: {0}".format(circuit))
|
||||
if '_addanother' in request.POST:
|
||||
return redirect('circuits:circuit_add')
|
||||
else:
|
||||
return redirect('circuits:circuit', pk=circuit.pk)
|
||||
|
||||
else:
|
||||
form = CircuitForm(initial={
|
||||
'site': request.GET.get('site'),
|
||||
})
|
||||
|
||||
return render(request, 'circuits/circuit_edit.html', {
|
||||
'form': form,
|
||||
'cancel_url': reverse('circuits:circuit_list'),
|
||||
})
|
||||
class CircuitAddView(PermissionRequiredMixin, ObjectAddView):
|
||||
permission_required = 'circuits.add_circuit'
|
||||
model = Circuit
|
||||
form_class = CircuitForm
|
||||
template_name = 'circuits/circuit_edit.html'
|
||||
cancel_url = 'circuits:circuit_list'
|
||||
fields_initial = ['site']
|
||||
|
||||
|
||||
@permission_required('circuits.change_circuit')
|
||||
def circuit_edit(request, pk):
|
||||
|
||||
circuit = get_object_or_404(Circuit, pk=pk)
|
||||
|
||||
if request.method == 'POST':
|
||||
form = CircuitForm(request.POST, instance=circuit)
|
||||
if form.is_valid():
|
||||
circuit = form.save()
|
||||
messages.success(request, "Modified circuit {0}".format(circuit))
|
||||
return redirect('circuits:circuit', pk=circuit.pk)
|
||||
|
||||
else:
|
||||
form = CircuitForm(instance=circuit)
|
||||
|
||||
return render(request, 'circuits/circuit_edit.html', {
|
||||
'circuit': circuit,
|
||||
'form': form,
|
||||
'cancel_url': reverse('circuits:circuit', kwargs={'pk': circuit.pk}),
|
||||
})
|
||||
class CircuitEditView(PermissionRequiredMixin, ObjectEditView):
|
||||
permission_required = 'circuits.change_circuit'
|
||||
model = Circuit
|
||||
form_class = CircuitForm
|
||||
template_name = 'circuits/circuit_edit.html'
|
||||
|
||||
|
||||
@permission_required('circuits.delete_circuit')
|
||||
def circuit_delete(request, pk):
|
||||
|
||||
circuit = get_object_or_404(Circuit, pk=pk)
|
||||
|
||||
if request.method == 'POST':
|
||||
form = ConfirmationForm(request.POST)
|
||||
if form.is_valid():
|
||||
try:
|
||||
circuit.delete()
|
||||
messages.success(request, "Circuit {0} has been deleted".format(circuit))
|
||||
return redirect('circuits:circuit_list')
|
||||
except ProtectedError, e:
|
||||
handle_protectederror(circuit, request, e)
|
||||
return redirect('circuits:circuit', pk=circuit.pk)
|
||||
|
||||
else:
|
||||
form = ConfirmationForm()
|
||||
|
||||
return render(request, 'circuits/circuit_delete.html', {
|
||||
'circuit': circuit,
|
||||
'form': form,
|
||||
'cancel_url': reverse('circuits:circuit', kwargs={'pk': circuit.pk})
|
||||
})
|
||||
class CircuitDeleteView(PermissionRequiredMixin, ObjectDeleteView):
|
||||
permission_required = 'circuits.delete_circuit'
|
||||
model = Circuit
|
||||
template_name = 'circuits/circuit_delete.html'
|
||||
redirect_url = 'circuits:circuit_list'
|
||||
|
||||
|
||||
class CircuitBulkImportView(PermissionRequiredMixin, BulkImportView):
|
||||
|
Reference in New Issue
Block a user