Reapply "V1_Fonctionnel_GTAV1_GTA"

This reverts commit 244db6bfb6.
This commit is contained in:
2025-12-02 18:04:52 +01:00
parent 6f75a66906
commit 89d74363f8
55 changed files with 7567 additions and 5819 deletions

View File

@@ -178,31 +178,45 @@ const EditLeaveRequestModal = ({
try {
const formDataToSend = new FormData();
formDataToSend.append('requestId', request.id);
formDataToSend.append('leaveType', parseInt(leaveType));
// ⭐ Ajouter tous les champs texte AVANT les fichiers
formDataToSend.append('requestId', request.id.toString());
formDataToSend.append('leaveType', leaveType.toString());
formDataToSend.append('startDate', startDate);
formDataToSend.append('endDate', endDate);
formDataToSend.append('reason', reason);
formDataToSend.append('userId', userId);
formDataToSend.append('reason', reason || '');
formDataToSend.append('userId', userId.toString());
formDataToSend.append('userEmail', userEmail);
formDataToSend.append('userName', userName);
formDataToSend.append('accessToken', accessToken);
formDataToSend.append('accessToken', accessToken || '');
// ⭐ Calcul des jours selon le type
const selectedType = leaveTypes.find(t => t.id === parseInt(leaveType));
const daysToSend = selectedType?.key === 'Récup' ? saturdayCount : businessDays;
formDataToSend.append('businessDays', daysToSend);
formDataToSend.append('businessDays', daysToSend.toString());
// ⭐ Documents médicaux
medicalDocuments.forEach((file) => {
formDataToSend.append('medicalDocuments', file);
});
// ⭐ Documents médicaux EN DERNIER
if (medicalDocuments.length > 0) {
medicalDocuments.forEach((file) => {
formDataToSend.append('medicalDocuments', file);
});
}
const response = await fetch('http://localhost:3000/updateRequest', {
// ⭐ DEBUG : Vérifier le contenu
console.log('📤 FormData à envoyer:');
for (let pair of formDataToSend.entries()) {
console.log(pair[0], ':', pair[1]);
}
const response = await fetch('/api/updateRequest', {
method: 'POST',
// ⭐ NE PAS mettre de Content-Type, le navigateur le fera automatiquement avec boundary
body: formDataToSend
});
if (!response.ok) {
throw new Error(`HTTP error! status: ${response.status}`);
}
const data = await response.json();
if (data.success) {
@@ -222,7 +236,7 @@ const EditLeaveRequestModal = ({
});
}
} catch (error) {
console.error('Erreur:', error);
console.error('Erreur:', error);
setSubmitMessage({
type: 'error',
text: '❌ Une erreur est survenue. Veuillez réessayer.'