diff --git a/wagtail/snippets/urls.py b/wagtail/snippets/urls.py index a452077594..8dc6ed3799 100644 --- a/wagtail/snippets/urls.py +++ b/wagtail/snippets/urls.py @@ -17,7 +17,7 @@ urlpatterns = [ ), path( "choose///chosen//", - chooser.chosen, + chooser.ChosenView.as_view(), name="chosen", ), path("//", snippets.List.as_view(), name="list"), diff --git a/wagtail/snippets/views/chooser.py b/wagtail/snippets/views/chooser.py index 130c09ffc2..99c4cb9295 100644 --- a/wagtail/snippets/views/chooser.py +++ b/wagtail/snippets/views/chooser.py @@ -155,18 +155,23 @@ class ChooseResultsView(BaseChooseView): ) -def chosen(request, app_label, model_name, pk): - model = get_snippet_model_from_url_params(app_label, model_name) - item = get_object_or_404(model, pk=unquote(pk)) +class ChosenView(View): + def get(request, *args, app_label, model_name, pk, **kwargs): + model = get_snippet_model_from_url_params(app_label, model_name) + item = get_object_or_404(model, pk=unquote(pk)) - snippet_data = { - "id": str(item.pk), - "string": str(item), - "edit_link": reverse( - "wagtailsnippets:edit", args=(app_label, model_name, quote(item.pk)) - ), - } + snippet_data = { + "id": str(item.pk), + "string": str(item), + "edit_link": reverse( + "wagtailsnippets:edit", args=(app_label, model_name, quote(item.pk)) + ), + } - return render_modal_workflow( - request, None, None, None, json_data={"step": "chosen", "result": snippet_data} - ) + return render_modal_workflow( + request, + None, + None, + None, + json_data={"step": "chosen", "result": snippet_data}, + )