Files
cao_sunyata/cao_sunyata/forms.py

51 lines
2.4 KiB
Python

from wtforms import Form, StringField, TextAreaField, SelectField, DateTimeField
from wtforms import IntegerField, PasswordField
from wtforms.validators import InputRequired, Length, EqualTo
from wtforms.widgets import HiddenInput
strip_filter = lambda x: x.strip() if x else None
class BlogCreateForm(Form):
title = StringField('Titre', validators=[InputRequired(), Length(min=1, max=255)],
filters=[strip_filter])
body = TextAreaField('Corps du texte', validators=[InputRequired(), Length(min=1)],
filters=[strip_filter])
tag = SelectField('Tag')
author = StringField('Auteur', validators=[InputRequired(), Length(min=1, max=50)],
filters=[strip_filter])
status = SelectField('Statut', choices=[('brouillon','Brouillon'),('privé','Privé'),('publié','Publié')])
created = DateTimeField('Créé le', validators=[InputRequired()])
class BlogUpdateForm(BlogCreateForm):
id = IntegerField(widget=HiddenInput())
created = DateTimeField('Créé le', validators=[InputRequired()])
class BlogSearchForm(Form):
criteria = StringField('Critère', validators=[InputRequired(), Length(min=3, max=45)],
filters=[strip_filter])
class UserCreateForm(Form):
id = IntegerField(widget=HiddenInput())
name = StringField('Nom', validators=[InputRequired(), Length(min=1, max=255)],
filters=[strip_filter])
password = PasswordField('Mot de passe')
confirm = PasswordField('Confirmer', validators=[EqualTo('password', message='Les 2 Passwords doivent être identiques')])
class TopicForm(Form):
topic = StringField('Topic', validators=[InputRequired(), Length(min=1, max=25)],
filters=[strip_filter])
topic_name = StringField('Intitulé', validators=[InputRequired(), Length(min=1, max=25)],
filters=[strip_filter])
topic_quote = TextAreaField('Citation', validators=[InputRequired(), Length(min=1)],
filters=[strip_filter])
class TagForm(Form):
id = IntegerField(widget=HiddenInput())
tag = StringField('Tag', validators=[InputRequired(), Length(min=1, max=25)],
filters=[strip_filter])
tag_name = StringField('Intitulé', validators=[InputRequired(), Length(min=1, max=25)],
filters=[strip_filter])