Simplify login form to only include one relevant error message

This commit is contained in:
Matt Wright
2012-09-18 23:49:44 -04:00
parent 338f04b2f2
commit e423390050
+8 -2
View File
@@ -131,9 +131,10 @@ class PasswordlessLoginForm(Form, UserEmailFormMixin):
return True
class LoginForm(Form, UserEmailFormMixin, PasswordFormMixin, NextFormMixin):
class LoginForm(Form, NextFormMixin):
"""The default login form"""
email = TextField('Email Address', validators=[Email()])
password = PasswordField('Password')
remember = BooleanField("Remember Me")
submit = SubmitField("Login")
@@ -143,6 +144,11 @@ class LoginForm(Form, UserEmailFormMixin, PasswordFormMixin, NextFormMixin):
def validate(self):
if not super(LoginForm, self).validate():
return False
self.user = _datastore.find_user(email=self.email.data)
if self.user is None:
self.email.errors.append('Specified user does not exist')
return False
if not verify_password(self.password.data, self.user.password):
self.password.errors.append('Invalid password')
return False