diff options
author | Dan McGee <dan@archlinux.org> | 2014-11-08 19:15:35 -0600 |
---|---|---|
committer | Dan McGee <dan@archlinux.org> | 2014-11-08 19:15:38 -0600 |
commit | 327bd4cfc599dbeddd501afd5221a1d2ff7eee08 (patch) | |
tree | 8b0266a85c78c5d50e220f45eedae4e642b8d13b /todolists | |
parent | 88a457f1c8ae057278f1a7cadb6c163183484019 (diff) |
Paginate the todolist listing page
Signed-off-by: Dan McGee <dan@archlinux.org>
Diffstat (limited to 'todolists')
-rw-r--r-- | todolists/urls.py | 6 | ||||
-rw-r--r-- | todolists/views.py | 13 |
2 files changed, 11 insertions, 8 deletions
diff --git a/todolists/urls.py b/todolists/urls.py index 6617d7dd..ed065f50 100644 --- a/todolists/urls.py +++ b/todolists/urls.py @@ -1,11 +1,11 @@ from django.conf.urls import patterns from django.contrib.auth.decorators import permission_required -from .views import (view_redirect, view, todolist_list, add, edit, flag, - list_pkgbases, DeleteTodolist) +from .views import (view_redirect, view, add, edit, flag, + list_pkgbases, DeleteTodolist, TodolistListView) urlpatterns = patterns('', - (r'^$', todolist_list), + (r'^$', TodolistListView.as_view(), {}, 'todolist-list'), # old todolists URLs, permanent redirect view so we don't break all links (r'^(?P<old_id>\d+)/$', view_redirect), diff --git a/todolists/views.py b/todolists/views.py index c37c13f5..c781a562 100644 --- a/todolists/views.py +++ b/todolists/views.py @@ -7,7 +7,7 @@ from django.shortcuts import (get_list_or_404, get_object_or_404, redirect, render) from django.db import transaction from django.views.decorators.cache import never_cache -from django.views.generic import DeleteView +from django.views.generic import DeleteView, ListView from django.template import Context, loader from django.utils.timezone import now @@ -91,10 +91,13 @@ def list_pkgbases(request, slug, svn_root): return HttpResponse('\n'.join(pkgbases), content_type='text/plain') -def todolist_list(request): - incomplete_only = request.user.is_anonymous() - lists = get_annotated_todolists(incomplete_only) - return render(request, 'todolists/list.html', {'lists': lists}) +class TodolistListView(ListView): + context_object_name = "lists" + template_name = "todolists/list.html" + paginate_by = 50 + + def get_queryset(self): + return get_annotated_todolists() @never_cache |