diff --git a/frontend/src/pages/TimeClockPage.jsx b/frontend/src/pages/TimeClockPage.jsx index 7ee33e0..418c826 100644 --- a/frontend/src/pages/TimeClockPage.jsx +++ b/frontend/src/pages/TimeClockPage.jsx @@ -1299,7 +1299,7 @@ const TimeClockPage = () => { 'Une sortie sans entrée existe', confirmationMessage: - "Voulez-vous indiquer la date et l’heure de l’entrée manquante, puis enregistrer le nouveau pointage ?", + "Voulez-vous indiquer la date et l’heure de l’entrée manquante, puis enregistrer la sortie scannée ?", timeLabel: "Heure d'entrée", @@ -1347,12 +1347,16 @@ const TimeClockPage = () => { } if (!conflictDate || !conflictTime) { - setError('Indiquez la date et l’heure du pointage manquant.'); + setError(config.timeLabel === 'Heure de sortie' + ? 'Indiquez la date et l’heure de la sortie manquante.' + : 'Indiquez la date et l’heure de l’entrée manquante.'); return; } if (scanConflict.scanDate && conflictDate > scanConflict.scanDate) { - setError('Le pointage manquant ne peut pas être postérieur au scan.'); + setError(config.timeLabel === 'Heure de sortie' + ? 'La sortie renseignée ne peut pas être postérieure à l’entrée scannée.' + : 'L’entrée renseignée ne peut pas être postérieure à la sortie scannée.'); return; } @@ -1378,12 +1382,12 @@ const TimeClockPage = () => { scanConflict.scanTime; } - const resolutionResponse = await timeApi.scanTimeEntry(scanConflict.code, options); + await timeApi.scanTimeEntry(scanConflict.code, options); resolved = true; // complete_missing_entry renseigne l'entrée et applique déjà la sortie scannée. if (scanConflict.type === 'missing_entry') { - setScanMessage(resolutionResponse.message || 'Sortie enregistrée.'); + setScanMessage('Entrée renseignée et sortie enregistrée.'); setScanConflict(null); await loadTimeEntries(); return; @@ -1397,12 +1401,14 @@ const TimeClockPage = () => { if (scanConflict.scanTime) { scanOptions.scan_time = scanConflict.scanTime; } - const response = await timeApi.scanTimeEntry( + await timeApi.scanTimeEntry( scanConflict.code, scanOptions, ); - setScanMessage(response.message || 'Pointage enregistré.'); + setScanMessage(scanConflict.type === 'open_entry' + ? 'Sortie renseignée et entrée enregistrée.' + : 'Entrée renseignée et sortie enregistrée.'); setScanConflict(null); await loadTimeEntries(); } catch ( @@ -1414,8 +1420,8 @@ const TimeClockPage = () => { } setError( resolved - ? `Le conflit a été résolu, mais le nouveau pointage n’a pas été enregistré : ${resolutionError.message}` - : resolutionError.message, + ? `${scanConflict.type === 'open_entry' ? 'La sortie a été renseignée, mais la nouvelle entrée n’a pas été enregistrée' : 'L’entrée manquante a été renseignée, mais la sortie scannée n’a pas été enregistrée'} : ${resolutionError.message || 'erreur inconnue'}` + : `Impossible de ${scanConflict.type === 'open_entry' ? 'renseigner la sortie manquante' : 'renseigner l’entrée manquante et enregistrer la sortie'} : ${resolutionError.message || 'erreur inconnue'}`, ); } finally { setResolvingConflict(false); @@ -2415,17 +2421,6 @@ const TimeClockPage = () => { - - {editingEntry.isGrouped && ( -
- Les dates d’un pointage - multi-jours sont liées au - groupe. Seules les heures - peuvent être modifiées ici. -
- )} - -