From 49421e5a41017095ee82544f287a9b90c79332c5 Mon Sep 17 00:00:00 2001 From: Gagaro <gagaro42@gmail.com> Date: Fri, 7 Oct 2016 12:19:55 +0200 Subject: [PATCH] Fix: Use specific page model for the parent page in the explore index --- CHANGELOG.txt | 1 + docs/releases/1.8.rst | 1 + wagtail/wagtailadmin/tests/test_pages_views.py | 6 ++++++ wagtail/wagtailadmin/views/pages.py | 4 ++-- 4 files changed, 10 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.txt b/CHANGELOG.txt index 8aff50402e..2b063a4d12 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -8,6 +8,7 @@ Changelog * Added `get_landing_page_template` getter method to `AbstractForm` (Gagaro) * Added `Page.get_admin_display_title` method to override how the title is displayed in the admin (Henk-Jan van Hasselaar) * Fix: `AbstractForm` now respects custom `get_template` methods on the page model (Gagaro) + * Fix: Use specific page model for the parent page in the explore index (Gagaro) 1.7 (xx.xx.xxxx) - IN DEVELOPMENT diff --git a/docs/releases/1.8.rst b/docs/releases/1.8.rst index f38bbe79be..3f68f5bb4d 100644 --- a/docs/releases/1.8.rst +++ b/docs/releases/1.8.rst @@ -23,6 +23,7 @@ Bug fixes ~~~~~~~~~ * ``AbstractForm`` now respects custom ``get_template`` methods on the page model (Gagaro) + * Use specific page model for the parent page in the explore index (Gagaro) Upgrade considerations diff --git a/wagtail/wagtailadmin/tests/test_pages_views.py b/wagtail/wagtailadmin/tests/test_pages_views.py index 22a201dd28..823169cc73 100644 --- a/wagtail/wagtailadmin/tests/test_pages_views.py +++ b/wagtail/wagtailadmin/tests/test_pages_views.py @@ -237,6 +237,12 @@ class TestPageExplorer(TestCase, WagtailTestUtils): self.assertContains(response, '/new-event/pointless-suffix/') + def test_parent_page_is_specific(self): + response = self.client.get(reverse('wagtailadmin_explore', args=(self.child_page.id, ))) + self.assertEqual(response.status_code, 200) + + self.assertIsInstance(response.context['parent_page'], SimplePage) + class TestPageExplorerSignposting(TestCase, WagtailTestUtils): fixtures = ['test.json'] diff --git a/wagtail/wagtailadmin/views/pages.py b/wagtail/wagtailadmin/views/pages.py index ea9cef4f68..9a4a65b5af 100644 --- a/wagtail/wagtailadmin/views/pages.py +++ b/wagtail/wagtailadmin/views/pages.py @@ -38,9 +38,9 @@ def explorer_nav(request): def index(request, parent_page_id=None): if parent_page_id: - parent_page = get_object_or_404(Page, id=parent_page_id) + parent_page = get_object_or_404(Page, id=parent_page_id).specific else: - parent_page = Page.get_first_root_node() + parent_page = Page.get_first_root_node().specific pages = parent_page.get_children().prefetch_related('content_type')