--- /dev/null
+{% block epn_resource_choice_widget %}
+ {% set options = choices %}
+
+ <select {{ block('widget_attributes') }}{% if multiple %} multiple="multiple"{% endif %}>
+ {% if empty_value is not none %}
+ <option value="">{{ empty_value|trans({}, translation_domain) }}</option>
+ {% endif %}
+ {{ _self.epn_resource_choice_options(roots, 0, form, choices) }}
+ </select>
+{% endblock %}
+
+{% macro epn_resource_choice_options(resources, level, form, choices) %}
+ {% for resource in resources %}
+ {# Déterminer s'il est sélectionné #}
+ {% set disabled = true %}
+ {% set selected = null %}
+ {% if choices[resource.id] is defined %}
+ {% set disabled = false %}
+ {% set selected = _form_is_choice_selected(form, choices[resource.id]) %}
+ {% endif %}
+
+ <option
+ value="{{ resource.id }}"
+ {% if selected %}selected="selected"{% endif %}
+ {% if disabled %}disabled="disabled"{% endif %}
+ >
+ {% for i in 0..level if i != 0 %}_{% endfor %}
+ {{ resource.name }}
+ </option>
+ {{ _self.epn_resource_choice_options(resource.children, level + 1, form, choices) }}
+ {% endfor %}
+{% endmacro %}