{% set grouped = {} %} {% for question in questions %} {% set key = question.section ? 'section_' ~ question.section.id : 'other' %} {% set grouped = grouped|merge({(key): (grouped[key]|default([]))|merge([question])}) %} {% endfor %}
Affichage :
{% for section in template_sections %} {% set section_key = 'section_' ~ section.id %} {% set rows = grouped[section_key]|default([]) %} {% if rows %}

{{ loop.index }}. {{ section.titre }}

{% if section.description %}

{{ section.description }}

{% endif %}
{% for question in rows %} {% set employee_answer = employee_answers[question.id]|default(null) %} {% set manager_answer = manager_answers[question.id]|default(null) %} {% set employee_value = employee_answer ? (employee_answer.answerJson ?: employee_answer.answerText) : null %} {% set manager_value = manager_answer ? (manager_answer.answerJson ?: manager_answer.answerText) : null %}
Question {{ loop.parent.loop.index }}.{{ loop.index }}{{ question.label }}
Réponse de {{ employee.prenom }} Salarié

{{ employee_value is iterable ? employee_value|join(', ') : (employee_value ?: 'Aucune réponse saisie.') }}

Réponse de {{ interview.manager ?: 'Manager' }} Manager

{{ manager_value is iterable ? manager_value|join(', ') : (manager_value ?: 'Le manager n’a pas encore saisi de réponse.') }}

{% endfor %}
{% endif %} {% endfor %} {% if grouped.other|default([]) %}

Questions complémentaires

{% for question in grouped.other %} {% set employee_answer = employee_answers[question.id]|default(null) %}{% set manager_answer = manager_answers[question.id]|default(null) %} {% set employee_value = employee_answer ? (employee_answer.answerJson ?: employee_answer.answerText) : null %}{% set manager_value = manager_answer ? (manager_answer.answerJson ?: manager_answer.answerText) : null %}
Question complémentaire {{ loop.index }}{{ question.label }}
Réponse de {{ employee.prenom }} Salarié

{{ employee_value is iterable ? employee_value|join(', ') : (employee_value ?: 'Aucune réponse saisie.') }}

Réponse de {{ interview.manager ?: 'Manager' }} Manager

{{ manager_value is iterable ? manager_value|join(', ') : (manager_value ?: 'Le manager n’a pas encore saisi de réponse.') }}

{% endfor %}
{% endif %} {% if questions is empty %}
Aucune question configurée
{% endif %}