diff options
| author | Adam Harvey <adam@ahprojects.com> | 2018-12-23 01:37:03 +0100 |
|---|---|---|
| committer | Adam Harvey <adam@ahprojects.com> | 2018-12-23 01:37:03 +0100 |
| commit | 4452e02e8b04f3476273574a875bb60cfbb4568b (patch) | |
| tree | 3ffa44f9621b736250a8b94da14a187dc785c2fe /old/server/app/main/forms.py | |
| parent | 2a65f7a157bd4bace970cef73529867b0e0a374d (diff) | |
| parent | 5340bee951c18910fd764241945f1f136b5a22b4 (diff) | |
.
Diffstat (limited to 'old/server/app/main/forms.py')
| -rw-r--r-- | old/server/app/main/forms.py | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/old/server/app/main/forms.py b/old/server/app/main/forms.py new file mode 100644 index 00000000..bc1399ad --- /dev/null +++ b/old/server/app/main/forms.py @@ -0,0 +1,60 @@ +from flask.ext.wtf import Form +from wtforms import StringField, TextAreaField, BooleanField, SelectField,\ + SubmitField +from wtforms.validators import Required, Length, Email, Regexp +from wtforms import ValidationError +from flask.ext.pagedown.fields import PageDownField +from ..models import Role, User + + +class NameForm(Form): + name = StringField('What is your name?', validators=[Required()]) + submit = SubmitField('Submit') + + +class EditProfileForm(Form): + name = StringField('Real name', validators=[Length(0, 64)]) + location = StringField('Location', validators=[Length(0, 64)]) + about_me = TextAreaField('About me') + submit = SubmitField('Submit') + + +class EditProfileAdminForm(Form): + email = StringField('Email', validators=[Required(), Length(1, 64), + Email()]) + username = StringField('Username', validators=[ + Required(), Length(1, 64), Regexp('^[A-Za-z][A-Za-z0-9_.]*$', 0, + 'Usernames must have only letters, ' + 'numbers, dots or underscores')]) + confirmed = BooleanField('Confirmed') + role = SelectField('Role', coerce=int) + name = StringField('Real name', validators=[Length(0, 64)]) + location = StringField('Location', validators=[Length(0, 64)]) + about_me = TextAreaField('About me') + submit = SubmitField('Submit') + + def __init__(self, user, *args, **kwargs): + super(EditProfileAdminForm, self).__init__(*args, **kwargs) + self.role.choices = [(role.id, role.name) + for role in Role.query.order_by(Role.name).all()] + self.user = user + + def validate_email(self, field): + if field.data != self.user.email and \ + User.query.filter_by(email=field.data).first(): + raise ValidationError('Email already registered.') + + def validate_username(self, field): + if field.data != self.user.username and \ + User.query.filter_by(username=field.data).first(): + raise ValidationError('Username already in use.') + + +class PostForm(Form): + body = PageDownField("What's on your mind?", validators=[Required()]) + submit = SubmitField('Submit') + + +class CommentForm(Form): + body = StringField('Enter your comment', validators=[Required()]) + submit = SubmitField('Submit') |
