kopia lustrzana https://github.com/wagtail/wagtail
Remove redundant 'filter_page_type' helper methods
rodzic
ee71bd3d07
commit
26561b2ea5
|
|
@ -43,15 +43,6 @@ def page_models_from_string(string):
|
||||||
return tuple(page_models)
|
return tuple(page_models)
|
||||||
|
|
||||||
|
|
||||||
def filter_page_type(queryset, page_models):
|
|
||||||
qs = queryset.none()
|
|
||||||
|
|
||||||
for model in page_models:
|
|
||||||
qs |= queryset.type(model)
|
|
||||||
|
|
||||||
return qs
|
|
||||||
|
|
||||||
|
|
||||||
def can_choose_page(page, permission_proxy, desired_classes, can_choose_root=True, user_perm=None):
|
def can_choose_page(page, permission_proxy, desired_classes, can_choose_root=True, user_perm=None):
|
||||||
"""Returns boolean indicating of the user can choose page.
|
"""Returns boolean indicating of the user can choose page.
|
||||||
will check if the root page can be selected and if user permissions
|
will check if the root page can be selected and if user permissions
|
||||||
|
|
@ -88,7 +79,7 @@ def browse(request, parent_page_id=None):
|
||||||
# Find the highest common ancestor for the specific classes passed in
|
# Find the highest common ancestor for the specific classes passed in
|
||||||
# In many cases, such as selecting an EventPage under an EventIndex,
|
# In many cases, such as selecting an EventPage under an EventIndex,
|
||||||
# this will help the administrator find their page quicker.
|
# this will help the administrator find their page quicker.
|
||||||
all_desired_pages = filter_page_type(Page.objects.all(), desired_classes)
|
all_desired_pages = Page.objects.all().type(*desired_classes)
|
||||||
parent_page = all_desired_pages.first_common_ancestor()
|
parent_page = all_desired_pages.first_common_ancestor()
|
||||||
|
|
||||||
parent_page = parent_page.specific
|
parent_page = parent_page.specific
|
||||||
|
|
@ -105,7 +96,7 @@ def browse(request, parent_page_id=None):
|
||||||
# restrict the page listing to just those pages that:
|
# restrict the page listing to just those pages that:
|
||||||
# - are of the given content type (taking into account class inheritance)
|
# - are of the given content type (taking into account class inheritance)
|
||||||
# - or can be navigated into (i.e. have children)
|
# - or can be navigated into (i.e. have children)
|
||||||
choosable_pages = filter_page_type(pages, desired_classes)
|
choosable_pages = pages.type(*desired_classes)
|
||||||
descendable_pages = pages.filter(numchild__gt=0)
|
descendable_pages = pages.filter(numchild__gt=0)
|
||||||
pages = choosable_pages | descendable_pages
|
pages = choosable_pages | descendable_pages
|
||||||
|
|
||||||
|
|
@ -167,7 +158,7 @@ def search(request, parent_page_id=None):
|
||||||
pages = pages.exclude(
|
pages = pages.exclude(
|
||||||
depth=1 # never include root
|
depth=1 # never include root
|
||||||
)
|
)
|
||||||
pages = filter_page_type(pages, desired_classes)
|
pages = pages.type(*desired_classes)
|
||||||
pages = pages.specific()
|
pages = pages.specific()
|
||||||
pages = pages.search(search_form.cleaned_data['q'])
|
pages = pages.search(search_form.cleaned_data['q'])
|
||||||
else:
|
else:
|
||||||
|
|
|
||||||
|
|
@ -52,15 +52,6 @@ def page_models_from_string(string):
|
||||||
return tuple(page_models)
|
return tuple(page_models)
|
||||||
|
|
||||||
|
|
||||||
def filter_page_type(queryset, page_models):
|
|
||||||
qs = queryset.none()
|
|
||||||
|
|
||||||
for model in page_models:
|
|
||||||
qs |= queryset.type(model)
|
|
||||||
|
|
||||||
return qs
|
|
||||||
|
|
||||||
|
|
||||||
class FieldsParameterParseError(ValueError):
|
class FieldsParameterParseError(ValueError):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -20,8 +20,7 @@ from .filters import (
|
||||||
from .pagination import WagtailPagination
|
from .pagination import WagtailPagination
|
||||||
from .serializers import BaseSerializer, PageSerializer, get_serializer_class
|
from .serializers import BaseSerializer, PageSerializer, get_serializer_class
|
||||||
from .utils import (
|
from .utils import (
|
||||||
BadRequestError, filter_page_type, get_object_detail_url, page_models_from_string,
|
BadRequestError, get_object_detail_url, page_models_from_string, parse_fields_parameter)
|
||||||
parse_fields_parameter)
|
|
||||||
|
|
||||||
|
|
||||||
class BaseAPIViewSet(GenericViewSet):
|
class BaseAPIViewSet(GenericViewSet):
|
||||||
|
|
@ -477,7 +476,7 @@ class PagesAPIViewSet(BaseAPIViewSet):
|
||||||
return models[0].objects.filter(id__in=self.get_base_queryset().values_list('id', flat=True))
|
return models[0].objects.filter(id__in=self.get_base_queryset().values_list('id', flat=True))
|
||||||
|
|
||||||
else: # len(models) > 1
|
else: # len(models) > 1
|
||||||
return filter_page_type(self.get_base_queryset(), models)
|
return self.get_base_queryset().type(*models)
|
||||||
|
|
||||||
def get_object(self):
|
def get_object(self):
|
||||||
base = super().get_object()
|
base = super().get_object()
|
||||||
|
|
|
||||||
Ładowanie…
Reference in New Issue