move caching to views

This commit is contained in:
John Anderson
2019-04-15 14:41:04 -04:00
parent cdff29c7d5
commit 4723ddb5ce
21 changed files with 256 additions and 224 deletions

View File

@@ -1,7 +1,6 @@
from django.conf.urls import url
from extras.views import ObjectChangeLogView
from utilities.urls import cached
from . import views
from .models import Secret, SecretRole
@@ -9,21 +8,21 @@ app_name = 'secrets'
urlpatterns = [
# Secret roles
url(r'^secret-roles/$', cached(views.SecretRoleListView.as_view()), name='secretrole_list'),
url(r'^secret-roles/add/$', cached(views.SecretRoleCreateView.as_view()), name='secretrole_add'),
url(r'^secret-roles/$', views.SecretRoleListView.as_view(), name='secretrole_list'),
url(r'^secret-roles/add/$', views.SecretRoleCreateView.as_view(), name='secretrole_add'),
url(r'^secret-roles/import/$', views.SecretRoleBulkImportView.as_view(), name='secretrole_import'),
url(r'^secret-roles/delete/$', views.SecretRoleBulkDeleteView.as_view(), name='secretrole_bulk_delete'),
url(r'^secret-roles/(?P<slug>[\w-]+)/edit/$', views.SecretRoleEditView.as_view(), name='secretrole_edit'),
url(r'^secret-roles/(?P<slug>[\w-]+)/changelog/$', cached(ObjectChangeLogView.as_view()), name='secretrole_changelog', kwargs={'model': SecretRole}),
url(r'^secret-roles/(?P<slug>[\w-]+)/changelog/$', ObjectChangeLogView.as_view(), name='secretrole_changelog', kwargs={'model': SecretRole}),
# Secrets
url(r'^secrets/$', cached(views.SecretListView.as_view()), name='secret_list'),
url(r'^secrets/$', views.SecretListView.as_view(), name='secret_list'),
url(r'^secrets/import/$', views.SecretBulkImportView.as_view(), 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'),
url(r'^secrets/(?P<pk>\d+)/$', cached(views.SecretView.as_view()), name='secret'),
url(r'^secrets/(?P<pk>\d+)/$', views.SecretView.as_view(), name='secret'),
url(r'^secrets/(?P<pk>\d+)/edit/$', views.secret_edit, name='secret_edit'),
url(r'^secrets/(?P<pk>\d+)/delete/$', views.SecretDeleteView.as_view(), name='secret_delete'),
url(r'^secrets/(?P<pk>\d+)/changelog/$', cached(ObjectChangeLogView.as_view()), name='secret_changelog', kwargs={'model': Secret}),
url(r'^secrets/(?P<pk>\d+)/changelog/$', ObjectChangeLogView.as_view(), name='secret_changelog', kwargs={'model': Secret}),
]

View File

@@ -1,5 +1,6 @@
import base64
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,6 +8,7 @@ from django.db.models import Count
from django.shortcuts import get_object_or_404, redirect, render
from django.urls import reverse
from django.utils.decorators import method_decorator
from django.views.decorators.cache import cache_page
from django.views.generic import View
from dcim.models import Device
@@ -80,6 +82,7 @@ class SecretListView(PermissionRequiredMixin, ObjectListView):
class SecretView(PermissionRequiredMixin, View):
permission_required = 'secrets.view_secret'
@method_decorator(cache_page(settings.CACHE_TIMEOUT))
def get(self, request, pk):
secret = get_object_or_404(Secret, pk=pk)