From 5796d1f385869afec2eb8603fa0b43f287204635 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Fri, 4 Mar 2016 11:05:00 -0500 Subject: [PATCH] Converted circuits object lists to ObjectListView --- netbox/circuits/urls.py | 4 +- netbox/circuits/views.py | 63 ++++---------------- netbox/templates/circuits/circuit_list.html | 2 +- netbox/templates/circuits/provider_list.html | 2 +- 4 files changed, 17 insertions(+), 54 deletions(-) diff --git a/netbox/circuits/urls.py b/netbox/circuits/urls.py index b700d95bf..d32817028 100644 --- a/netbox/circuits/urls.py +++ b/netbox/circuits/urls.py @@ -3,7 +3,7 @@ from django.conf.urls import url from . import views urlpatterns = [ - url(r'^circuits/$', views.circuit_list, name='circuit_list'), + url(r'^circuits/$', views.CircuitListView.as_view(), name='circuit_list'), url(r'^circuits/add/$', views.circuit_add, 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'), @@ -12,7 +12,7 @@ urlpatterns = [ url(r'^circuits/(?P\d+)/edit/$', views.circuit_edit, name='circuit_edit'), url(r'^circuits/(?P\d+)/delete/$', views.circuit_delete, name='circuit_delete'), - url(r'^providers/$', views.provider_list, name='provider_list'), + url(r'^providers/$', views.ProviderListView.as_view(), name='provider_list'), url(r'^providers/add/$', views.provider_add, 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'), diff --git a/netbox/circuits/views.py b/netbox/circuits/views.py index 191bf2d23..c59624487 100644 --- a/netbox/circuits/views.py +++ b/netbox/circuits/views.py @@ -1,6 +1,3 @@ -from django_tables2 import RequestConfig - -from django.conf import settings from django.contrib import messages from django.contrib.auth.decorators import permission_required from django.contrib.auth.mixins import PermissionRequiredMixin @@ -8,11 +5,9 @@ from django.core.urlresolvers import reverse from django.db.models import Count, ProtectedError from django.shortcuts import get_object_or_404, redirect, render -from extras.models import ExportTemplate from utilities.error_handlers import handle_protectederror from utilities.forms import ConfirmationForm -from utilities.paginator import EnhancedPaginator -from utilities.views import BulkImportView, BulkEditView, BulkDeleteView +from utilities.views import BulkImportView, BulkEditView, BulkDeleteView, ObjectListView from .filters import CircuitFilter from .forms import CircuitForm, CircuitImportForm, CircuitBulkEditForm, CircuitBulkDeleteForm, CircuitFilterForm, \ @@ -25,28 +20,12 @@ from .tables import CircuitTable, CircuitBulkEditTable, ProviderTable, ProviderB # Providers # -def provider_list(request): - +class ProviderListView(ObjectListView): queryset = Provider.objects.annotate(count_circuits=Count('circuits')) - - # Export - if 'export' in request.GET: - et = get_object_or_404(ExportTemplate, content_type__model='provider', name=request.GET.get('export')) - response = et.to_response(context_dict={'queryset': queryset}, filename='netbox_providers') - return response - - if request.user.has_perm('circuits.change_provider') or request.user.has_perm('circuits.delete_provider'): - provider_table = ProviderBulkEditTable(queryset) - else: - provider_table = ProviderTable(queryset) - RequestConfig(request, paginate={'per_page': settings.PAGINATE_COUNT, 'klass': EnhancedPaginator}).configure(provider_table) - - export_templates = ExportTemplate.objects.filter(content_type__model='provider') - - return render(request, 'circuits/provider_list.html', { - 'provider_table': provider_table, - 'export_templates': export_templates, - }) + table = ProviderTable + edit_table = ProviderBulkEditTable + edit_table_permissions = ['circuits.change_provider', 'circuits.delete_provider'] + template_name = 'circuits/provider_list.html' def provider(request, slug): @@ -168,30 +147,14 @@ class ProviderBulkDeleteView(PermissionRequiredMixin, BulkDeleteView): # Circuits # -def circuit_list(request): - +class CircuitListView(ObjectListView): queryset = Circuit.objects.select_related('provider', 'type', 'site') - queryset = CircuitFilter(request.GET, queryset).qs - - # Export - if 'export' in request.GET: - et = get_object_or_404(ExportTemplate, content_type__model='circuit', name=request.GET.get('export')) - response = et.to_response(context_dict={'queryset': queryset}, filename='netbox_circuits') - return response - - if request.user.has_perm('circuits.change_circuit') or request.user.has_perm('circuits.delete_circuit'): - circuit_table = CircuitBulkEditTable(queryset) - else: - circuit_table = CircuitTable(queryset) - RequestConfig(request, paginate={'per_page': settings.PAGINATE_COUNT, 'klass': EnhancedPaginator}).configure(circuit_table) - - export_templates = ExportTemplate.objects.filter(content_type__model='circuit') - - return render(request, 'circuits/circuit_list.html', { - 'circuit_table': circuit_table, - 'export_templates': export_templates, - 'filter_form': CircuitFilterForm(request.GET, label_suffix=''), - }) + filter = CircuitFilter + filter_form = CircuitFilterForm + table = CircuitTable + edit_table = CircuitBulkEditTable + edit_table_permissions = ['circuits.change_circuit', 'circuits.delete_circuit'] + template_name = 'circuits/circuit_list.html' def circuit(request, pk): diff --git a/netbox/templates/circuits/circuit_list.html b/netbox/templates/circuits/circuit_list.html index 26fc96ff1..bf0369086 100644 --- a/netbox/templates/circuits/circuit_list.html +++ b/netbox/templates/circuits/circuit_list.html @@ -28,7 +28,7 @@

Circuits

- {% include 'circuits/inc/circuit_table.html' with table=circuit_table %} + {% include 'circuits/inc/circuit_table.html' %}
diff --git a/netbox/templates/circuits/provider_list.html b/netbox/templates/circuits/provider_list.html index dc8fdbc5d..65ecce153 100644 --- a/netbox/templates/circuits/provider_list.html +++ b/netbox/templates/circuits/provider_list.html @@ -27,7 +27,7 @@

Providers

- {% include 'circuits/inc/provider_table.html' with table=provider_table %} + {% include 'circuits/inc/provider_table.html' %}
{% endblock %}