6.8 KiB
6.8 KiB
Feature: Relance d'invitation auto-déclaration
📝 Description
Cette fonctionnalité permet au staff de renvoyer l'email d'invitation à l'auto-déclaration à un salarié directement depuis la page /staff/salaries.
🎯 Objectif
Permettre de relancer facilement un salarié qui :
- N'a pas reçu l'email initial
- N'a pas complété son profil
- A besoin d'un nouveau lien (token expiré après 7 jours)
- Doit mettre à jour ses documents
🔧 Fichiers créés/modifiés
1. /components/staff/ResendInvitationModal.tsx (NOUVEAU)
Composant modal de confirmation avant envoi de la relance.
Fonctionnalités :
- Affichage des informations du salarié (nom, matricule, email)
- Validation de la présence d'un email
- Message explicatif du contenu de l'email
- Confirmation visuelle avant envoi
- Feedback pendant l'envoi (loader)
- Notification de succès/erreur
2. /components/staff/SalariesGridSimple.tsx (MODIFIÉ)
Ajouts :
- Import de
ResendInvitationModal - État
isResendInvitationOpenpour gérer l'ouverture de la modale - Bouton "Envoyer une relance justifs" en gradient bleu/indigo
- Intégration de la modale avec le salarié sélectionné
Emplacement du bouton :
- Au dessus de la card "Informations personnelles"
- Pleine largeur avec icône mail
- Design attrayant en gradient
3. API utilisée : /api/auto-declaration/generate-token/route.ts (EXISTANTE)
L'API existante est réutilisée. Elle :
- Génère un nouveau token sécurisé
- Supprime les anciens tokens du salarié
- Envoie l'email d'invitation avec le lien personnalisé
- Retourne le statut d'envoi
🎨 Interface utilisateur
Bouton de relance
┌─────────────────────────────────────┐
│ 📧 Envoyer une relance justifs │
│ (Gradient bleu → indigo) │
└─────────────────────────────────────┘
Modale de confirmation
┌───────────────────────────────────────┐
│ 📧 Relancer le salarié ✕ │
├───────────────────────────────────────┤
│ │
│ ✓ Email d'invitation à │
│ l'auto-déclaration │
│ │
│ Le salarié recevra un email avec │
│ un lien sécurisé... │
│ │
│ Salarié: Jean Dupont │
│ Matricule: MAT001 │
│ Email: jean.dupont@mail.com │
│ │
│ 💡 Contenu: Lien valide 7 jours... │
│ │
│ [Annuler] [Envoyer] 📧 │
└───────────────────────────────────────┘
📧 Contenu de l'email envoyé
L'email envoyé est exactement le même que lors de la création du salarié :
Template : auto-declaration-invitation
Contenu :
- Salutation personnalisée avec prénom
- Nom de l'organisation employeur
- Matricule du salarié
- Lien d'accès sécurisé avec token unique
- Instructions pour :
- Compléter les informations personnelles
- Uploader les justificatifs (CNI, attestation Sécu, RIB, etc.)
- Accepter les conditions RGPD
Validité : 7 jours
🔐 Sécurité
- ✅ Vérification de l'authentification staff
- ✅ Validation de la présence d'un email
- ✅ Génération d'un nouveau token sécurisé (32 bytes hex)
- ✅ Suppression automatique des anciens tokens
- ✅ Token unique par salarié
- ✅ Expiration automatique après 7 jours
⚙️ Comportement
- Clic sur le bouton → Ouverture de la modale
- Vérification email → Si absent, message d'erreur et bouton désactivé
- Confirmation → Appel API pour générer token et envoyer email
- Pendant l'envoi → Loader et désactivation des boutons
- Succès → Toast de confirmation et fermeture de la modale
- Erreur → Toast d'erreur avec message détaillé
📊 Cas d'usage
✅ Cas valides
- Salarié avec email valide
- Besoin de renvoyer l'invitation
- Token expiré (> 7 jours)
- Email initial non reçu
- Salarié n'a pas complété son profil
❌ Cas bloqués
- Salarié sans email → Bouton désactivé avec message d'erreur
- Pendant l'envoi → Boutons désactivés
- Erreur API → Toast d'erreur
🎯 Flow complet
Staff sélectionne salarié
↓
Clic "Envoyer une relance justifs"
↓
Modale s'ouvre avec infos salarié
↓
Validation email présent
↓
Staff confirme "Envoyer"
↓
API génère nouveau token
↓
Supprime anciens tokens
↓
Envoie email avec lien
↓
Toast succès + fermeture modale
↓
Salarié reçoit email
↓
Clique sur lien → /auto-declaration?token=...
↓
Complète son profil et upload documents
💡 Avantages
- Simplicité : Un seul clic depuis la fiche salarié
- Confirmation : Modale explicative avant envoi
- Feedback : Messages clairs de succès/erreur
- Sécurité : Nouveau token à chaque envoi
- Traçabilité : Logs des envois côté serveur
- UX : Bouton visible et design attrayant
✅ Tests recommandés
-
Envoi réussi
- Salarié avec email valide
- Vérifier réception de l'email
- Vérifier que le lien fonctionne
- Vérifier expiration après 7 jours
-
Salarié sans email
- Bouton doit être désactivé
- Message d'erreur affiché
- Pas d'appel API
-
Erreur réseau
- Simuler échec API
- Vérifier toast d'erreur
- Modale reste ouverte
-
Double envoi
- Envoyer 2 fois de suite
- Vérifier que seul le dernier token est valide
- Ancien token doit être supprimé
-
Changement de salarié
- Ouvrir modale pour salarié A
- Changer vers salarié B
- Vérifier que la modale affiche les bonnes infos
🔄 Intégration avec l'existant
- Utilise l'API
/api/auto-declaration/generate-tokenexistante - Utilise le service
autoDeclarationTokenServiceexistant - Utilise les templates d'email existants
- Compatible avec le système d'auto-déclaration actuel
- Pas de modification de la base de données nécessaire
📈 Prochaines améliorations possibles
- Historique des relances envoyées
- Indication de la dernière relance envoyée
- Statistiques de complétion après relance
- Envoi groupé à plusieurs salariés
- Personnalisation du message
- Rappel automatique après X jours
Date de création : 12 octobre 2025 Version : 1.0.0