From 7d6278c971e42ae04dce4f19829903cb8280b8c8 Mon Sep 17 00:00:00 2001 From: Dan Braghis Date: Mon, 9 May 2022 18:49:54 +0100 Subject: [PATCH] Fix delete url for modeladmin instances with Wagtail > 3.0 --- wagtail_localize/views/edit_translation.py | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/wagtail_localize/views/edit_translation.py b/wagtail_localize/views/edit_translation.py index 4db0c3c6..241f4301 100644 --- a/wagtail_localize/views/edit_translation.py +++ b/wagtail_localize/views/edit_translation.py @@ -755,6 +755,21 @@ def get_edit_url(instance): args=[quote(instance.pk)], ) + def get_delete_url(instance): + if isinstance(instance, Page): + return reverse("wagtailadmin_pages:delete", args=[instance.id]) + elif instance._meta.model in get_snippet_models(): + return get_snippet_delete_url(instance) + + elif "wagtail_localize.modeladmin" in settings.INSTALLED_APPS: + return reverse( + "{app_label}_{model_name}_modeladmin_delete".format( + app_label=instance._meta.app_label, + model_name=instance._meta.model_name, + ), + args=[quote(instance.pk)], + ) + def get_submit_translation_url(instance): if isinstance(instance, Page): return reverse( @@ -974,11 +989,7 @@ def get_translation_progress(segment, locale): ) if isinstance(instance, Page) else None, - "deleteUrl": reverse( - "wagtailadmin_pages:delete", args=[instance.id] - ) - if isinstance(instance, Page) - else get_snippet_delete_url(instance), + "deleteUrl": get_delete_url(instance), "stopTranslationUrl": reverse( "wagtail_localize:stop_translation", args=[translation.id] ),