mirror of
https://github.com/Hopiu/wagtail.git
synced 2026-05-15 02:33:13 +00:00
Implement pagination on the page chooser
This commit is contained in:
parent
54add57ab8
commit
6d416e5bcd
2 changed files with 14 additions and 0 deletions
|
|
@ -5,4 +5,7 @@
|
|||
|
||||
{% if pages %}
|
||||
{% include "wagtailadmin/pages/listing/_list_choose.html" with allow_navigation=1 orderable=0 pages=pages parent_page=parent_page %}
|
||||
|
||||
{% url 'wagtailadmin_choose_page_child' parent_page.id as pagination_base_url %}
|
||||
{% include "wagtailadmin/pages/listing/_pagination.html" with page=pages base_url=pagination_base_url query_params=querystring classnames="navigate-pages" only %}
|
||||
{% endif %}
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
|
||||
from django.contrib.contenttypes.models import ContentType
|
||||
from django.shortcuts import get_object_or_404, render
|
||||
from django.http import Http404
|
||||
|
|
@ -49,6 +50,16 @@ def browse(request, parent_page_id=None):
|
|||
if page.can_choose or page.can_descend:
|
||||
shown_pages.append(page)
|
||||
|
||||
# Apply pagination
|
||||
p = request.GET.get('p', 1)
|
||||
paginator = Paginator(shown_pages, 25)
|
||||
try:
|
||||
shown_pages = paginator.page(p)
|
||||
except PageNotAnInteger:
|
||||
shown_pages = paginator.page(1)
|
||||
except EmptyPage:
|
||||
shown_pages = paginator.page(paginator.num_pages)
|
||||
|
||||
return render_modal_workflow(request, 'wagtailadmin/chooser/browse.html', 'wagtailadmin/chooser/browse.js', {
|
||||
'allow_external_link': request.GET.get('allow_external_link'),
|
||||
'allow_email_link': request.GET.get('allow_email_link'),
|
||||
|
|
|
|||
Loading…
Reference in a new issue