{% set info = get_global_parameters() %}
{{ month|mois_fr }}
{% set weekIndices = [] %} {% set prevWeekId = (dates[0]|date('Y-W')) %} {% set weekIndices = [0] %} {% for i, date in dates %} {% set weekId = date|date('Y-W') %} {% if weekId != prevWeekId %} {% set weekIndices = weekIndices|merge([i]) %} {% set prevWeekId = weekId %} {% endif %} {% endfor %} {% for i, date in dates %} {# Ajoute une colonne total après la fin d'une semaine #} {% set nextDate = dates[i + 1] ?? null %} {% if nextDate and (nextDate|date('Y-W') != date|date('Y-W')) %} {% endif %} {% endfor %} {# Dernière colonne Total si le mois ne finit pas un dimanche #} {% if dates|last and (dates|last|date('w') != 0) %} {% endif %} {% for emp in employees %} {% set initials = emp.prenom|slice(0, 1)|upper ~ emp.nom|slice(0, 1)|upper %} {% for i, date in dates %} {% set slot = planning[emp.id][date] ?? null %} {% set weekId = date|date('Y-W') %} {% set isLocked = weekId in lockedWeeks %} {% set isPast = date < "now"|date("Y-m-d") %} {% if info.parametres.planningDelai is defined and info.parametres.planningDelai == '1' %} {% set nowPlus7 = "now"|date_modify("+7 days") %} {% set isPast = (date|date('U')) < ("now"|date_modify("+7 days")|date('U')) %} {% endif %} {% if slot %} {% else %} {% set blocked = blockedDays[emp.id][date|date('Y-m-d')] is defined %} {% endif %} {# Après chaque fin de semaine, ajoute le total #} {% set nextDate = dates[i + 1] ?? null %} {% if nextDate and (nextDate|date('Y-W') != weekId) %} {% endif %} {% endfor %} {# Dernière colonne Total si le mois ne finit pas un dimanche #} {% set lastWeekId = dates|last|date('Y-W') %} {% if dates|last and (dates|last|date('w') != 0) %} {% endif %} {% endfor %}
Employé{{ date|jour_abbr }}TotalTotal
{% if emp.image is not null %} image de profil {% else %} {{ initials }} {% endif %}
{{ emp.prenom }} {{ emp.nom }}
{{ emp.role }}
{% if slot.type == "travail" %} {{ slot.start }}
{{ slot.end }} {% else %} {% if slot.typeOff == "formation" %} {{ slot.typeOff |capitalize | slice (0,5)}} {% elseif slot.typeOff == "Congés payés" %} {{ slot.typeOff |capitalize | slice (0,5)}} {% else %} {{ slot.typeOff |capitalize | slice (0,5) }} {% endif %} {% endif %} {% if isLocked %}
{% endif %}
{% if blocked %} {% endif %} {{ weekTotals[emp.id][weekId]|default(0)|number_format(2, ',', ' ') }} h
{% if loop.parent.loop.index0 == 0 %} {% if isLocked %} {% else %} {% endif %} {% endif %}
{{ weekTotals[emp.id][lastWeekId]|default(0)|number_format(2, ',', ' ') }} h