class EmailForm(CsrfForm): email_address = StringField( _l("Adresse email"), validators=[DataRequired(), Length(min=5, max=64), Email()], render_kw={"placeholder": _l("Entrez votre adresse email")}) submit = SubmitField(_l("Valider"))
class LoginForm(CsrfForm): login = StringField( _l("Identifiant"), validators=[DataRequired()], render_kw={"placeholder": _l("Entrez votre identifiant")}) password = PasswordField( _l("Mot de passe"), validators=[DataRequired()], render_kw={"placeholder": _l("Entrez votre mot de passe")}) submit = SubmitField(_l("Valider"))
class BatchForm(CsrfForm): date = DateField(_l("Date"), id="date", format="%d/%m/%Y", validators=[DataRequired()]) capacity = DecimalField( _l("Capacité"), validators=[DataRequired()], render_kw={"placeholder": _l("Entrez la capacité de la fournée")}) opened = BooleanField(_l("Ouverte"), default=True) submit = SubmitField(_l("Valider")) def validate_capacity(form, field): if int(field.data) <= 0: raise ValidationError(_l("Valeur négative ou nulle"))
class PasswordForm(CsrfForm): password = PasswordField( _l("Mot de passe"), validators=[ DataRequired(), EqualTo("password2", message=_l("Les mots de passe doivent être identiques")), Length(min=6) ], render_kw={"placeholder": _l("Entrez votre mot de passe")} ) password2 = PasswordField( _l("Répétition du mot de passe"), validators=[DataRequired()], render_kw={"placeholder": _l("Répétez votre mot de passe")} ) submit = SubmitField(_l("Valider"))
class RegisterForm(CsrfForm): login = StringField( _l("Identifiant"), validators=[ DataRequired(), Length(min=1, max=64), Regexp( "^[A-Za-z][A-Za-z0-9_.-@]*$", 0, "L'identifiant ne doit comporter que des lettres non accentuées, " "des chiffres, '.', '-', '_' et '@' et commencer par une lettre" ) ], render_kw={"placeholder": _l("Entrez votre identifiant")}) password = PasswordField( _l("Mot de passe"), validators=[ DataRequired(), EqualTo("password2", message=_l("Les mots de passe doivent être identiques")), Length(min=6) ], render_kw={"placeholder": _l("Entrez votre mot de passe")}) password2 = PasswordField( _l("Répétition du mot de passe"), validators=[DataRequired()], render_kw={"placeholder": _l("Répétez votre mot de passe")}) first_name = StringField( _l("Prénom"), render_kw={"placeholder": _l("Entrez votre prénom")}) last_name = StringField(_l("Nom"), render_kw={"placeholder": _l("Entrez votre nom")}) email_address = StringField( _l("Adresse email"), validators=[DataRequired(), Length(min=1, max=64), Email()], render_kw={"placeholder": _l("Entrez votre adresse email")}) phone_number = StringField( _l("Numéro de téléphone"), validators=[Regexp("^(0|\+33)[1-9]([-. ]?[0-9]{2}){4}$", 0)], render_kw={"placeholder": _l("Entrez votre numéro de téléphone")}) repository_id = SelectField(_l("Point de livraison"), coerce=int) mailing = BooleanField(_l("Réception de messages"), default=True) submit = SubmitField(_l("Valider"))
class ProfileForm(CsrfForm): password = PasswordField( _l("Mot de passe"), validators=[ EqualTo("password2", message=_l("Les mots de passe doivent être identiques")), ], render_kw={"placeholder": _l("Entrez votre mot de passe")}) password2 = PasswordField( _l("Répétition du mot de passe"), render_kw={"placeholder": _l("Répétez votre mot de passe")}) first_name = StringField( _l("Prénom"), render_kw={"placeholder": _l("Entrez votre prénom")}) last_name = StringField(_l("Nom"), render_kw={"placeholder": _l("Entrez votre nom")}) phone_number = StringField( _l("Numéro de téléphone"), validators=[Regexp("^(0|\+33)[1-9]([-. ]?[0-9]{2}){4}$", 0)], render_kw={"placeholder": _l("Entrez votre numéro de téléphone")}) repository_id = SelectField(_l("Point de livraison"), coerce=int) mailing = BooleanField(_l("Réception de messages")) submit = SubmitField(_l("Valider"))
def validate_longitude(form, field): if not -180 <= float(field.data) <= 180: raise ValidationError(_l("Valeur incorrecte"))
class RepositoryForm(CsrfForm): name = StringField( _l("Dénomination"), validators=[DataRequired(), Length(min=5, max=128)], render_kw={"placeholder": _l("Entrez le nom")} ) latitude = DecimalField( _l("Latitude"), places=6, validators=[DataRequired()], render_kw={"placeholder": _l("Entrez la latitude")} ) longitude = DecimalField( _l("Longitude"), places=6, validators=[DataRequired()], render_kw={"placeholder": _l("Entrez la longitude")} ) def validate_latitude(form, field): if not -90 <= float(field.data) <= 90: raise ValidationError(_l("Valeur incorrecte")) def validate_longitude(form, field): if not -180 <= float(field.data) <= 180: raise ValidationError(_l("Valeur incorrecte")) opened = BooleanField(_l("Ouvert"), default=True) monday = BooleanField(_l("Lundi")) tuesday = BooleanField(_l("Mardi")) wednesday = BooleanField(_l("Mercredi")) thursday = BooleanField(_l("Jeudi")) friday = BooleanField(_l("Vendredi")) saturday = BooleanField(_l("Samedi")) sunday = BooleanField(_l("Dimanche")) submit = SubmitField(_l("Valider"))
def validate_capacity(form, field): if int(field.data) <= 0: raise ValidationError(_l("Valeur négative ou nulle"))
class FillOrderForm(CsrfForm): submit = SubmitField(_l("Valider"))
class CreateOrderForm(CsrfForm): batch_id = SelectField(_l("Fournée"), coerce=int) submit = SubmitField(_l("Valider"))
class MailingForm(CsrfForm): all_repositories = BooleanField(_l("Tous les points de livraison"), default=True) repository_id = SelectField(_l("Point de livraison"), coerce=int) subject = StringField(_l("Sujet"), validators=[DataRequired()]) message = TextAreaField(_l("Message"), render_kw={"rows": 10, "cols": 50}, validators=[DataRequired()]) submit = SubmitField(_l("Valider"))
class ProductForm(CsrfForm): name = StringField(_l("Dénomination"), validators=[DataRequired(), Length(min=6, max=128)], render_kw={"placeholder": _l("Entrez le nom")}) name_lang1 = StringField( _l("Dénomination"), validators=[DataRequired(), Length(min=6, max=128)], render_kw={"placeholder": _l("Entrez le nom")}) description = StringField( _l("Description"), render_kw={"placeholder": _l("Entrez la description")}) description_lang1 = StringField( _l("Description"), render_kw={"placeholder": _l("Entrez la description")}) price = DecimalField(_l("Prix"), validators=[DataRequired()], render_kw={"placeholder": _l("Entrez le prix")}) load = DecimalField( _l("Poids du pâton"), validators=[DataRequired()], render_kw={"placeholder": _l("Entrez le poids du pâton")}) available = BooleanField(_l("Disponible"), default=True) submit = SubmitField(_l("Valider"))