|
@@ -3,8 +3,7 @@ from django.db import models
|
|
|
from rest_framework.filters import BaseFilterBackend
|
|
|
from taggit.managers import TaggableManager
|
|
|
|
|
|
-from wagtail.core import hooks
|
|
|
-from wagtail.core.models import Page, UserPagePermissionsProxy
|
|
|
+from wagtail.core.models import Page
|
|
|
from wagtail.search.backends import get_search_backend
|
|
|
from wagtail.search.backends.base import FilterFieldError, OrderByFieldError
|
|
|
|
|
@@ -219,19 +218,3 @@ class RestrictedDescendantOfFilter(DescendantOfFilter):
|
|
|
def get_page_by_id(self, request, page_id):
|
|
|
site_pages = pages_for_site(request.site)
|
|
|
return site_pages.get(id=page_id)
|
|
|
-
|
|
|
-
|
|
|
-class ForExplorerFilter(BaseFilterBackend):
|
|
|
- def filter_queryset(self, request, queryset, view):
|
|
|
- if request.GET.get('for_explorer'):
|
|
|
- if not hasattr(queryset, '_filtered_by_child_of'):
|
|
|
- raise BadRequestError("filtering by for_explorer without child_of is not supported")
|
|
|
-
|
|
|
- parent_page = queryset._filtered_by_child_of
|
|
|
- for hook in hooks.get_hooks('construct_explorer_page_queryset'):
|
|
|
- queryset = hook(parent_page, queryset, request)
|
|
|
-
|
|
|
- user_perms = UserPagePermissionsProxy(request.user)
|
|
|
- queryset = queryset & user_perms.explorable_pages()
|
|
|
-
|
|
|
- return queryset
|