From ddded9ee4a21dc475345ff66f1fc640017165c1f Mon Sep 17 00:00:00 2001 From: Guillaume Pellerin Date: Tue, 17 Apr 2012 13:05:29 +0200 Subject: [PATCH] add alphabetical paginator to user list view --- teleforma/templates/telemeta/inc/user_list.html | 17 +++++++++++++++-- teleforma/views.py | 12 +++++++++++- 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/teleforma/templates/telemeta/inc/user_list.html b/teleforma/templates/telemeta/inc/user_list.html index 7f94e9ab..ef3eba20 100644 --- a/teleforma/templates/telemeta/inc/user_list.html +++ b/teleforma/templates/telemeta/inc/user_list.html @@ -3,7 +3,20 @@ {% load teleforma_tags %} {% load pagination_tags %} -{% paginate %} + +
@@ -20,7 +33,7 @@ - {% for user in users %} + {% for user in page.object_list %} diff --git a/teleforma/views.py b/teleforma/views.py index 67ea4642..c8cb46d4 100755 --- a/teleforma/views.py +++ b/teleforma/views.py @@ -158,7 +158,6 @@ class UsersView(ListView): model = User template_name='telemeta/users.html' context_object_name = 'users' - paginate_by = 12 def get_queryset(self): return User.objects.all().select_related(depth=1).order_by('last_name') @@ -167,6 +166,17 @@ class UsersView(ListView): context = super(UsersView, self).get_context_data(**kwargs) context['trainings'] = Training.objects.all() context['all_users'] = User.objects.all() + paginator = NamePaginator(self.object_list, on="username", per_page=12) + try: + page = int(self.request.GET.get('page', '1')) + except ValueError: + page = 1 + + try: + page = paginator.page(page) + except (InvalidPage): + page = paginator.page(paginator.num_pages) + context['page'] = page return context @method_decorator(login_required) -- 2.39.5
{{ user.last_name }} {{ user.first_name }}