1
0
mirror of https://github.com/netbox-community/netbox.git synced 2024-05-10 07:54:54 +00:00

Converted secrets object lists to ObjectListView

This commit is contained in:
Jeremy Stretch
2016-03-04 11:33:15 -05:00
parent d7e2acbae6
commit c036db2677
3 changed files with 12 additions and 22 deletions

View File

@ -3,7 +3,7 @@ from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^secrets/$', views.secret_list, name='secret_list'),
url(r'^secrets/$', views.SecretListView.as_view(), name='secret_list'),
url(r'^secrets/import/$', views.secret_import, name='secret_import'),
url(r'^secrets/edit/$', views.SecretBulkEditView.as_view(), name='secret_bulk_edit'),
url(r'^secrets/delete/$', views.SecretBulkDeleteView.as_view(), name='secret_bulk_delete'),

View File

@ -1,5 +1,4 @@
from django.apps import apps
from django.conf import settings
from django.contrib import messages
from django.contrib.auth.decorators import permission_required, login_required
from django.contrib.auth.mixins import PermissionRequiredMixin
@ -7,12 +6,11 @@ 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 django_tables2 import RequestConfig
from utilities.error_handlers import handle_protectederror
from utilities.forms import ConfirmationForm
from utilities.paginator import EnhancedPaginator
from utilities.views import BulkEditView, BulkDeleteView
from utilities.views import BulkEditView, BulkDeleteView, ObjectListView
from .decorators import userkey_required
from .filters import SecretFilter
@ -25,23 +23,15 @@ from .tables import SecretTable, SecretBulkEditTable
# Secrets
#
@login_required
def secret_list(request):
@method_decorator(login_required, name='dispatch')
class SecretListView(ObjectListView):
queryset = Secret.objects.select_related('role').prefetch_related('parent')
queryset = SecretFilter(request.GET, queryset).qs
if request.user.has_perm('secrets.change_secret') or request.user.has_perm('secrets.delete_secret'):
secret_table = SecretBulkEditTable(queryset)
else:
secret_table = SecretTable(queryset)
RequestConfig(request, paginate={'per_page': settings.PAGINATE_COUNT, 'klass': EnhancedPaginator})\
.configure(secret_table)
return render(request, 'secrets/secret_list.html', {
'secret_table': secret_table,
'filter_form': SecretFilterForm(request.GET, label_suffix=''),
})
filter = SecretFilter
filter_form = SecretFilterForm
table = SecretTable
edit_table = SecretBulkEditTable
edit_table_permissions = ['secrets.change_secret', 'secrets.delete_secret']
template_name = 'secrets/secret_list.html'
@login_required

View File

@ -15,7 +15,7 @@
<h1>Secrets</h1>
<div class="row">
<div class="col-md-9">
{% include 'secrets/inc/secret_table.html' with table=secret_table %}
{% include 'secrets/inc/secret_table.html' %}
</div>
<div class="col-md-3">
{% include 'inc/filter_panel.html' %}