pagination of list view
[qcg-portal.git] / qcg / views.py
index eb54d58..0590810 100644 (file)
@@ -1,11 +1,16 @@
 from django.conf import settings
 from django.contrib.auth import REDIRECT_FIELD_NAME
+from django.contrib.auth.decorators import login_required
 from django.core.urlresolvers import reverse
 from django.http import HttpResponse
 from django.shortcuts import render
 from django.utils.http import urlencode
 from django_openid_auth.views import make_consumer
 from openid.extensions import ax
+from pyqcg import QCG
+
+from qcg.models import Task
+from qcg.utils import update_user_data, paginator_context
 
 
 def index(request):
@@ -35,8 +40,18 @@ def openid_begin(request):
     return HttpResponse(openid_request.htmlMarkup(request.build_absolute_uri('/'), return_to))
 
 
+@login_required
 def jobs_list(request):
-    return render(request, 'qcg/jobs.html')
+    # QCG.start()
+    # update_user_data(request.user, request.session['proxy'])
+
+    tasks = Task.objects.filter(job__owner=request.user) \
+                        .select_related('job').prefetch_related('allocations__nodes') \
+                        .order_by('-job__submission_time', '-submission_time')
+
+    context = paginator_context(request, tasks)
+
+    return render(request, 'qcg/jobs.html', context)
 
 
 def job_details(request):