Commit c3771351a1c7800dc6d6e862ee60bea8dfade1ad

Authored by Gustavo Bernardo
1 parent e175a38f

Pagination fixed, now works properly [Issue:#416]

Showing 1 changed file with 15 additions and 5 deletions   Show diff stats
@@ -14,6 +14,8 @@ from core.mixins import NotificationMixin @@ -14,6 +14,8 @@ from core.mixins import NotificationMixin
14 from .models import Notification, Log 14 from .models import Notification, Log
15 from rolepermissions.shortcuts import assign_role 15 from rolepermissions.shortcuts import assign_role
16 from django.contrib.auth.decorators import login_required 16 from django.contrib.auth.decorators import login_required
  17 +from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
  18 +
17 #API REST IMPORTS 19 #API REST IMPORTS
18 from .serializers import LogSerializer 20 from .serializers import LogSerializer
19 from rest_framework import status, serializers, permissions, viewsets 21 from rest_framework import status, serializers, permissions, viewsets
@@ -103,16 +105,24 @@ class GuestView (ListView): @@ -103,16 +105,24 @@ class GuestView (ListView):
103 105
104 template_name = 'guest.html' 106 template_name = 'guest.html'
105 context_object_name = 'courses' 107 context_object_name = 'courses'
  108 + queryset = CourseCategory.objects.all()
106 paginate_by = 10 109 paginate_by = 10
107 110
108 - def get_queryset(self):  
109 - return Course.objects.filter(public=True)  
110 -  
111 -  
112 def get_context_data (self, **kwargs): 111 def get_context_data (self, **kwargs):
113 context = super(GuestView, self).get_context_data(**kwargs) 112 context = super(GuestView, self).get_context_data(**kwargs)
114 - context['categorys_courses'] = CourseCategory.objects.all()  
115 context['title'] = _("Guest") 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 return context 126 return context
117 127
118 128