diff --git a/journals/templates/journals/manage_report_metadata.html b/journals/templates/journals/manage_report_metadata.html index d9f6990b611e1d2397cfb85e74d185745080624f..ecfbf7e645925626982fda54dc151a1502f294af 100644 --- a/journals/templates/journals/manage_report_metadata.html +++ b/journals/templates/journals/manage_report_metadata.html @@ -93,4 +93,26 @@ event: "focusin" </tbody> </table> +{% if is_paginated %} +<div class="col-12"> + {% include 'partials/pagination.html' with page_obj=page_obj %} +</div> +{% endif %} + +<div class="pagination"> + <span class="step-links"> + {% if reports.has_previous %} + <a href="?page={{ reports.previous_page_number }}">previous</a> + {% endif %} + + <span class="current"> + Page {{ reports.number }} of {{ reports.paginator.num_pages }}. + </span> + + {% if reports.has_next %} + <a href="?page={{ reports.next_page_number }}">next</a> + {% endif %} + </span> +</div> + {% endblock content %} diff --git a/journals/views.py b/journals/views.py index a7b7d052e382a57cdd9c8c2886fd1da063f8f6ba..4fcf2d13fbef68071caae389d263abc968e6a706 100644 --- a/journals/views.py +++ b/journals/views.py @@ -9,6 +9,7 @@ import xml.etree.ElementTree as ET from django.contrib.auth.decorators import login_required from django.contrib.contenttypes.models import ContentType +from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger from django.core.urlresolvers import reverse from django.conf import settings from django.contrib import messages @@ -1030,6 +1031,16 @@ def manage_report_metadata(request): the metadata of Reports. """ reports = Report.objects.all() + paginator = Paginator(reports, 25) + + page = request.GET.get('page') + try: + reports = paginator.page(page) + except PageNotAnInteger: + reports = paginator.page(1) + except EmptyPage: + reports = paginator.page(paginator.num_pages) + context = { 'reports': reports, }