Don't barf when trying to filter on a user not logged in
authorMagnus Hagander <magnus@hagander.net>
Tue, 22 Apr 2014 11:35:44 +0000 (13:35 +0200)
committerMagnus Hagander <magnus@hagander.net>
Tue, 22 Apr 2014 11:35:44 +0000 (13:35 +0200)
pgcommitfest/commitfest/views.py
pgcommitfest/settings.py

index fb3412520289c8718aec8a69efcbae604fc3e382..b66e37face9b120876f3e117a7d26eb6c052b732 100644 (file)
@@ -6,6 +6,8 @@ from django.db.models import Q
 from django.contrib import messages
 from django.contrib.auth.decorators import login_required
 
+import settings
+
 from datetime import datetime
 from email.mime.text import MIMEText
 from email.utils import formatdate, make_msgid
@@ -40,6 +42,9 @@ def commitfest(request, cfid):
                if request.GET['author'] == '-2':
                        q = q & Q(authors=None)
                elif request.GET['author'] == '-3':
+                       # Checking for "yourself" requires the user to be logged in!
+                       if not request.user.is_authenticated():
+                               return HttpResponseRedirect('%s?next=%s' % (settings.LOGIN_URL, request.path))
                        q = q & Q(authors=request.user)
                else:
                        q = q & Q(authors__id=int(request.GET['author']))
@@ -47,6 +52,9 @@ def commitfest(request, cfid):
                if request.GET['reviewer'] == '-2':
                        q = q & Q(reviewers=None)
                elif request.GET['reviewer'] == '-3':
+                       # Checking for "yourself" requires the user to be logged in!
+                       if not request.user.is_authenticated():
+                               return HttpResponseRedirect('%s?next=%s' % (settings.LOGIN_URL, request.path))
                        q = q & Q(reviewers=request.user)
                else:
                        q = q & Q(reviewers__id=int(request.GET['reviewer']))
index c387835afc539da96c6d41d6f4f935a9ba35cbec..94b534daece883a4576c00087ce368f96c84b97b 100644 (file)
@@ -150,6 +150,8 @@ LOGGING = {
 DATE_FORMAT='Y-m-d'
 DATETIME_FORMAT='Y-m-d H:i:s'
 
+LOGIN_URL='/account/login/'
+
 ARCHIVES_TIMEOUT=10    # Seconds to wait for calls to the archives
 ARCHIVES_SERVER="localhost"
 ARCHIVES_PORT="8001"