From 14913d0d1a779a59270e2fec932ca142c811b707 Mon Sep 17 00:00:00 2001 From: Dave Cranwell Date: Thu, 17 Apr 2014 14:03:52 +0100 Subject: [PATCH] added pagination to list of pages using a given content type --- .../wagtailadmin/pages/content_type_use.html | 6 ++--- .../wagtailadmin/pages/usage_results.html | 26 +++++++++++++++++++ wagtail/wagtailadmin/views/pages.py | 19 +++++++++++++- 3 files changed, 47 insertions(+), 4 deletions(-) create mode 100644 wagtail/wagtailadmin/templates/wagtailadmin/pages/usage_results.html diff --git a/wagtail/wagtailadmin/templates/wagtailadmin/pages/content_type_use.html b/wagtail/wagtailadmin/templates/wagtailadmin/pages/content_type_use.html index 0ae84f7c7c..f2679f0441 100644 --- a/wagtail/wagtailadmin/templates/wagtailadmin/pages/content_type_use.html +++ b/wagtail/wagtailadmin/templates/wagtailadmin/pages/content_type_use.html @@ -5,10 +5,10 @@ {% block content %} {% trans "Pages using" as pages_str %} - {% include "wagtailadmin/shared/header.html" with title=pages_str subtitle=content_type.model_class.get_verbose_name icon="doc-empty-inverse" %} + {% include "wagtailadmin/shared/header.html" with title=pages_str subtitle=page_class.get_verbose_name icon="doc-empty-inverse" %} -
- {% include "wagtailadmin/pages/list.html" with sortable=1 allow_navigation=0 sortable=0 %} +
+ {% include "wagtailadmin/pages/usage_results.html" with show_parent="True" %}
{% endblock %} diff --git a/wagtail/wagtailadmin/templates/wagtailadmin/pages/usage_results.html b/wagtail/wagtailadmin/templates/wagtailadmin/pages/usage_results.html new file mode 100644 index 0000000000..29f3d90fdb --- /dev/null +++ b/wagtail/wagtailadmin/templates/wagtailadmin/pages/usage_results.html @@ -0,0 +1,26 @@ +{% load i18n %} +
+ {% if pages %} + {% include "wagtailadmin/pages/list.html" with show_parent=1 allow_navigation=0 %} + + + {% else %} +

{% trans 'No pages use' %}"{{ page_class.get_verbose_name }}".

+ {% endif %} +
diff --git a/wagtail/wagtailadmin/views/pages.py b/wagtail/wagtailadmin/views/pages.py index 3fb9057151..22056a15a1 100644 --- a/wagtail/wagtailadmin/views/pages.py +++ b/wagtail/wagtailadmin/views/pages.py @@ -119,15 +119,32 @@ def content_type_use(request, content_type_app_name, content_type_model_name): except ContentType.DoesNotExist: raise Http404 + p = request.GET.get("p", 1) + page_class = content_type.model_class() # page_class must be a Page type and not some other random model if not issubclass(page_class, Page): raise Http404 + pages = page_class.objects.all() + + paginator = Paginator(pages, 10) + + try: + pages = paginator.page(p) + except PageNotAnInteger: + pages = paginator.page(1) + except EmptyPage: + pages = paginator.page(paginator.num_pages) + + print page_class + return render(request, 'wagtailadmin/pages/content_type_use.html', { - 'pages': page_class.objects.all(), + 'pages': pages, + 'app_name': content_type_app_name, 'content_type': content_type, + 'page_class': page_class, })