Formulaire public — paiement en ligne : - Le bénévole n'est plus compté en base tant qu'un paiement en ligne choisi n'est pas confirmé (PendingFormSubmission, promu en Volunteer à la confirmation, webhook ou vérification en direct). - Type de paiement « mécénat » : étape d'adresse postale avant le paiement, conservée sur le bénévole pour un reçu fiscal (cerfa) ultérieur. - Page de confirmation au retour de SumUp, avec relance possible après échec/expiration sans ressaisir le formulaire. - « Je paierai sur place » remplace « je ne participe pas » ; tous les champs activés par la coordination sont désormais obligatoires. - La fiche bénévole n'affiche plus l'état des cases à cocher, seulement le résultat réel du paiement (libellé, montant, statut). Emails : - Email de confirmation d'inscription à la création du bénévole (tient lieu de reçu de paiement quand une cotisation est payée en ligne). - Mise en forme HTML au thème de l'application (logo de l'édition en en-tête) pour tous les emails envoyés, texte brut conservé en repli. Export Excel des bénévoles (COORDINATION) : coordonnées, vœux résolus en noms lisibles, cotisation et mécénat. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
11 lines
421 B
Python
11 lines
421 B
Python
"""Aide de test : les messages capturés par `outbox` (conftest.py) sont
|
|
`multipart/alternative` depuis l'ajout d'une version HTML (voir
|
|
`app/email/sender.py:build_message`) — `.get_content()` ne suffit plus à lui
|
|
seul, il faut préciser quelle partie lire."""
|
|
|
|
from email.message import EmailMessage
|
|
|
|
|
|
def plain_text(message: EmailMessage) -> str:
|
|
return message.get_body(preferencelist=("plain",)).get_content()
|