Mode de paiement de la cotisation visible (en ligne, sur place)
Jusqu'ici seul un paiement en ligne apparaissait ; un bénévole qui paiera sur place ne se distinguait pas d'un bénévole sans cotisation. Mode déduit des champs existants (lib/fee.ts:feeMode, exporting/xlsx.py:_payment_mode), sans migration : - fiche : section « Cotisation » toujours visible — paiement en ligne (type, montant, statut, mécénat et adresse du reçu) ou case « Paiera sur place » modifiable à la main - liste : colonne « Cotisation » (Sur place / En ligne ✓ / Mécénat ✓ / —) - export Excel : colonne « Mode de paiement » Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
a6e7b6e7fb
commit
ff57bbd863
@@ -24,6 +24,7 @@ _HEADER = [
|
||||
"Artistes souhaités",
|
||||
"Compagnons souhaités",
|
||||
"Note de compagnon",
|
||||
"Mode de paiement",
|
||||
"Cotisation choisie",
|
||||
"Montant (€)",
|
||||
"Statut du paiement",
|
||||
@@ -56,6 +57,17 @@ def _safe_text(value: str) -> str:
|
||||
return f"'{value}" if value.startswith(_FORMULA_PREFIXES) else value
|
||||
|
||||
|
||||
def _payment_mode(v: VolunteerRead) -> str:
|
||||
"""En ligne (un checkout SumUp a été créé), sur place (« je participe à
|
||||
la cotisation » sans paiement en ligne), ou rien — même règle que
|
||||
`frontend/src/lib/fee.ts:feeMode`."""
|
||||
if v.fee_payment_status is not None:
|
||||
return "En ligne"
|
||||
if v.willing_to_pay_fee:
|
||||
return "Sur place"
|
||||
return ""
|
||||
|
||||
|
||||
def _yes_no(value: bool) -> str:
|
||||
return "Oui" if value else "Non"
|
||||
|
||||
@@ -97,6 +109,7 @@ def generate_volunteers_xlsx(
|
||||
_join_names(v.artist_ids, artist_names),
|
||||
_join_names(v.wished_companion_ids, volunteer_names),
|
||||
_safe_text(v.companion_wish_note or ""),
|
||||
_payment_mode(v),
|
||||
_safe_text(v.fee_payment_label or ""),
|
||||
v.fee_amount if v.fee_amount is not None else "",
|
||||
_FEE_STATUS_LABELS.get(v.fee_payment_status, ""),
|
||||
|
||||
Reference in New Issue
Block a user