kopia lustrzana https://github.com/wagtail/wagtail
Remove get_admin_url_namespace() and get_admin_base_path() from snippet models
rodzic
1d838fbce0
commit
ff363dee87
|
@ -416,3 +416,7 @@ The following icons are unused in Wagtail itself and will be removed in a future
|
|||
| `undo` | `rotate` |
|
||||
| `uni52` | `folder-inverse` (identical) |
|
||||
| `wagtail-inverse` | `wagtail-icon` |
|
||||
|
||||
### Snippets `get_admin_url_namespace()` and `get_admin_base_path()` moved to `SnippetViewSet`
|
||||
|
||||
The undocumented `get_admin_url_namespace()` and `get_admin_base_path()` methods that were set on snippet models at runtime have been moved to the {class}`~wagtail.snippets.views.snippets.SnippetViewSet` class. If you use these methods, you could access them via {meth}`SnippetModel.snippet_viewset.get_admin_url_namespace() <wagtail.snippets.views.snippets.SnippetViewSet.get_admin_url_namespace>` and {meth}`SnippetModel.snippet_viewset.get_admin_base_path() <wagtail.snippets.views.snippets.SnippetViewSet.get_admin_base_path>`, respectively.
|
||||
|
|
|
@ -202,7 +202,7 @@ def admin_url_name(obj, action):
|
|||
"""
|
||||
if isinstance(obj, Page):
|
||||
return f"wagtailadmin_pages:{action}"
|
||||
return obj.get_admin_url_namespace() + f":{action}"
|
||||
return obj.snippet_viewset.get_url_name(action)
|
||||
|
||||
|
||||
@register.simple_tag
|
||||
|
|
|
@ -1136,7 +1136,7 @@ class BaseSnippetWorkflowTests(BasePageWorkflowTests):
|
|||
|
||||
def get_url(self, view, args=None):
|
||||
return reverse(
|
||||
f"{self.object.get_admin_url_namespace()}:{view}",
|
||||
self.model.snippet_viewset.get_url_name(view),
|
||||
args=(quote(self.object.pk),) if args is None else args,
|
||||
)
|
||||
|
||||
|
|
|
@ -184,14 +184,17 @@ class WorkflowObjectsToModeratePanel(Component):
|
|||
actions = state.task.specific.get_actions(obj, request.user)
|
||||
workflow_tasks = state.workflow_state.all_tasks_with_status()
|
||||
|
||||
url_name_prefix = "wagtailadmin_pages"
|
||||
if not isinstance(obj, Page):
|
||||
url_name_prefix = obj.get_admin_url_namespace()
|
||||
workflow_action_url_name = "wagtailadmin_pages:workflow_action"
|
||||
workflow_preview_url_name = "wagtailadmin_pages:workflow_preview"
|
||||
|
||||
workflow_action_url_name = f"{url_name_prefix}:workflow_action"
|
||||
workflow_preview_url_name = None
|
||||
if getattr(obj, "is_previewable", False):
|
||||
workflow_preview_url_name = f"{url_name_prefix}:workflow_preview"
|
||||
# Snippets can also have workflows
|
||||
if not isinstance(obj, Page):
|
||||
viewset = obj.snippet_viewset
|
||||
workflow_action_url_name = viewset.get_url_name("workflow_action")
|
||||
workflow_preview_url_name = viewset.get_url_name("workflow_preview")
|
||||
|
||||
if not getattr(obj, "is_previewable", False):
|
||||
workflow_preview_url_name = None
|
||||
|
||||
context["states"].append(
|
||||
{
|
||||
|
|
|
@ -147,7 +147,7 @@ class WorkflowMenuItem(ActionMenuItem):
|
|||
|
||||
def get_url(self, parent_context):
|
||||
instance = parent_context["instance"]
|
||||
url_name = instance.get_admin_url_namespace() + ":collect_workflow_action_data"
|
||||
url_name = instance.snippet_viewset.get_url_name("collect_workflow_action_data")
|
||||
return reverse(
|
||||
url_name,
|
||||
args=(
|
||||
|
|
|
@ -201,11 +201,6 @@ class TestAdminURLs(BaseSnippetViewSetTests):
|
|||
viewset.get_admin_url_namespace(),
|
||||
"wagtailsnippets_tests_advert",
|
||||
)
|
||||
# Accessed via the model
|
||||
self.assertEqual(
|
||||
snippet.get_admin_url_namespace(),
|
||||
"wagtailsnippets_tests_advert",
|
||||
)
|
||||
# Get specific URL name
|
||||
self.assertEqual(
|
||||
viewset.get_url_name("edit"),
|
||||
|
@ -231,8 +226,6 @@ class TestAdminURLs(BaseSnippetViewSetTests):
|
|||
|
||||
# Accessed via the viewset
|
||||
self.assertEqual(viewset.get_admin_base_path(), "snippets/tests/advert")
|
||||
# Accessed via the model
|
||||
self.assertEqual(snippet.get_admin_base_path(), "snippets/tests/advert")
|
||||
# Get specific URL
|
||||
self.assertEqual(reverse(viewset.get_url_name("edit"), args=[pk]), expected_url)
|
||||
# Ensure AdminURLFinder returns the correct URL
|
||||
|
@ -254,8 +247,6 @@ class TestAdminURLs(BaseSnippetViewSetTests):
|
|||
viewset = snippet.snippet_viewset
|
||||
# Accessed via the viewset
|
||||
self.assertEqual(viewset.get_admin_url_namespace(), "some_namespace")
|
||||
# Accessed via the model
|
||||
self.assertEqual(snippet.get_admin_url_namespace(), "some_namespace")
|
||||
# Get specific URL name
|
||||
self.assertEqual(viewset.get_url_name("edit"), "some_namespace:edit")
|
||||
# Chooser namespace
|
||||
|
@ -277,8 +268,6 @@ class TestAdminURLs(BaseSnippetViewSetTests):
|
|||
expected_choose_url = "/admin/choose/wisely/"
|
||||
# Accessed via the viewset
|
||||
self.assertEqual(viewset.get_admin_base_path(), "deep/within/the/admin")
|
||||
# Accessed via the model
|
||||
self.assertEqual(snippet.get_admin_base_path(), "deep/within/the/admin")
|
||||
# Get specific URL
|
||||
self.assertEqual(reverse(viewset.get_url_name("edit"), args=[pk]), expected_url)
|
||||
# Ensure AdminURLFinder returns the correct URL
|
||||
|
|
|
@ -98,7 +98,7 @@ class ModelIndexView(generic.IndexView):
|
|||
return super().dispatch(request, *args, **kwargs)
|
||||
|
||||
def get_list_url(self, type):
|
||||
return reverse(type["model"].get_admin_url_namespace() + ":list")
|
||||
return reverse(type["model"].snippet_viewset.get_url_name("list"))
|
||||
|
||||
def get_queryset(self):
|
||||
return None
|
||||
|
@ -1321,20 +1321,7 @@ class SnippetViewSet(ModelViewSet):
|
|||
|
||||
checks.register(snippets_model_check, "panels")
|
||||
|
||||
def register_model_methods(self):
|
||||
@classmethod
|
||||
def get_admin_url_namespace(cls):
|
||||
return self.get_admin_url_namespace()
|
||||
|
||||
@classmethod
|
||||
def get_admin_base_path(cls):
|
||||
return self.get_admin_base_path()
|
||||
|
||||
self.model.get_admin_url_namespace = get_admin_url_namespace
|
||||
self.model.get_admin_base_path = get_admin_base_path
|
||||
|
||||
def on_register(self):
|
||||
super().on_register()
|
||||
viewsets.register(self.chooser_viewset)
|
||||
self.register_model_check()
|
||||
self.register_model_methods()
|
||||
|
|
Ładowanie…
Reference in New Issue