kopia lustrzana https://github.com/wagtail/wagtail
Make SnippetViewSet extend ModelViewSet
rodzic
fbd3cca30f
commit
1d838fbce0
|
@ -103,6 +103,20 @@ class ModelViewSet(ViewSet):
|
|||
exclude=exclude,
|
||||
)
|
||||
|
||||
@property
|
||||
def url_finder_class(self):
|
||||
return type(
|
||||
"_ModelAdminURLFinder",
|
||||
(ModelAdminURLFinder,),
|
||||
{
|
||||
"permission_policy": self.permission_policy,
|
||||
"edit_url_name": self.get_url_name("edit"),
|
||||
},
|
||||
)
|
||||
|
||||
def register_admin_url_finder(self):
|
||||
register_admin_url_finder(self.model, self.url_finder_class)
|
||||
|
||||
def get_urlpatterns(self):
|
||||
return super().get_urlpatterns() + [
|
||||
path("", self.index_view, name="index"),
|
||||
|
@ -113,12 +127,4 @@ class ModelViewSet(ViewSet):
|
|||
|
||||
def on_register(self):
|
||||
super().on_register()
|
||||
url_finder_class = type(
|
||||
"_ModelAdminURLFinder",
|
||||
(ModelAdminURLFinder,),
|
||||
{
|
||||
"permission_policy": self.permission_policy,
|
||||
"edit_url_name": self.get_url_name("edit"),
|
||||
},
|
||||
)
|
||||
register_admin_url_finder(self.model, url_finder_class)
|
||||
self.register_admin_url_finder()
|
||||
|
|
|
@ -10,7 +10,6 @@ from django.utils.text import capfirst
|
|||
from django.utils.translation import gettext as _
|
||||
from django.utils.translation import gettext_lazy
|
||||
|
||||
from wagtail.admin.admin_url_finder import register_admin_url_finder
|
||||
from wagtail.admin.checks import check_panels_in_model
|
||||
from wagtail.admin.filters import DateRangePickerWidget, WagtailFilterSet
|
||||
from wagtail.admin.panels import get_edit_handler
|
||||
|
@ -33,7 +32,7 @@ from wagtail.admin.views.generic.preview import (
|
|||
)
|
||||
from wagtail.admin.views.reports.base import ReportView
|
||||
from wagtail.admin.viewsets import viewsets
|
||||
from wagtail.admin.viewsets.base import ViewSet
|
||||
from wagtail.admin.viewsets.model import ModelViewSet
|
||||
from wagtail.log_actions import registry as log_registry
|
||||
from wagtail.models import (
|
||||
DraftStateMixin,
|
||||
|
@ -607,7 +606,7 @@ class WorkflowHistoryDetailView(
|
|||
permission_required = "change"
|
||||
|
||||
|
||||
class SnippetViewSet(ViewSet):
|
||||
class SnippetViewSet(ModelViewSet):
|
||||
"""
|
||||
A viewset that instantiates the admin views for snippets.
|
||||
"""
|
||||
|
@ -1316,9 +1315,6 @@ class SnippetViewSet(ViewSet):
|
|||
|
||||
return urlpatterns + legacy_redirects
|
||||
|
||||
def register_admin_url_finder(self):
|
||||
register_admin_url_finder(self.model, self.url_finder_class)
|
||||
|
||||
def register_model_check(self):
|
||||
def snippets_model_check(app_configs, **kwargs):
|
||||
return check_panels_in_model(self.model, "snippets")
|
||||
|
@ -1340,6 +1336,5 @@ class SnippetViewSet(ViewSet):
|
|||
def on_register(self):
|
||||
super().on_register()
|
||||
viewsets.register(self.chooser_viewset)
|
||||
self.register_admin_url_finder()
|
||||
self.register_model_check()
|
||||
self.register_model_methods()
|
||||
|
|
Ładowanie…
Reference in New Issue