47 lines
2.1 KiB
Python
47 lines
2.1 KiB
Python
from wtforms import Form, StringField, TextAreaField, SelectField, RadioField
|
|
from wtforms import IntegerField, PasswordField
|
|
from wtforms.validators import InputRequired, Length, Email
|
|
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é')])
|
|
|
|
|
|
class BlogUpdateForm(BlogCreateForm):
|
|
id = IntegerField(widget=HiddenInput())
|
|
|
|
class BlogSearchForm(Form):
|
|
criteria = StringField('Critère', validators=[InputRequired(), Length(min=3, max=45)],
|
|
filters=[strip_filter])
|
|
|
|
class UserCreateForm(Form):
|
|
username = StringField('Nom', validators=[InputRequired(), Length(min=1, max=255)],
|
|
filters=[strip_filter])
|
|
password = PasswordField('Mot de passe', validators=[InputRequired(), Length(min=6)])
|
|
|
|
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])
|