From c0047ae6ec63a5ed745f733efca51ce332a296da Mon Sep 17 00:00:00 2001 From: Aurélien Bompard Date: Thu, 6 Jun 2013 17:38:12 +0200 Subject: Improve pagination --- hyperkitty/views/accounts.py | 1 + hyperkitty/views/list.py | 1 + hyperkitty/views/search.py | 4 ++-- 3 files changed, 4 insertions(+), 2 deletions(-) (limited to 'hyperkitty/views') diff --git a/hyperkitty/views/accounts.py b/hyperkitty/views/accounts.py index 5901a17..946f965 100644 --- a/hyperkitty/views/accounts.py +++ b/hyperkitty/views/accounts.py @@ -190,6 +190,7 @@ def last_views(request): last_views = last_views_paginator.page(1) except EmptyPage: last_views = last_views_paginator.page(last_views_paginator.num_pages) + last_views.page_range = [ p+1 for p in range(last_views_paginator.num_pages) ] for last_view in last_views: thread = store.get_thread(last_view.list_address, last_view.threadid) if thread.date_active.replace(tzinfo=utc) > last_view.view_date: diff --git a/hyperkitty/views/list.py b/hyperkitty/views/list.py index 523aff4..610b148 100644 --- a/hyperkitty/views/list.py +++ b/hyperkitty/views/list.py @@ -152,6 +152,7 @@ def _thread_list(request, mlist, threads, template_name='thread_list.html', extr except EmptyPage: # If page is out of range (e.g. 9999), deliver last page of results. threads = paginator.page(paginator.num_pages) + threads.page_range = [ p+1 for p in range(paginator.num_pages) ] flash_messages = [] flash_msg = request.GET.get("msg") diff --git a/hyperkitty/views/search.py b/hyperkitty/views/search.py index 1d2f3bf..199a836 100644 --- a/hyperkitty/views/search.py +++ b/hyperkitty/views/search.py @@ -74,7 +74,7 @@ def search(request, page=1): query = request.GET.get("query") mlist_fqdn = request.GET.get("list") try: - page_num = int(request.GET.get('page')) + page_num = int(request.GET.get('page', "1")) except ValueError: page_num = 1 results_per_page = 10 @@ -99,6 +99,7 @@ def search(request, page=1): except EmptyPage: # If page is out of range (e.g. 9999), deliver last page of results. messages = paginator.page(paginator.num_pages) + messages.page_range = [ p+1 for p in range(paginator.num_pages) ] context = { 'mlist' : mlist, @@ -106,7 +107,6 @@ def search(request, page=1): 'current_page': page_num, 'messages': messages, 'total': total, - 'page_range': [ p+1 for p in range(paginator.num_pages) ], } return render(request, "search_results.html", context) -- cgit