Merge branch 'i507_beaker_cache'
[mediagoblin.git] / mediagoblin / auth / forms.py
1 # GNU MediaGoblin -- federated, autonomous media hosting
2 # Copyright (C) 2011 MediaGoblin contributors. See AUTHORS.
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
17 import wtforms
18
19 from mediagoblin.util import fake_ugettext_passthrough as _
20
21
22 class RegistrationForm(wtforms.Form):
23 username = wtforms.TextField(
24 _('Username'),
25 [wtforms.validators.Required(),
26 wtforms.validators.Length(min=3, max=30),
27 wtforms.validators.Regexp(r'^\w+$')])
28 password = wtforms.PasswordField(
29 _('Password'),
30 [wtforms.validators.Required(),
31 wtforms.validators.Length(min=6, max=30),
32 wtforms.validators.EqualTo(
33 'confirm_password',
34 _('Passwords must match.'))])
35 confirm_password = wtforms.PasswordField(
36 _('Confirm password'),
37 [wtforms.validators.Required()],
38 description=_(
39 u"Type it again here to make sure there are no spelling mistakes."))
40 email = wtforms.TextField(
41 _('Email address'),
42 [wtforms.validators.Required(),
43 wtforms.validators.Email()])
44
45
46 class LoginForm(wtforms.Form):
47 username = wtforms.TextField(
48 _('Username'),
49 [wtforms.validators.Required(),
50 wtforms.validators.Regexp(r'^\w+$')])
51 password = wtforms.PasswordField(
52 _('Password'),
53 [wtforms.validators.Required()])