{% for formName, formData in collector.data.forms %}
{{ form_tree_entry(formName, formData, true) }}
{% endfor %}
{% for formName, formData in collector.data.forms %}
{{ form_tree_details(formName, formData, collector.data.forms_by_hash, loop.first) }}
{% endfor %}
{% else %}
No forms were submitted for this request.
{% endif %}
{% endblock %}
{% macro form_tree_entry(name, data, is_root) %}
{% import _self as tree %}
{% set has_error = data.errors is defined and data.errors|length > 0 %}
{% if has_error %}
{{ data.errors|length }}
{% endif %}
{% if data.children is not empty %}
{% else %}
{% endif %}
{{ name|default('(no name)') }}
{% if data.children is not empty %}
{% for childName, childData in data.children %}
{{ tree.form_tree_entry(childName, childData, false) }}
{% endfor %}
{% endif %}
{% endmacro %}
{% macro form_tree_details(name, data, forms_by_hash, show) %}
{% import _self as tree %}
{{ name|default('(no name)') }}
{% if data.type_class is defined %}
{{ profiler_dump(data.type_class) }}
{% endif %}
{% if data.errors is defined and data.errors|length > 0 %}
{% if error.origin is empty %}
This form.
{% elseif forms_by_hash[error.origin] is not defined %}
Unknown.
{% else %}
{{ forms_by_hash[error.origin].name }}
{% endif %}
{% if error.trace %}
Caused by:
{% for stacked in error.trace %}
{{ profiler_dump(stacked) }}
{% endfor %}
{% else %}
Unknown.
{% endif %}
{% if data.passed_options|length %}
{% for option, value in data.passed_options %}
{% endfor %}
Option
Passed Value
Resolved Value
{{ option }}
{{ profiler_dump(value) }}
{# values can be stubs #}
{% set option_value = value.value|default(value) %}
{% set resolved_option_value = data.resolved_options[option].value|default(data.resolved_options[option]) %}
{% if resolved_option_value == option_value %}
same as passed value
{% else %}
{{ profiler_dump(data.resolved_options.seek(option)) }}
{% endif %}
{% else %}
No options were passed when constructing this form.
{% endif %}
{% endif %}
{% if data.resolved_options is defined %}