From 245baa90652d2b04074db3131603d891e4c679c0 Mon Sep 17 00:00:00 2001 From: Sage Abdullah Date: Wed, 22 May 2024 11:47:54 +0100 Subject: [PATCH] Consolidate base_page_report.html into base_report.html The template is no longer used in Wagtail itself, but we keep it around for now so that custom page reports don't immediately raise an error. --- docs/extending/adding_reports.md | 9 ++++--- .../reports/base_page_report.html | 7 +----- wagtail/admin/tests/test_reports_views.py | 24 +++++++++++++++---- wagtail/admin/views/reports/base.py | 2 +- 4 files changed, 28 insertions(+), 14 deletions(-) diff --git a/docs/extending/adding_reports.md b/docs/extending/adding_reports.md index d7f8e8058f..52929e1d56 100644 --- a/docs/extending/adding_reports.md +++ b/docs/extending/adding_reports.md @@ -46,14 +46,17 @@ class UnpublishedChangesReportView(PageReportView): (string) -The template used to render your report view. -For ``ReportView``, this defaults to ``"wagtailadmin/reports/base_report.html"``; -for ``PageReportView``, this defaults to ``"wagtailadmin/reports/base_page_report.html"``. +The template used to render your report view, defaults to ``"wagtailadmin/reports/base_report.html"``. Note that this template only provides the skeleton of the view, not the listing table itself. The listing table should be implemented in a separate template specified by ``results_template_name`` (see below), to then be rendered via ``{% include %}``. Unless you want to customize the overall view, you will rarely need to change this template. To customize the listing, change the ``results_template_name`` instead. +.. versionchanged:: 6.2 + The default ``template_name`` attribute for ``PageReportView`` was changed from ``"wagtailadmin/reports/base_page_report.html"`` to ``"wagtailadmin/reports/base_report.html"``. + + Additionally, customization of the ``template_name`` should generally be replaced with a ``results_template_name`` customization, unless you intend to completely override the view template and not just the listing table. + .. attribute:: results_template_name (string) diff --git a/wagtail/admin/templates/wagtailadmin/reports/base_page_report.html b/wagtail/admin/templates/wagtailadmin/reports/base_page_report.html index d80f8d64d4..32acc79453 100644 --- a/wagtail/admin/templates/wagtailadmin/reports/base_page_report.html +++ b/wagtail/admin/templates/wagtailadmin/reports/base_page_report.html @@ -1,7 +1,2 @@ {% extends 'wagtailadmin/reports/base_report.html' %} -{% load i18n %} - -{% block results %} - {# Rename the paginator `page_obj` to `pages` for backwards-compatibility #} - {% include view.results_template_name|default:"wagtailadmin/reports/base_page_report_results.html" with pages=page_obj %} -{% endblock %} +{# Kept for backwards-compatibility only #} diff --git a/wagtail/admin/tests/test_reports_views.py b/wagtail/admin/tests/test_reports_views.py index bcc47e6ff5..3ca31dd62c 100644 --- a/wagtail/admin/tests/test_reports_views.py +++ b/wagtail/admin/tests/test_reports_views.py @@ -43,7 +43,11 @@ class TestLockedPagesView(WagtailTestUtils, TestCase): def test_simple(self): response = self.get() self.assertEqual(response.status_code, 200) - self.assertTemplateUsed(response, "wagtailadmin/reports/base_page_report.html") + self.assertTemplateNotUsed( + response, + "wagtailadmin/reports/base_page_report.html", + ) + self.assertTemplateUsed(response, "wagtailadmin/reports/base_report.html") self.assertTemplateUsed( response, "wagtailadmin/reports/locked_pages_results.html", @@ -83,7 +87,11 @@ class TestLockedPagesView(WagtailTestUtils, TestCase): # Now the listing should contain our locked page response = self.get() self.assertEqual(response.status_code, 200) - self.assertTemplateUsed(response, "wagtailadmin/reports/base_page_report.html") + self.assertTemplateNotUsed( + response, + "wagtailadmin/reports/base_page_report.html", + ) + self.assertTemplateUsed(response, "wagtailadmin/reports/base_report.html") self.assertTemplateUsed( response, "wagtailadmin/reports/locked_pages_results.html", @@ -127,7 +135,11 @@ class TestLockedPagesView(WagtailTestUtils, TestCase): response = self.get() self.assertEqual(response.status_code, 200) - self.assertTemplateUsed(response, "wagtailadmin/reports/base_page_report.html") + self.assertTemplateNotUsed( + response, + "wagtailadmin/reports/base_page_report.html", + ) + self.assertTemplateUsed(response, "wagtailadmin/reports/base_report.html") self.assertTemplateUsed( response, "wagtailadmin/reports/locked_pages_results.html", @@ -550,7 +562,11 @@ class TestAgingPagesView(WagtailTestUtils, TestCase): def test_simple(self): response = self.get() self.assertEqual(response.status_code, 200) - self.assertTemplateUsed(response, "wagtailadmin/reports/base_page_report.html") + self.assertTemplateNotUsed( + response, + "wagtailadmin/reports/base_page_report.html", + ) + self.assertTemplateUsed(response, "wagtailadmin/reports/base_report.html") self.assertTemplateUsed( response, "wagtailadmin/reports/aging_pages_results.html", diff --git a/wagtail/admin/views/reports/base.py b/wagtail/admin/views/reports/base.py index 92b3cbc39e..970ed07168 100644 --- a/wagtail/admin/views/reports/base.py +++ b/wagtail/admin/views/reports/base.py @@ -47,7 +47,6 @@ class ReportView(SpreadsheetExportMixin, BaseListingView): class PageReportView(ReportView): - template_name = "wagtailadmin/reports/base_page_report.html" results_template_name = "wagtailadmin/reports/base_page_report_results.html" export_headings = { "latest_revision_created_at": _("Updated"), @@ -60,3 +59,4 @@ class PageReportView(ReportView): "status_string", "content_type.model_class._meta.verbose_name.title", ] + context_object_name = "pages"