aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJessica T <xray7224@googlemail.com>2013-04-12 22:07:44 +0100
committerJessica T <xray7224@googlemail.com>2013-04-12 22:07:44 +0100
commitb2c8dbcf8507811fe931a48722ed9c8b530bcdae (patch)
tree65aa45b9cacc3db17c7e4ca1beaab5b79c0f8165
parent36748921c27deb3f8c9d88f9b7a3c368a427d418 (diff)
downloadmediagoblin-b2c8dbcf8507811fe931a48722ed9c8b530bcdae.tar.lz
mediagoblin-b2c8dbcf8507811fe931a48722ed9c8b530bcdae.tar.xz
mediagoblin-b2c8dbcf8507811fe931a48722ed9c8b530bcdae.zip
Allows you to use your username or email to login
-rw-r--r--mediagoblin/auth/forms.py4
-rw-r--r--mediagoblin/auth/views.py12
2 files changed, 12 insertions, 4 deletions
diff --git a/mediagoblin/auth/forms.py b/mediagoblin/auth/forms.py
index 8f091d21..5484c178 100644
--- a/mediagoblin/auth/forms.py
+++ b/mediagoblin/auth/forms.py
@@ -64,9 +64,9 @@ class RegistrationForm(wtforms.Form):
class LoginForm(wtforms.Form):
username = wtforms.TextField(
- _('Username'),
+ _('Username or Email'),
[wtforms.validators.Required(),
- normalize_user_or_email_field(allow_email=False)])
+ normalize_user_or_email_field()])
password = wtforms.PasswordField(
_('Password'),
[wtforms.validators.Required(),
diff --git a/mediagoblin/auth/views.py b/mediagoblin/auth/views.py
index 354b48c1..dc408911 100644
--- a/mediagoblin/auth/views.py
+++ b/mediagoblin/auth/views.py
@@ -25,7 +25,7 @@ from mediagoblin.auth import lib as auth_lib
from mediagoblin.auth import forms as auth_forms
from mediagoblin.auth.lib import send_verification_email, \
send_fp_verification_email
-
+from sqlalchemy import or_
def email_debug_message(request):
"""
@@ -113,8 +113,16 @@ def login(request):
login_failed = False
if request.method == 'POST':
+
+ username = login_form.data['username']
+
if login_form.validate():
- user = User.query.filter_by(username=login_form.data['username']).first()
+ user = User.query.filter(
+ or_(
+ User.username == username,
+ User.email == username,
+
+ )).first()
if user and user.check_login(login_form.password.data):
# set up login in session