aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Spaeth <Sebastian@SSpaeth.de>2013-01-21 16:27:19 +0100
committerSebastian Spaeth <Sebastian@SSpaeth.de>2013-01-21 17:15:39 +0100
commit69b5623552a86a7cad92571e937384836cf6165c (patch)
tree4ca462e6f9bbcb834d9efba27a60a9c7a79f4e2e
parenta89df96132a897b1ac31da8719cd6dc0d621cc13 (diff)
downloadmediagoblin-69b5623552a86a7cad92571e937384836cf6165c.tar.lz
mediagoblin-69b5623552a86a7cad92571e937384836cf6165c.tar.xz
mediagoblin-69b5623552a86a7cad92571e937384836cf6165c.zip
Also set login_failed in case of form errors
If we send a POST request to the login page which contained form errors (e.g. a too short password), the variable "login_failed" was not set to true. This condition was tested by the test suite however, so we should make sure that login_failed is set even if the form failed to validate. Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
-rw-r--r--mediagoblin/auth/views.py23
1 files changed, 12 insertions, 11 deletions
diff --git a/mediagoblin/auth/views.py b/mediagoblin/auth/views.py
index 8c2a95ed..d8ad7b51 100644
--- a/mediagoblin/auth/views.py
+++ b/mediagoblin/auth/views.py
@@ -112,20 +112,21 @@ def login(request):
login_failed = False
- if request.method == 'POST' and login_form.validate():
- user = User.query.filter_by(username=login_form.data['username']).first()
+ if request.method == 'POST':
+ if login_form.validate():
+ user = User.query.filter_by(username=login_form.data['username']).first()
- if user and user.check_login(request.form['password']):
- # set up login in session
- request.session['user_id'] = unicode(user.id)
- request.session.save()
+ if user and user.check_login(request.form['password']):
+ # set up login in session
+ request.session['user_id'] = unicode(user.id)
+ request.session.save()
- if request.form.get('next'):
- return redirect(request, location=request.form['next'])
- else:
- return redirect(request, "index")
+ if request.form.get('next'):
+ return redirect(request, location=request.form['next'])
+ else:
+ return redirect(request, "index")
- else:
+ # Some failure during login occured if we are here!
# Prevent detecting who's on this system by testing login
# attempt timings
auth_lib.fake_login_attempt()