Commit 91388004cb353aa637f6478adc8eb8b845721046

Authored by filipecmedeiros
1 parent 90cb0003

Adding pagination on guest template/view [Issue #190]

core/templates/guest.html
... ... @@ -3,6 +3,7 @@
3 3  
4 4 {% load i18n custom_filters %}
5 5 {% load static i18n %}
  6 +{% load pagination %}
6 7  
7 8 <html>
8 9 <head>
... ... @@ -159,6 +160,7 @@
159 160 </div>
160 161 {% endfor %}
161 162  
  163 + {% pagination request paginator page_obj %}
162 164 {% endblock %}
163 165 </div>
164 166 </div>
... ...
core/urls.py
... ... @@ -11,7 +11,7 @@ urlpatterns = [
11 11 url(r'^logout/$', auth_views.logout, {'next_page': 'core:home'}, name='logout'),
12 12 url(r'^notification/([0-9]+)/$', views.processNotification, name='notification_read'),
13 13 url(r'^getNotifications/$', views.getNotifications, name='getNotifications'),
14   - url(r'^guest/$', views.guest, name='guest'),
  14 + url(r'^guest/$', views.GuestView.as_view(), name='guest'),
15 15  
16 16 #Reset Password
17 17  
... ...
core/views.py
... ... @@ -6,7 +6,7 @@ from .decorators import log_decorator
6 6 from django.contrib import messages
7 7 from django.shortcuts import render, redirect
8 8 from django.template.loader import render_to_string
9   -from django.views.generic import CreateView, UpdateView
  9 +from django.views.generic import CreateView, UpdateView, ListView
10 10 from django.http import HttpResponse, JsonResponse
11 11 from django.core.mail import send_mail,BadHeaderError
12 12 from django.conf import settings
... ... @@ -120,9 +120,18 @@ def getNotifications(request):
120 120 data['amountGotten'] = amountGotten
121 121 return JsonResponse(data)
122 122  
123   -def guest (request):
124   - context = {
125   - 'courses': Course.objects.filter(public=True),
126   - 'categories': CourseCategory.objects.all(),
127   - }
128   - return render(request, 'guest.html', context)
129 123 \ No newline at end of file
  124 +
  125 +class GuestView (ListView):
  126 +
  127 + template_name = 'guest.html'
  128 + context_object_name = 'courses'
  129 + paginate_by = 10
  130 +
  131 + def get_queryset(self):
  132 + return Course.objects.filter(public=True)
  133 +
  134 +
  135 + def get_context_data (self, **kwargs):
  136 + context = super(GuestView, self).get_context_data(**kwargs)
  137 + context['categories'] = CourseCategory.objects.all()
  138 + return context
... ...