Merge remote-tracking branch 'refs/remotes/rodney757-github/mail'
[mediagoblin.git] / mediagoblin / auth / forms.py
CommitLineData
8e1e744d 1# GNU MediaGoblin -- federated, autonomous media hosting
cf29e8a8 2# Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS.
24181820
CAW
3#
4# This program is free software: you can redistribute it and/or modify
5# it under the terms of the GNU Affero General Public License as published by
6# the Free Software Foundation, either version 3 of the License, or
7# (at your option) any later version.
8#
9# This program is distributed in the hope that it will be useful,
10# but WITHOUT ANY WARRANTY; without even the implied warranty of
11# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12# GNU Affero General Public License for more details.
13#
14# You should have received a copy of the GNU Affero General Public License
15# along with this program. If not, see <http://www.gnu.org/licenses/>.
16
17import wtforms
18
665b9c42 19from mediagoblin.tools.translate import lazy_pass_to_ugettext as _
7cb7653c 20from mediagoblin.auth.tools import normalize_user_or_email_field
a89df961 21
24181820
CAW
22
23class RegistrationForm(wtforms.Form):
24 username = wtforms.TextField(
4b1adc13 25 _('Username'),
24181820 26 [wtforms.validators.Required(),
a89df961 27 normalize_user_or_email_field(allow_email=False)])
f5def6fe 28 password = wtforms.PasswordField(
4b1adc13 29 _('Password'),
24181820 30 [wtforms.validators.Required(),
a89df961 31 wtforms.validators.Length(min=5, max=1024)])
24181820 32 email = wtforms.TextField(
4b1adc13 33 _('Email address'),
24181820 34 [wtforms.validators.Required(),
a89df961 35 normalize_user_or_email_field(allow_user=False)])
a3776717
CAW
36
37
38class LoginForm(wtforms.Form):
39 username = wtforms.TextField(
b2c8dbcf 40 _('Username or Email'),
a3776717 41 [wtforms.validators.Required(),
b2c8dbcf 42 normalize_user_or_email_field()])
a3776717 43 password = wtforms.PasswordField(
4b1adc13 44 _('Password'),
a89df961
SS
45 [wtforms.validators.Required(),
46 wtforms.validators.Length(min=5, max=1024)])
25ba955e
AV
47
48
49class ForgotPassForm(wtforms.Form):
50 username = wtforms.TextField(
f646e2e1 51 _('Username or email'),
a89df961
SS
52 [wtforms.validators.Required(),
53 normalize_user_or_email_field()])
25ba955e
AV
54
55
56class ChangePassForm(wtforms.Form):
57 password = wtforms.PasswordField(
58 'Password',
59 [wtforms.validators.Required(),
a89df961 60 wtforms.validators.Length(min=5, max=1024)])
25ba955e
AV
61 token = wtforms.HiddenField(
62 '',
63 [wtforms.validators.Required()])