{% set questions_by_section = {} %} {% set orphan_questions = [] %} {% for question in questions %} {% if question.section %} {% set key = 'section_' ~ question.section.id %} {% set questions_by_section = questions_by_section|merge({(key): (questions_by_section[key]|default([]))|merge([question])}) %} {% else %} {% set orphan_questions = orphan_questions|merge([question]) %} {% endif %} {% endfor %} {% macro render_question(question, answers) %} {% set answer = answers[question.id]|default(null) %} {% set value = answer ? (answer.answerJson ?: answer.answerText) : '' %}
{% endmacro %} {% import _self as form_renderer %} {% for section in sections %} {% set section_key = 'section_' ~ section.id %} {% set section_questions = questions_by_section[section_key]|default([]) %} {% if section_questions is not empty %}

{{ section.titre }}

{% if section.description %}

{{ section.description }}

{% endif %}
{% for question in section_questions %} {{ form_renderer.render_question(question, answers) }} {% endfor %}
{% endif %} {% endfor %} {% if orphan_questions is not empty %}

Questions complémentaires

{% for question in orphan_questions %} {{ form_renderer.render_question(question, answers) }} {% endfor %}
{% endif %} {% if questions is empty %}

Aucune question n’est configurée sur le modèle de cet entretien.

{% endif %}