From 97794b521f260c0c124e3aa673722edae0f1962a Mon Sep 17 00:00:00 2001 From: Yingtong Li Date: Sun, 5 May 2019 20:03:39 +1000 Subject: [PATCH] Paginate past bulletin items --- .../jinja2/sspromotions/bulletin_list.html | 18 +++++++++++++++--- sspromotions/views.py | 5 ++++- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/sspromotions/jinja2/sspromotions/bulletin_list.html b/sspromotions/jinja2/sspromotions/bulletin_list.html index cd6cb73..76750a7 100644 --- a/sspromotions/jinja2/sspromotions/bulletin_list.html +++ b/sspromotions/jinja2/sspromotions/bulletin_list.html @@ -47,7 +47,7 @@ {% block maincontent %}

Your bulletin items

- {% if not items_past and not items_upcoming and not items_future %} + {% if not items_past_page and not items_upcoming and not items_future %}

You have no bulletin items to view. To create a bulletin item, click Create new bulletin item.

{% endif %} @@ -63,10 +63,22 @@ {{ listitems(items_future) }} {% endif %} - {% if items_past %} + {% if items_past_page %}

Past bulletin items

- {{ listitems(items_past) }} + {{ listitems(items_past_page.object_list) }} + +
+ +
{% endif %} {% endblock %} diff --git a/sspromotions/views.py b/sspromotions/views.py index 805509b..ccde5f6 100644 --- a/sspromotions/views.py +++ b/sspromotions/views.py @@ -17,6 +17,7 @@ from django.contrib.auth.decorators import login_required from django.conf import settings +from django.core.paginator import Paginator from django.http import HttpResponse from django.shortcuts import render, redirect from django.urls import reverse @@ -52,8 +53,10 @@ def bulletin_list(request): else: items_past.append(item) + items_past_p = Paginator(items_past, 10) + return render(request, 'sspromotions/bulletin_list.html', { - 'items_past': items_past, + 'items_past_page': items_past_p.page(int(request.GET.get('page', 1))) if items_past_p.count > 0 else None, 'items_upcoming': items_upcoming, 'items_future': items_future })