{% extends '@TimeClock/time_clock/layout.html.twig' %}{% import '@TimeClock/time_clock/_macros.html.twig' as tc %} {% block title %}Pointage de mon équipe{% endblock %}{% block time_clock_content %}
Pointeuse › Mon équipe

👥 Pointage de mon équipe En direct

État actuel de l'équipe

Anomalies
{% set working=0 %}{% set paused=0 %}{% set missing=0 %}{% for employee in employees %}{% set session=session_by_employee[employee.id]|default(null) %}{% if session and session.status == 'open' %}{% set working=working+1 %}{% elseif session and session.status == 'on_break' %}{% set paused=paused+1 %}{% else %}{% set missing=missing+1 %}{% endif %}{% endfor %}
{{ working }}Au travail
{{ paused }}En pause
{{ missing }}Non pointés
{{ anomalies|filter(a => a.status == 'open')|length }}Anomalies équipe
{{ corrections|filter(c => c.status == 'submitted')|length }}Corrections à valider

État de l'équipe {{ employees|length }} membres

{% for employee in employees %}{% set session=session_by_employee[employee.id]|default(null) %}{% endfor %}
SalariéServiceÉtat actuelDernier pointageTemps netPlanning prévuAnomalies
{{ tc.initials(employee) }}{{ employee.prenom }} {{ employee.nom }}
{{ employee.service.nom|default('—') }}{{ tc.status(session ? session.status : 'not_clocked') }}{{ session and session.clockInAt ? 'Entrée ' ~ session.clockInAt|date('H:i') : '—' }}{{ session ? tc.duration(session.netWorkedMinutes) : '00 h 00' }}09:00–17:00{{ anomalies|filter(a => a.salarie.id == employee.id and a.status == 'open')|length }}{% if session %}Voir{% endif %}
{% endblock %}