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
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  
... ...