Écran Inscriptions : signale quand les types de paiement sont inactifs
Sans identifiants SumUp (code marchand + clé API) ou sans aucun type de paiement, le formulaire public n'affiche qu'une simple case « cotisation » et crée le bénévole directement : ni choix du type de paiement, ni étape d'adresse mécénat, ni paiement en ligne. Rien ne le signalait, si bien qu'une option « Mécénat » configurée semblait ne pas fonctionner. L'écran affiche désormais l'état Actif / Inactif sous « Types de paiement », avec la raison. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
c49ce520e3
commit
770a12e3aa
@@ -421,6 +421,9 @@
|
||||
"form.customize.sumup.apiKey.placeholder": "sup_sk_...",
|
||||
"form.customize.paymentOptions.title": "Types de paiement",
|
||||
"form.customize.paymentOptions.label": "Libellé (ex. Cotisation classique, Mécénat…)",
|
||||
"form.customize.paymentOptions.active": "✓ Actif : le formulaire propose ces types de paiement (paiement en ligne SumUp, étape d'adresse pour le mécénat).",
|
||||
"form.customize.paymentOptions.inactive.noCredentials": "⚠ Inactif : renseignez le code marchand et la clé API SumUp ci-dessus. En attendant, le formulaire n'affiche qu'une case « cotisation » à cocher : pas de choix du type de paiement, pas d'étape mécénat, pas de paiement en ligne.",
|
||||
"form.customize.paymentOptions.inactive.noOptions": "⚠ Inactif : ajoutez au moins un type de paiement ci-dessous. En attendant, le formulaire n'affiche qu'une case « cotisation » à cocher.",
|
||||
"form.customize.paymentOptions.add": "Ajouter",
|
||||
"form.customize.paymentOptions.mecenat": "Mécénat",
|
||||
"form.customize.paymentOptions.free": "Montant libre",
|
||||
|
||||
@@ -335,6 +335,12 @@ export function FormBuilderPage() {
|
||||
|
||||
<div className="border-t-2 border-ink pt-3">
|
||||
<FieldLabel>{t('form.customize.paymentOptions.title')}</FieldLabel>
|
||||
<SumUpStatus
|
||||
credentialsSet={
|
||||
Boolean(template.data?.sumup_merchant_code) &&
|
||||
Boolean(template.data?.sumup_api_key_set)
|
||||
}
|
||||
/>
|
||||
<PaymentOptionsForm />
|
||||
</div>
|
||||
</div>
|
||||
@@ -343,6 +349,32 @@ export function FormBuilderPage() {
|
||||
);
|
||||
}
|
||||
|
||||
/** Le formulaire public ne propose les types de paiement (et donc l'étape
|
||||
* mécénat puis SumUp) qu'avec des identifiants SumUp **et** au moins un
|
||||
* type — sinon il n'affiche qu'une simple case « cotisation » et crée le
|
||||
* bénévole directement (`PublicFormConfig.sumup_enabled`). Le dire ici, sans
|
||||
* quoi une option « Mécénat » configurée semble simplement ne pas marcher. */
|
||||
function SumUpStatus({ credentialsSet }: { credentialsSet: boolean }) {
|
||||
const options = useFormPaymentOptions();
|
||||
const hasOptions = (options.data?.length ?? 0) > 0;
|
||||
if (credentialsSet && hasOptions) {
|
||||
return (
|
||||
<p className="mb-2 font-mono text-[10.5px] font-bold text-green">
|
||||
{t('form.customize.paymentOptions.active')}
|
||||
</p>
|
||||
);
|
||||
}
|
||||
return (
|
||||
<p className="mb-2 border-2 border-orange-dark bg-yellow-soft p-[8px] font-mono text-[10.5px] leading-relaxed">
|
||||
{t(
|
||||
credentialsSet
|
||||
? 'form.customize.paymentOptions.inactive.noOptions'
|
||||
: 'form.customize.paymentOptions.inactive.noCredentials',
|
||||
)}
|
||||
</p>
|
||||
);
|
||||
}
|
||||
|
||||
/** Types de paiement (libellé + montant fixe) — liste libre, même principe
|
||||
* que `DayPartsForm` (`ConfigRules.tsx`) : édition en ligne (au blur),
|
||||
* ajout en bas, suppression immédiate. */
|
||||
|
||||
Reference in New Issue
Block a user