Parcours unifié de départ d'un utilisateur dans le module Isi-Identité. Symétrique au wizard d'arrivée existant (
App\Livewire\User\CreateUser).
Tous les tenants abonnés au module Isi-Identité (tag youzer). Sans ce module, les écrans et boutons décrits ci-dessous restent invisibles.
Les actions sont accessibles aux profils ayant le droit manageAccessRights('U', $userId, 12000101) pour ouvrir le wizard et manageAccessRights('D', …, 12000101) pour la réintégration.
Avant cette feature, gérer le départ d'un utilisateur était fragmenté : édition manuelle de la date de départ dans le formulaire générique, désactivation via un bouton dédié, archivage dans la sidebar, transformation en boîte partagée par une autre modale. Aucun parcours unifié.
Le formulaire de départ orchestre tout en un seul assistant, depuis la fiche utilisateur, et trace la décision dans un wizard à étapes.
| État | Détection | Boutons fiche affichés |
|---|---|---|
| Actif | dtdep nul et dtdel nul |
Formulaire de départ |
| Départ planifié | dtdep renseigné, dtdel nul |
Prolonger · Réintégrer |
| Parti (inactif) | dtdep passée, dtdel nul |
Prolonger · Réintégrer |
| Archivé | dtdel renseigné |
Prolonger · Réintégrer |
Une personne dont la date de départ est passée disparaît immédiatement des annuaires actifs mais reste consultable dans les onglets « Départs récents » et « Tous » : son archivage n'intervient qu'au terme du délai configuré (voir ci-dessous).
/param-dsi/usersLe bloc « Formulaire de départ » apparaît sous le bloc existant « Alertes programmées » (uniquement si youzer est actif). Il pilote la table dsi_param_departure (une ligne par tenant).
Pour chaque service (SI, RH) indépendamment :
Ne rien faire, Créer un ticket, Envoyer un mail seul.Créer un ticket → liste déroulante recherchable des sujets de ticket (même source que la config création).Envoyer un mail seul → champ texte libre (l'objet du mail).Aucun, En haut, En bas. Contrôle l'insertion du récap utilisateur dans le corps du ticket/mail.{forname}, {name}, {dtdep}, {recipient_name} (résolus à l'envoi).Aucun / Haut / Bas — par défaut Bas à l'envoi si non précisé (les infos sont toujours incluses dans le mail repreneur).Le bouton « Enregistrer le formulaire de départ » sauvegarde uniquement ce bloc. Le bloc « Alertes programmées » garde son propre bouton « Enregistrer » (cron pré-départ inchangé).
Depuis la fiche utilisateur, dans la sidebar d'actions, le bouton rouge « Formulaire de départ » ouvre une modal contenant le wizard. Le bouton est caché si l'utilisateur est déjà parti, déjà planifié, ou s'il s'agit de soi-même.
tpaccount = 'B') — la transformation passe par UserAction::run() qui gère le vidage de cache nécessaire.idmanager.À la validation (en une transaction) : la fiche est mise à jour, les tickets sont créés (blisi_identity = 1) ou les mails envoyés selon le paramétrage, la transformation est appliquée si demandée, le mail repreneur part. La modal se ferme et la fiche est rechargée.
Le départ inactive la personne ; l'archivage de sa fiche est différé.
0 rétablit le comportement historique
(archivage dès le lendemain du départ).user:delete.Pendant le délai, la personne est absente des annuaires actifs mais reste visible dans « Départs récents » (avec une colonne Archivage indiquant « Non archivée » ou la date d'archivage) et dans « Tous » : elle peut donc être prolongée ou réintégrée sans passer par la corbeille.
La fiche d'une personne archivée affiche un encart précisant quand et par qui :
Les fiches archivées avant la mise en place de cette trace n'affichent que la date, tout comme celles archivées par un canal automatisé qui ne la renseigne pas (API Isi-Identité, synchro Azure, import de masse). L'archivage apparaît également dans le panneau « Activité » de la fiche. La trace est effacée en même temps que l'archivage (restauration depuis la corbeille, réintégration, prolongation).
Accès : une personne dont la date de départ est passée ne peut plus se connecter, même si sa fiche n'est pas encore archivée — et sa session en cours est fermée au prochain chargement de page.
Quand un départ est planifié, passé ou déjà archivé, le bouton « Prolonger » ouvre une modale qui ne modifie que la date de départ — le motif et les actions déjà réalisées (tickets, mails, boîte partagée) sont conservés. C'est le geste attendu pour une prolongation de contrat ou un report de fin de mission, là où « Réintégrer » efface toutes les dates.
Si la personne était archivée et que la nouvelle date de départ est à venir, sa fiche est automatiquement désarchivée : elle réapparaît dans les annuaires actifs.
Quand l'utilisateur est en état « départ planifié », « parti » ou « archivé », le bouton « Réintégrer » remplace celui de départ. Confirmation Onyx puis :
dtdep, dtdel, dtdes, motifdes repassent à null, ainsi que la trace d'archivage.tpaccount) n'est pas modifié : si l'utilisateur a été basculé en boîte partagée, repasser à « Nominatif » via la modal « Transformer l'utilisateur » existante.| Destinataire | Mailable | |
|---|---|---|
| Notif. ticket SI/RH (action = ticket) | Système de routage selon tpsubject |
App\Mail\TicketCreation (en prod) |
| Notif. mail RH/SI (action = mail seul) | Utilisateur connecté ou SUPPORT_EMAIL |
App\Mail\UserDepartureNotice |
| Mail au repreneur | User lui-même ou son manager | App\Mail\UserDepartureHandover |
Tous utilisent le layout ISI (logo + footer).
Garde dev : hors environnement
prod, tous les mails (RH/SI et repreneur) partent versSUPPORT_EMAIL(.env). Aucun courrier n'atteint les vrais utilisateurs/managers en dev/staging.
Quand youzer est actif sur le tenant, le champ dtdep (idfield 12000035) du formulaire générique utilisateur passe en lecture seule. La modification de cette date n'est possible qu'à travers le wizard de départ, le bouton « Prolonger » ou le bouton « Réintégrer ». Sur les tenants sans youzer, le comportement reste inchangé.
Aucune des fonctionnalités existantes n'est retirée :
UserCtl::disableUser) — toujours fonctionnel.Alertes programmées) — toujours actif, indépendant du formulaire.