Commit c3771351a1c7800dc6d6e862ee60bea8dfade1ad
1 parent
e175a38f
Exists in
master
and in
5 other branches
Pagination fixed, now works properly [Issue:#416]
Showing
1 changed file
with
15 additions
and
5 deletions
Show diff stats
core/views.py
| ... | ... | @@ -14,6 +14,8 @@ from core.mixins import NotificationMixin |
| 14 | 14 | from .models import Notification, Log |
| 15 | 15 | from rolepermissions.shortcuts import assign_role |
| 16 | 16 | from django.contrib.auth.decorators import login_required |
| 17 | +from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger | |
| 18 | + | |
| 17 | 19 | #API REST IMPORTS |
| 18 | 20 | from .serializers import LogSerializer |
| 19 | 21 | from rest_framework import status, serializers, permissions, viewsets |
| ... | ... | @@ -103,16 +105,24 @@ class GuestView (ListView): |
| 103 | 105 | |
| 104 | 106 | template_name = 'guest.html' |
| 105 | 107 | context_object_name = 'courses' |
| 108 | + queryset = CourseCategory.objects.all() | |
| 106 | 109 | paginate_by = 10 |
| 107 | 110 | |
| 108 | - def get_queryset(self): | |
| 109 | - return Course.objects.filter(public=True) | |
| 110 | - | |
| 111 | - | |
| 112 | 111 | def get_context_data (self, **kwargs): |
| 113 | 112 | context = super(GuestView, self).get_context_data(**kwargs) |
| 114 | - context['categorys_courses'] = CourseCategory.objects.all() | |
| 115 | 113 | context['title'] = _("Guest") |
| 114 | + queryset_list = CourseCategory.objects.all() | |
| 115 | + | |
| 116 | + paginator = Paginator(queryset_list, 10) | |
| 117 | + page = self.request.GET.get('page') | |
| 118 | + try: | |
| 119 | + queryset_list = paginator.page(page) | |
| 120 | + except PageNotAnInteger: | |
| 121 | + queryset_list = paginator.page(1) | |
| 122 | + except EmptyPage: | |
| 123 | + queryset_list = paginator.page(paginator.num_pages) | |
| 124 | + | |
| 125 | + context['categorys_courses'] = queryset_list | |
| 116 | 126 | return context |
| 117 | 127 | |
| 118 | 128 | ... | ... |