Approbations¶
À quoi ça sert¶
Cet espace regroupe toutes les demandes de votre équipe en attente de votre décision — congés, réservations de salles, notes de frais, objectifs et autres demandes soumises au circuit de validation — pour que vous puissiez les approuver ou les refuser sans naviguer entre les modules.
Prérequis¶
Prérequis
- Modules sous licence :
HR - Permissions :
leave.approve,leave.manage,booking.manage,accounting.expense.manage,evaluation.objective.approve - Rôles :
MANAGER,HR_MANAGER,ORG_ADMIN
Comment ça marche¶
Vue d'ensemble cross-module (tableau de bord)¶
- Depuis le tableau de bord (
/dashboard), la carte statistique « Approbations en attente » vous indique en un coup d'œil le nombre total de demandes à traiter. - La page Approbations (
/dashboard/approvals) liste, toutes catégories confondues, les demandes en attente : congés, réservations de ressources, notes de frais, objectifs, offres d'embauche, demandes d'achat, onboarding/offboarding — chaque ligne précise le module d'origine, le demandeur et la date. - Cliquez sur une ligne pour être redirigé directement vers l'écran de traitement du module concerné (la décision elle-même se prend toujours dans le module d'origine, cette page ne fait qu'agréger la visibilité).
Traiter les demandes de congé¶
- Ouvrez Approbations des congés (
/dashboard/leaves/approvals). L'écran est divisé en deux : à gauche la liste des demandes en attente, à droite le détail de la demande sélectionnée. - Triez la liste par date la plus ancienne, par employé ou par urgence (proximité de la date de début) via le sélecteur de tri en haut de la liste.
- Cochez une ou plusieurs demandes pour déclencher une approbation groupée (« Tout sélectionner » disponible), ou traitez une demande individuellement avec les boutons rapides d'approbation/refus qui apparaissent au survol de chaque ligne.
- Un raccourci clavier est disponible sur la liste :
j/kpour naviguer entre les demandes,apour approuver la demande sélectionnée,rpour la refuser. - Chaque approbation/refus ouvre une fenêtre de confirmation où vous pouvez ajouter un commentaire — celui-ci est visible par le collaborateur.
- Le panneau de détail affiche la chaîne d'approbation complète (les différents niveaux de validation déjà franchis ou restants) ainsi que le motif et le justificatif joint par le collaborateur.
- Le calendrier d'équipe (accessible depuis la page congés) vous permet de visualiser les absences déjà validées avant de statuer sur une nouvelle demande, afin d'éviter les conflits de disponibilité.
- En cas d'absence prolongée, utilisez la délégation pour transférer vos approbations de congés à un autre manager le temps de votre indisponibilité.
Traiter les réservations de salles nécessitant validation¶
- Les ressources qui ne sont pas en « Accès instantané » génèrent une réservation au statut En attente, visible depuis la page de gestion des réservations.
- Approuvez, refusez, ou annulez d'office (« annulation admin ») une réservation ; les statistiques d'occupation des salles sont également accessibles depuis cet espace.
Traiter les notes de frais¶
- Depuis Notes de frais (
/dashboard/accounting/expense-claims), ouvrez l'onglet Gestion (visible si vous détenezaccounting.expense.manage). - Les notes au statut Soumise affichent des boutons d'approbation/refus rapides.
- Une fois approuvée par le manager, la note passe en Attente de paiement puis en Remboursée une fois le virement/versement en espèces confirmé via le formulaire dédié (mode de paiement + note).
Traiter les objectifs¶
- Depuis la fiche d'un objectif d'un collaborateur (voir Performance de l'équipe), utilisez l'action Non atteint pour statuer formellement sur un objectif qui n'a pas été rempli à l'échéance.
Qui peut faire quoi¶
| Permission requise | Rôles concernés |
|---|---|
leave.approve |
MANAGER, HR_MANAGER, ORG_ADMIN |
leave.manage |
MANAGER, HR_MANAGER, ORG_ADMIN |
booking.manage |
MANAGER, HR_MANAGER, ORG_ADMIN |
accounting.expense.manage |
MANAGER, HR_MANAGER, ORG_ADMIN |
evaluation.objective.approve |
MANAGER, HR_MANAGER, ORG_ADMIN |
| Permission | Portée |
|---|---|
leave.approve |
Approuver, refuser, déléguer les demandes de congé |
leave.manage |
Accès étendu RH aux congés de tous les collaborateurs (au-delà de son équipe directe) et à l'agrégation cross-module du tableau de bord |
booking.manage |
Approuver/refuser/annuler les réservations de ressources |
accounting.expense.manage |
Approuver, refuser, planifier le paiement et marquer comme remboursées les notes de frais |
evaluation.objective.approve |
Statuer sur un objectif (dont l'action « Non atteint ») |
Détails techniques¶
Détails techniques
- Agrégation cross-module :
app.jigi.dashboard,DashboardController.getPendingApprovals(GET /dashboard/pending-approvals,leave.manage), types de module agrégés côté frontend viaMODULE_LABEL_KEYS(LEAVE_REQUEST,RESOURCE_BOOKING,OFFER_LETTER,JOB_REQUISITION,EMPLOYEE_OFFBOARDING,EMPLOYEE_ONBOARDING,PURCHASE_REQUEST,OBJECTIVE). Chaque décision réelle reste effectuée par le contrôleur du module propriétaire — il n'existe pas d'endpoint générique unique d'approbation, le moteurapp.jigi.workfloworchestre les étapes en interne mais chaque module expose ses propres actions d'approbation. - Congés :
app.jigi.hr.leave.controller.LeaveApprovalController—GET /hr/leaves/pending-approvals(paginé, trioldest/employee/urgency),POST /{id}/approve,POST /{id}/reject,POST /{id}/delegate/{delegateId},GET /team-calendar,GET /pending-approvals/count. Frontend :frontend/src/components/hr/leave/ApprovalQueue.tsx(liste virtualisée, sélection groupée, raccourcis clavier j/k/a/r), page/dashboard/leaves/approvals. - Réservations :
app.jigi.booking.controller.BookingController—POST /{id}/approve,/reject,/admin-cancel,GET /stats(toutesbooking.manage). - Notes de frais :
app.jigi.accounting.expense.controller.ExpenseClaimController—POST /{id}/approve,/reject,/schedule-payment,/mark-reimbursed(toutesaccounting.expense.manage). - Objectifs :
app.jigi.hr.appraisal.objective.controller.ObjectiveController—POST /{id}/not-achieved(evaluation.objective.approve). - Statuts génériques du moteur de workflow :
app.jigi.workflow.domain.StepStatus—PENDING,APPROVED,REJECTED,SKIPPED,TIMED_OUT,NOTIFIED.
Cas d'erreur et FAQ¶
J'ai approuvé une demande de congé par erreur, puis-je annuler ? Non, l'approbation n'est pas réversible depuis l'interface manager ; contactez votre RH pour une correction manuelle.
Pourquoi ne vois-je pas les notes de frais de mon équipe dans l'onglet Gestion ?
Vérifiez que vous détenez bien la permission accounting.expense.manage — l'onglet « Gestion » n'apparaît que dans ce cas, sinon seul l'onglet « Mes notes » (vos propres notes) est visible.
À quoi sert le raccourci clavier sur la page des approbations de congés ?
Il permet de traiter rapidement un grand nombre de demandes : j/k pour changer de demande sélectionnée, a pour approuver, r pour refuser, sans quitter le clavier.
Puis-je approuver plusieurs congés en une seule action ? Oui, cochez les demandes concernées dans la liste puis utilisez le bouton d'approbation groupée ; une confirmation vous sera demandée avant validation définitive.
Que se passe-t-il si je pars en congé sans avoir délégué mes approbations ? Les demandes restent en attente jusqu'à votre retour ou jusqu'à ce qu'un administrateur RH les réattribue manuellement — pensez à utiliser la délégation avant un départ prolongé.