Convert installed_plugins_admin_view to a class-based view

This commit is contained in:
Jeremy Stretch 2020-03-27 13:35:25 -04:00
parent cb344a3792
commit 0d9d0b0446
2 changed files with 10 additions and 11 deletions

View File

@ -1,6 +1,7 @@
from django.apps import apps from django.apps import apps
from django.conf import settings from django.conf import settings
from django.conf.urls import include from django.conf.urls import include
from django.contrib.admin.views.decorators import staff_member_required
from django.urls import path from django.urls import path
from django.utils.module_loading import import_string from django.utils.module_loading import import_string
@ -13,7 +14,7 @@ plugin_api_patterns = [
path('installed-plugins/', views.InstalledPluginsAPIView.as_view(), name='plugins-list') path('installed-plugins/', views.InstalledPluginsAPIView.as_view(), name='plugins-list')
] ]
plugin_admin_patterns = [ plugin_admin_patterns = [
path('installed-plugins/', views.installed_plugins_admin_view, name='plugins_list') path('installed-plugins/', staff_member_required(views.InstalledPluginsAdminView.as_view()), name='plugins_list')
] ]
# Register base/API URL patterns for each plugin # Register base/API URL patterns for each plugin

View File

@ -2,27 +2,25 @@ from collections import OrderedDict
from django.apps import apps from django.apps import apps
from django.conf import settings from django.conf import settings
from django.contrib import admin from django.shortcuts import render
from django.contrib.admin.views.decorators import staff_member_required
from django.urls.exceptions import NoReverseMatch from django.urls.exceptions import NoReverseMatch
from django.utils.module_loading import import_string from django.utils.module_loading import import_string
from django.shortcuts import render
from django.views.generic import View from django.views.generic import View
from rest_framework import authentication, permissions, routers from rest_framework import permissions
from rest_framework.response import Response from rest_framework.response import Response
from rest_framework.reverse import reverse from rest_framework.reverse import reverse
from rest_framework.views import APIView from rest_framework.views import APIView
@staff_member_required class InstalledPluginsAdminView(View):
def installed_plugins_admin_view(request):
""" """
Admin view for listing all installed plugins Admin view for listing all installed plugins
""" """
context_data = { def get(self, request):
'plugins': [apps.get_app_config(plugin) for plugin in settings.PLUGINS] plugins = [apps.get_app_config(plugin) for plugin in settings.PLUGINS]
} return render(request, 'extras/admin/plugins_list.html', {
return render(request, 'extras/admin/plugins_list.html', context_data) 'plugins': plugins,
})
class InstalledPluginsAPIView(APIView): class InstalledPluginsAPIView(APIView):