From 7d62ade89b0926a308d6aeadb437370181837685 Mon Sep 17 00:00:00 2001 From: Manus Date: Sun, 18 Jan 2026 04:29:40 -0500 Subject: [PATCH] =?UTF-8?q?Checkpoint:=20Correction=20de=20l'erreur=20"auc?= =?UTF-8?q?une=20attestation=20disponible=20pour=20cet=20apprenant"=20lors?= =?UTF-8?q?=20de=20l'envoi=20manuel=20d'attestation=20:=20-=20Modification?= =?UTF-8?q?=20de=20la=20fonction=20handleSendAttestation=20pour=20v=C3=A9r?= =?UTF-8?q?ifier=20=C3=A0=20la=20fois=20documentUrl=20et=20urlPdf=20-=20Le?= =?UTF-8?q?s=20attestations=20upload=C3=A9es=20manuellement=20sont=20stock?= =?UTF-8?q?=C3=A9es=20dans=20documentUrl=20-=20Les=20attestations=20g?= =?UTF-8?q?=C3=A9n=C3=A9r=C3=A9es=20automatiquement=20sont=20stock=C3=A9es?= =?UTF-8?q?=20dans=20urlPdf=20-=20La=20fonction=20v=C3=A9rifie=20maintenan?= =?UTF-8?q?t=20les=20deux=20champs=20(documentUrl=20en=20priorit=C3=A9,=20?= =?UTF-8?q?puis=20urlPdf=20en=20fallback)=20-=20D=C3=A9ploy=C3=A9=20sur=20?= =?UTF-8?q?le=20VPS=20de=20production=20(https://formations.itinova.org)?= =?UTF-8?q?=20-=20L'envoi=20manuel=20d'attestations=20upload=C3=A9es=20fon?= =?UTF-8?q?ctionne=20maintenant=20correctement?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- client/src/pages/AdminGestionAttestations.tsx | 6 ++++-- todo.md | 1 + 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/client/src/pages/AdminGestionAttestations.tsx b/client/src/pages/AdminGestionAttestations.tsx index b32f0ec..0141a00 100644 --- a/client/src/pages/AdminGestionAttestations.tsx +++ b/client/src/pages/AdminGestionAttestations.tsx @@ -225,7 +225,9 @@ export default function AdminGestionAttestations() { // Envoyer une attestation const handleSendAttestation = (apprenant: any) => { - if (!apprenant.attestation?.urlPdf) { + const pdfUrl = apprenant.attestation?.documentUrl || apprenant.attestation?.urlPdf; + + if (!pdfUrl) { toast.error("Aucune attestation disponible pour cet apprenant"); return; } @@ -236,7 +238,7 @@ export default function AdminGestionAttestations() { apprenantNom: apprenant.apprenant.nom, apprenantPrenom: apprenant.apprenant.prenom, formationNom: formations?.find(f => f.id === selectedFormationId)?.nom || "", - pdfUrl: apprenant.attestation.urlPdf, + pdfUrl: pdfUrl, }); }; diff --git a/todo.md b/todo.md index f96c9c5..db690dc 100644 --- a/todo.md +++ b/todo.md @@ -859,3 +859,4 @@ - [x] Corriger l'erreur "No procedure found on path attestations.uploadDocument" lors de l'upload d'attestations (utilisation de gestionAttestations.uploadDocument) - [x] Corriger l'erreur SQL "Failed query: insert into attestations" lors de l'upload d'attestation manuelle (ajout de apprenantId et sequenceId) - [x] Corriger l'erreur "refetchInscrits is not defined" lors de l'upload d'attestation manuelle (remplacement par refetchApprenants) +- [x] Corriger l'erreur "aucune attestation disponible pour cet apprenant" lors de l'envoi manuel d'une attestation uploadée (vérification de documentUrl ou urlPdf)