]>
Commit | Line | Data |
---|---|---|
db4f0ba9 MR |
1 | from flask_wtf import FlaskForm |
2 | from wtforms import StringField, BooleanField, TextAreaField | |
3 | from wtforms.validators import DataRequired, Length | |
4 | ||
5 | class LoginForm(FlaskForm): | |
6 | openid = StringField('openid', validators=[DataRequired()]) | |
7 | remember_me = BooleanField('remember_me', default=False) | |
8 | ||
9 | class EditForm(FlaskForm): | |
10 | nickname = StringField('nickname', validators=[DataRequired()]) | |
11 | about_me = TextAreaField('about_me', validators=[Length(min=0, max=140)]) | |
12 | ||
13 | def __init__(self, original_nickname, *args, **kwargs): | |
14 | FlaskForm.__init__(self, *args, **kwargs) | |
15 | self.original_nickname = original_nickname | |
16 | ||
17 | def validate(self): | |
18 | if not FlaskForm.validate(self): | |
19 | return False | |
20 | if self.nickname.data == self.original_nickname: | |
21 | return True | |
22 | user = User.query.filter_by(nickname=self.nickname.data).first() | |
23 | if user != None: | |
24 | self.nickname.errors.append('This nickname is already in use. Please choose another one.') | |
25 | return False | |
26 | return True | |
27 |