Merge remote-tracking branch 'refs/remotes/tsyesika/599-allow-email-login'

This commit is contained in:
Christopher Allan Webber 2013-04-13 20:11:11 -05:00
commit f4f9d7ca95
2 changed files with 12 additions and 4 deletions

View File

@ -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(),

View File

@ -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