{# Récupération de l'utilisateur au moment de l'intervention #} {% set date_intervention = intervention.planning ? intervention.planning.date : (intervention.planning ? intervention.planning.dateCreation : null) %} {% set utilisateur_intervention = null %} {% if date_intervention and equipement and equipement.getHistoriqueEquipementUtilisateurs|length > 0 %} {# On cherche dans l'historique l'utilisateur qui était actif au moment de l'intervention #} {# On trie par date décroissante pour trouver le dernier changement avant ou à la date de l'intervention #} {% set historique_utilisateurs = equipement.getHistoriqueEquipementUtilisateurs|sort((a, b) => a.dateHeure > b.dateHeure ? -1 : 1) %} {# On prend le dernier changement avant ou à la date de l'intervention #} {% for hist in historique_utilisateurs %} {% if hist.dateHeure <= date_intervention and not utilisateur_intervention %} {% set utilisateur_intervention = hist.utilisateur %} {% endif %} {% endfor %} {% endif %} {# Si aucun historique trouvé ou si l'intervention est antérieure à tous les historiques, on prend l'utilisateur actuel #} {% if not utilisateur_intervention and equipement %} {% set utilisateur_intervention = equipement.getClientUtilisateur %} {% endif %} {% set utilisateur = utilisateur_intervention %}