Numéro d'ordre unique sur chaque reçu fiscal mécénat
Volunteer.mecenat_receipt_number (migration 0020, unique) : année du paiement + rang sur 5 chiffres (202600001…), une seule numérotation pour toutes les éditions, repartant à 1 chaque année. Attribué à la confirmation du paiement, ou au premier export pour les bénévoles payés avant (dans l'ordre des paiements), puis jamais réattribué — un reçu regénéré garde son numéro. Attribution sérialisée par un verrou pg_advisory_xact_lock (webhook et sondage peuvent confirmer deux paiements à la fois). Imprimé centré dans la case « Numéro d'ordre du reçu » en page 1 du cerfa. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
5a0209ce43
commit
ccd769d04e
@@ -84,6 +84,7 @@ from app.forms import verify_hcaptcha
|
||||
from app.mecenat import (
|
||||
RECEIPT_FILENAME,
|
||||
MecenatReceipt,
|
||||
assign_receipt_number,
|
||||
generate_mecenat_receipts_pdf,
|
||||
receipt_for,
|
||||
)
|
||||
@@ -795,6 +796,8 @@ def _promote_pending(
|
||||
)
|
||||
session.add(volunteer)
|
||||
session.flush()
|
||||
if volunteer.mecenat_address:
|
||||
assign_receipt_number(session, volunteer)
|
||||
|
||||
position_ids = _filter_owned_ids(
|
||||
session, Position, edition.id, _parse_id_list(pending.position_wish_ids_json)
|
||||
|
||||
Reference in New Issue
Block a user