fix: Mise à jour correcte du fichier après avoir été signé

This commit is contained in:
N3WT DE COMPET
2025-04-27 19:22:59 +02:00
parent db8e1d8ab3
commit 5ea3cbb079

View File

@ -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);