diff --git a/wagtail/admin/navigation.py b/wagtail/admin/navigation.py index 22a48a77a6..4e3ec2c975 100644 --- a/wagtail/admin/navigation.py +++ b/wagtail/admin/navigation.py @@ -1,9 +1,19 @@ +import warnings + from django.conf import settings from wagtail.permission_policies.pages import PagePermissionPolicy +from wagtail.utils.deprecation import RemovedInWagtail60Warning def get_pages_with_direct_explore_permission(user): + warnings.warn( + "get_pages_with_direct_explore_permission() is deprecated. " + "Use wagtail.permission_policies.pages.PagePermissionPolicy." + "instances_with_direct_explore_permission() instead.", + category=RemovedInWagtail60Warning, + stacklevel=2, + ) return PagePermissionPolicy().instances_with_direct_explore_permission(user) diff --git a/wagtail/admin/tests/test_navigation.py b/wagtail/admin/tests/test_navigation.py index 5781a89c93..5583c29e4e 100644 --- a/wagtail/admin/tests/test_navigation.py +++ b/wagtail/admin/tests/test_navigation.py @@ -8,6 +8,7 @@ from wagtail.admin.navigation import ( get_pages_with_direct_explore_permission, ) from wagtail.test.utils import WagtailTestUtils +from wagtail.utils.deprecation import RemovedInWagtail60Warning class TestExplorablePages(WagtailTestUtils, TestCase): @@ -67,8 +68,16 @@ class TestExplorablePages(WagtailTestUtils, TestCase): # Josh has permissions for /example-home/content/page-1 and /example-home/other-content, # of which the closest common ancestor is /example-home. self.assertEqual(get_explorable_root_page(user).id, 4) - for page in get_pages_with_direct_explore_permission(user): - self.assertIn(page.id, [6, 8]) + + with self.assertWarnsMessage( + RemovedInWagtail60Warning, + "get_pages_with_direct_explore_permission() is deprecated. " + "Use wagtail.permission_policies.pages.PagePermissionPolicy." + "instances_with_direct_explore_permission() instead.", + ): + # Replace with PagePermissionPolicy().instances_with_direct_explore_permission(user) + for page in get_pages_with_direct_explore_permission(user): + self.assertIn(page.id, [6, 8]) def test_nonadmin_sees_only_explorable_pages(self): # Sam has permissions for /home and /example-home/content/page-1 , of which the closest @@ -78,8 +87,16 @@ class TestExplorablePages(WagtailTestUtils, TestCase): User = get_user_model() user = User.objects.get(email="sam@example.com") self.assertEqual(get_explorable_root_page(user).id, 1) - for page in get_pages_with_direct_explore_permission(user): - self.assertIn(page.id, [2, 6]) + + with self.assertWarnsMessage( + RemovedInWagtail60Warning, + "get_pages_with_direct_explore_permission() is deprecated. " + "Use wagtail.permission_policies.pages.PagePermissionPolicy." + "instances_with_direct_explore_permission() instead.", + ): + # Replace with PagePermissionPolicy().instances_with_direct_explore_permission(user) + for page in get_pages_with_direct_explore_permission(user): + self.assertIn(page.id, [2, 6]) def test_nonadmin_with_no_page_perms_cannot_explore(self): User = get_user_model()