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

@@ -13,6 +13,8 @@ from django.urls import reverse
from django.utils.html import escape
from django.utils.http import is_safe_url
from django.utils.safestring import mark_safe
from django.utils.decorators import method_decorator
from django.views.decorators.cache import cache_page
from django.views.generic import View
from circuits.models import Circuit
@@ -195,6 +197,7 @@ class SiteListView(PermissionRequiredMixin, ObjectListView):
class SiteView(PermissionRequiredMixin, View):
permission_required = 'dcim.view_site'
@method_decorator(cache_page(settings.CACHE_TIMEOUT))
def get(self, request, slug):
site = get_object_or_404(Site.objects.select_related('region', 'tenant__group'), slug=slug)
@@ -353,6 +356,7 @@ class RackElevationListView(PermissionRequiredMixin, View):
"""
permission_required = 'dcim.view_rack'
@method_decorator(cache_page(settings.CACHE_TIMEOUT))
def get(self, request):
racks = Rack.objects.select_related(
@@ -392,6 +396,7 @@ class RackElevationListView(PermissionRequiredMixin, View):
class RackView(PermissionRequiredMixin, View):
permission_required = 'dcim.view_rack'
@method_decorator(cache_page(settings.CACHE_TIMEOUT))
def get(self, request, pk):
rack = get_object_or_404(Rack.objects.select_related('site__region', 'tenant__group', 'group', 'role'), pk=pk)
@@ -570,6 +575,7 @@ class DeviceTypeListView(PermissionRequiredMixin, ObjectListView):
class DeviceTypeView(PermissionRequiredMixin, View):
permission_required = 'dcim.view_devicetype'
@method_decorator(cache_page(settings.CACHE_TIMEOUT))
def get(self, request, pk):
devicetype = get_object_or_404(DeviceType, pk=pk)
@@ -910,6 +916,7 @@ class DeviceListView(PermissionRequiredMixin, ObjectListView):
class DeviceView(PermissionRequiredMixin, View):
permission_required = 'dcim.view_device'
@method_decorator(cache_page(settings.CACHE_TIMEOUT))
def get(self, request, pk):
device = get_object_or_404(Device.objects.select_related(
@@ -991,6 +998,7 @@ class DeviceView(PermissionRequiredMixin, View):
class DeviceInventoryView(PermissionRequiredMixin, View):
permission_required = 'dcim.view_device'
@method_decorator(cache_page(settings.CACHE_TIMEOUT))
def get(self, request, pk):
device = get_object_or_404(Device, pk=pk)
@@ -1012,6 +1020,7 @@ class DeviceInventoryView(PermissionRequiredMixin, View):
class DeviceStatusView(PermissionRequiredMixin, View):
permission_required = ('dcim.view_device', 'dcim.napalm_read')
@method_decorator(cache_page(settings.CACHE_TIMEOUT))
def get(self, request, pk):
device = get_object_or_404(Device, pk=pk)
@@ -1025,6 +1034,7 @@ class DeviceStatusView(PermissionRequiredMixin, View):
class DeviceLLDPNeighborsView(PermissionRequiredMixin, View):
permission_required = ('dcim.view_device', 'dcim.napalm_read')
@method_decorator(cache_page(settings.CACHE_TIMEOUT))
def get(self, request, pk):
device = get_object_or_404(Device, pk=pk)
@@ -1042,6 +1052,7 @@ class DeviceLLDPNeighborsView(PermissionRequiredMixin, View):
class DeviceConfigView(PermissionRequiredMixin, View):
permission_required = ('dcim.view_device', 'dcim.napalm_read')
@method_decorator(cache_page(settings.CACHE_TIMEOUT))
def get(self, request, pk):
device = get_object_or_404(Device, pk=pk)
@@ -1279,6 +1290,7 @@ class PowerOutletBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
class InterfaceView(PermissionRequiredMixin, View):
permission_required = 'dcim.view_interface'
@method_decorator(cache_page(settings.CACHE_TIMEOUT))
def get(self, request, pk):
interface = get_object_or_404(Interface, pk=pk)
@@ -1499,6 +1511,7 @@ class DeviceBayDeleteView(PermissionRequiredMixin, ObjectDeleteView):
class DeviceBayPopulateView(PermissionRequiredMixin, View):
permission_required = 'dcim.change_devicebay'
@method_decorator(cache_page(settings.CACHE_TIMEOUT))
def get(self, request, pk):
device_bay = get_object_or_404(DeviceBay, pk=pk)
@@ -1533,6 +1546,7 @@ class DeviceBayPopulateView(PermissionRequiredMixin, View):
class DeviceBayDepopulateView(PermissionRequiredMixin, View):
permission_required = 'dcim.change_devicebay'
@method_decorator(cache_page(settings.CACHE_TIMEOUT))
def get(self, request, pk):
device_bay = get_object_or_404(DeviceBay, pk=pk)
@@ -1672,6 +1686,7 @@ class CableListView(PermissionRequiredMixin, ObjectListView):
class CableView(PermissionRequiredMixin, View):
permission_required = 'dcim.view_cable'
@method_decorator(cache_page(settings.CACHE_TIMEOUT))
def get(self, request, pk):
cable = get_object_or_404(Cable, pk=pk)
@@ -1687,6 +1702,7 @@ class CableTraceView(PermissionRequiredMixin, View):
"""
permission_required = 'dcim.view_cable'
@method_decorator(cache_page(settings.CACHE_TIMEOUT))
def get(self, request, model, pk):
obj = get_object_or_404(model, pk=pk)
@@ -1726,6 +1742,7 @@ class CableCreateView(PermissionRequiredMixin, GetReturnURLMixin, View):
return super().dispatch(request, *args, **kwargs)
@method_decorator(cache_page(settings.CACHE_TIMEOUT))
def get(self, request, *args, **kwargs):
# Parse initial data manually to avoid setting field values as lists
@@ -2042,6 +2059,7 @@ class VirtualChassisCreateView(PermissionRequiredMixin, View):
class VirtualChassisEditView(PermissionRequiredMixin, GetReturnURLMixin, View):
permission_required = 'dcim.change_virtualchassis'
@method_decorator(cache_page(settings.CACHE_TIMEOUT))
def get(self, request, pk):
virtual_chassis = get_object_or_404(VirtualChassis, pk=pk)
@@ -2110,6 +2128,7 @@ class VirtualChassisDeleteView(PermissionRequiredMixin, ObjectDeleteView):
class VirtualChassisAddMemberView(PermissionRequiredMixin, GetReturnURLMixin, View):
permission_required = 'dcim.change_virtualchassis'
@method_decorator(cache_page(settings.CACHE_TIMEOUT))
def get(self, request, pk):
virtual_chassis = get_object_or_404(VirtualChassis, pk=pk)
@@ -2164,6 +2183,7 @@ class VirtualChassisAddMemberView(PermissionRequiredMixin, GetReturnURLMixin, Vi
class VirtualChassisRemoveMemberView(PermissionRequiredMixin, GetReturnURLMixin, View):
permission_required = 'dcim.change_virtualchassis'
@method_decorator(cache_page(settings.CACHE_TIMEOUT))
def get(self, request, pk):
device = get_object_or_404(Device, pk=pk, virtual_chassis__isnull=False)
@@ -2227,6 +2247,7 @@ class PowerPanelListView(PermissionRequiredMixin, ObjectListView):
class PowerPanelView(PermissionRequiredMixin, View):
permission_required = 'dcim.view_powerpanel'
@method_decorator(cache_page(settings.CACHE_TIMEOUT))
def get(self, request, pk):
powerpanel = get_object_or_404(PowerPanel.objects.select_related('site', 'rack_group'), pk=pk)
@@ -2296,6 +2317,7 @@ class PowerFeedListView(PermissionRequiredMixin, ObjectListView):
class PowerFeedView(PermissionRequiredMixin, View):
permission_required = 'dcim.view_powerfeed'
@method_decorator(cache_page(settings.CACHE_TIMEOUT))
def get(self, request, pk):
powerfeed = get_object_or_404(PowerFeed.objects.select_related('power_panel', 'rack'), pk=pk)