From 5ea3cbb0790840d823e799cc64766a99ef5591a9 Mon Sep 17 00:00:00 2001 From: N3WT DE COMPET Date: Sun, 27 Apr 2025 19:22:59 +0200 Subject: [PATCH] =?UTF-8?q?fix:=20Mise=20=C3=A0=20jour=20correcte=20du=20f?= =?UTF-8?q?ichier=20apr=C3=A8s=20avoir=20=C3=A9t=C3=A9=20sign=C3=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Inscription/InscriptionFormShared.js | 34 +++++++++++++------ 1 file changed, 24 insertions(+), 10 deletions(-) diff --git a/Front-End/src/components/Inscription/InscriptionFormShared.js b/Front-End/src/components/Inscription/InscriptionFormShared.js index 4e62071..bfdb104 100644 --- a/Front-End/src/components/Inscription/InscriptionFormShared.js +++ b/Front-End/src/components/Inscription/InscriptionFormShared.js @@ -89,7 +89,7 @@ export default function InscriptionFormShared({ setCurrentTemplateIndex(firstUnsignedIndex); } else { // Si tous les templates sont signés, définir un index hors limites - setCurrentTemplateIndex(schoolFileTemplates.length); + setCurrentTemplateIndex(0); } }, [schoolFileTemplates]); @@ -125,31 +125,45 @@ export default function InscriptionFormShared({ return; } + // Télécharger le template downloadTemplate(template.slug) - .then((data) => fetch(data)) - .then((response) => response.blob()) + .then((downloadUrl) => fetch(downloadUrl)) + .then((response) => { + if (!response.ok) { + throw new Error('Erreur lors du téléchargement du fichier.'); + } + return response.blob(); + }) .then((blob) => { const file = new File([blob], `${template.name}.pdf`, { type: blob.type, }); + + // Préparer les données pour la mise à jour const updateData = new FormData(); updateData.append('file', file); + // Mettre à jour le template via l'API return editRegistrationSchoolFileTemplates( template.id, updateData, csrfToken ); }) - .then((data) => { - logger.debug('Template mis à jour avec succès :', data); + .then((updatedTemplate) => { + logger.debug('Template mis à jour avec succès :', updatedTemplate); // Mettre à jour l'état local de schoolFileTemplates - setSchoolFileTemplates((prevTemplates) => - prevTemplates.map((t, i) => - i === index ? { ...t, file: data.file } : t - ) - ); + setSchoolFileTemplates((prevTemplates) => { + const updatedTemplates = prevTemplates.map((t, i) => + i === index ? { ...t, file: updatedTemplate.data.file } : t + ); + logger.debug( + 'État schoolFileTemplates mis à jour :', + updatedTemplates + ); + return updatedTemplates; + }); }) .catch((error) => { logger.error('Erreur lors de la mise à jour du template :', error);