from flask_wtf import FlaskForm from wtforms import StringField, SubmitField, TextAreaField, MultipleFileField from wtforms.validators import InputRequired, Length import app.utils.validators as vd class CommentForm(FlaskForm): message = TextAreaField('Message', validators=[InputRequired()]) attachments = MultipleFileField('Pièces-jointes', validators=[vd.file.optional, vd.file.count, vd.file.extension, vd.file.size, vd.file.namelength]) submit = SubmitField('Commenter') class AnonymousCommentForm(CommentForm): pseudo = StringField('Pseudo', validators=[InputRequired(), vd.name.valid, vd.name.available]) class CommentEditForm(CommentForm): submit = SubmitField('Modifier') class AnonymousCommentEditForm(CommentEditForm, AnonymousCommentForm): pass class TopicCreationForm(CommentForm): title = StringField('Nom du sujet', validators=[InputRequired(), Length(min=3, max=128)]) submit = SubmitField('Créer le sujet') class AnonymousTopicCreationForm(TopicCreationForm, AnonymousCommentForm): pass