2019-09-08 14:34:51 +02:00
|
|
|
from flask_wtf import FlaskForm
|
2020-08-01 21:26:06 +02:00
|
|
|
from wtforms import StringField, FormField, SubmitField, TextAreaField, \
|
|
|
|
MultipleFileField
|
|
|
|
from wtforms.validators import DataRequired, Length, Optional
|
2020-07-17 23:49:04 +02:00
|
|
|
import app.utils.validators as vd
|
2019-09-08 14:34:51 +02:00
|
|
|
|
2019-12-03 20:32:01 +01:00
|
|
|
class CommentForm(FlaskForm):
|
2020-08-01 21:26:06 +02:00
|
|
|
message = TextAreaField('Message', validators=[DataRequired()])
|
|
|
|
attachments = MultipleFileField('Pièces-jointes',
|
|
|
|
validators=[vd.file.optional, vd.file.count, vd.file.extension,
|
|
|
|
vd.file.size])
|
2019-12-03 20:32:01 +01:00
|
|
|
submit = SubmitField('Commenter')
|
2020-08-01 21:47:25 +02:00
|
|
|
preview = SubmitField('Prévisualiser')
|
2020-07-17 23:49:04 +02:00
|
|
|
|
|
|
|
class AnonymousCommentForm(CommentForm):
|
|
|
|
pseudo = StringField('Pseudo',
|
|
|
|
validators=[DataRequired(), vd.name_valid, vd.name_available])
|
2020-08-01 17:25:08 +02:00
|
|
|
|
|
|
|
class CommentEditForm(CommentForm):
|
2020-08-01 21:47:25 +02:00
|
|
|
submit = SubmitField('Modifier')
|
2020-08-01 17:25:08 +02:00
|
|
|
|
2020-08-01 21:47:25 +02:00
|
|
|
class AnonymousCommentEditForm(CommentForm, AnonymousCommentFor):
|
|
|
|
pass
|
|
|
|
|
2020-08-01 21:26:06 +02:00
|
|
|
|
|
|
|
class TopicCreationForm(CommentForm):
|
|
|
|
title = StringField('Nom du sujet',
|
|
|
|
validators=[DataRequired(), Length(min=3, max=32)])
|
|
|
|
submit = SubmitField('Créer le sujet')
|
|
|
|
|
|
|
|
class AnonymousTopicCreationForm(TopicCreationForm, AnonymousCommentForm):
|
|
|
|
pass
|