{% extends '@App/app.html.twig' %} {% block title %}Solde de congés — {{ salarie }}{% endblock %} {% block page_header %}{% endblock %} {% block content %} {% set avatar_src = salarie.photo ? asset('uploads/salaries/' ~ salarie.photo) : null %} {% set initials = (salarie.prenom|default('?')|first ~ salarie.nom|default('')|first)|upper %} {% set service_name = salarie.employeeService ? salarie.employeeService.nom : salarie.service|default('') %} {% set job_name = salarie.employeeJob ? salarie.employeeJob.nom : salarie.poste|default('') %} {% set status = salarie.statut|default('actif') %} {% set colors = ['blue', 'green', 'purple', 'orange', 'muted'] %} {% set selected_period = filters.period|default('') %} {% set status_labels = { draft: 'Brouillon', submitted: 'Soumise', pending_manager: 'Att. manager', pending_hr: 'Att. RH', approved: 'Approuvée', refused: 'Refusée', cancelled: 'Annulée' } %}
{{ job_name|default('Poste non renseigné') }} — {{ salarie.matricule|default('Matricule non renseigné') }}
| Type | Période | Acquis | Pris | En attente | Ajusté | Reporté | Expiré | Disponible | Actions |
|---|---|---|---|---|---|---|---|---|---|
| {{ balance.leaveType.nom }} | {{ balance.period.nom }} | {{ balance.acquired|number_format(1, ',', ' ') }} j | {{ balance.taken > 0 ? '-' : '' }}{{ balance.taken|abs|number_format(1, ',', ' ') }} j | {{ balance.pending|number_format(1, ',', ' ') }} j | {{ balance.adjusted > 0 ? '+' : '' }}{{ balance.adjusted|number_format(1, ',', ' ') }} j | {{ balance.carriedOver|number_format(1, ',', ' ') }} j | {{ balance.expired|number_format(1, ',', ' ') }} j | {{ balance.available|number_format(1, ',', ' ') }} j |
|
| Aucun compteur pour ce salarié. | |||||||||
| Référence | Type | Période | Durée | Statut | Créée le |
|---|---|---|---|---|---|
| {{ request.reference }} | {{ request.leaveType.nom }} | {{ request.startDate|date('d/m/Y') }}{% if request.endDate and request.endDate != request.startDate %} — {{ request.endDate|date('d/m/Y') }}{% endif %} | {{ request.durationDays|number_format(1, ',', ' ') }} j | {{ status_labels[request.status]|default(request.status) }} | {{ request.createdAt|date('d/m/Y H:i') }} |
| Aucun mouvement sur la période. | |||||
| Date | Type | Période | Montant | Motif | Utilisateur |
|---|---|---|---|---|---|
| {{ adjustment.createdAt|date('d/m/Y H:i') }} | {{ adjustment.leaveType.nom }} | {{ adjustment.period.nom }} | {{ adjustment.amount > 0 ? '+' : '' }}{{ adjustment.amount|number_format(1, ',', ' ') }} j | {{ adjustment.reason }} | {{ adjustment.createdBy }} |
| Aucun ajustement enregistré. | |||||