summaryrefslogtreecommitdiff
path: root/old/server/app/main/forms.py
diff options
context:
space:
mode:
authoradamhrv <adam@ahprojects.com>2018-12-16 01:03:14 +0100
committeradamhrv <adam@ahprojects.com>2018-12-16 01:03:14 +0100
commit10f467b64e3be528ac246d5cf664d675aca3e7f3 (patch)
tree02face1862f185796c3ddd08a274940626e31ff9 /old/server/app/main/forms.py
parenta52dc6f8edc4e5d00e7c05e34c6c6fe6252ec2bd (diff)
parentf91c6d8e870bd3b2c69a130e4b1ed8f6be250b92 (diff)
Merge branch 'master' of github.com:adamhrv/megapixels_dev
Diffstat (limited to 'old/server/app/main/forms.py')
-rw-r--r--old/server/app/main/forms.py60
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')