Formulaire public : encart de paiement de la cotisation via Yapla

FormTemplate.yapla_url (lien vers la page de cotisation Yapla, doit
commencer par http(s)://, PATCH .../form comme description/is_open)
fait apparaître un encart « Payer ma cotisation » sous la case
WILLING_TO_PAY_FEE, sur le formulaire public. Configurable depuis le
panneau « Personnalisation » de l'écran /inscriptions. La case reste
une simple déclaration : rien ne vérifie que le paiement a eu lieu.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
AdamThomas
2026-09-23 21:10:38 +02:00
co-authored by Claude Sonnet 5
parent 8f8350aa1b
commit 5f80f167c8
14 changed files with 181 additions and 17 deletions
+9 -3
View File
@@ -467,9 +467,9 @@ class FormTemplate(TimestampMixin, table=True):
"""Configuration du formulaire public d'une édition. Une ligne par
édition (créée à la demande). `is_open` coupe les nouvelles soumissions
sans effacer la configuration (les champs activés restent enregistrés).
`logo`/`logo_content_type` et `description` habillent la page publique
(`/inscription`) — aucun rapport avec les champs collectés par
`FormField` ; stockage en base comme les autres images de l'appli
`logo`/`logo_content_type`, `description` et `yapla_url` habillent la
page publique (`/inscription`) — aucun rapport avec les champs collectés
par `FormField` ; stockage en base comme les autres images de l'appli
(badges, photo de bénévole), pas de volume de fichiers à gérer."""
__tablename__ = "form_template"
@@ -485,6 +485,12 @@ class FormTemplate(TimestampMixin, table=True):
logo: bytes | None = Field(default=None, sa_column=Column(LargeBinary))
logo_content_type: str | None = None
description: str | None = None
# Lien vers la page de cotisation Yapla (yapla.com, plateforme externe de
# paiement pour associations) — encart affiché sur `/inscription` près de
# la case « je participe à la cotisation » (`FormFieldType.
# WILLING_TO_PAY_FEE`). Rien n'est vérifié côté appli : la case reste
# une déclaration, le paiement se passe entièrement chez Yapla.
yapla_url: str | None = None
class FormField(SQLModel, table=True):