{% import '_macros.html.twig' as macros %}
{% set error_format_string %}
{% verbatim %}
<div class="alert alert-{{ error_level }}" role="alert">
<h4>{{ error_type|trans }}</h4>
{% if error is iterable %}
{{ depth_array_result }}
{% else %}
{{ error|trans|raw }}
{% endif %}
</div>
{% endverbatim %}
{% endset %}
{% set error_format_tpl = template_from_string(error_format_string) %}
{% for error in app.session.flashbag.get('customMessage') %}
{% set error_type = error.title|trans|raw %}
{% set error_level = error.class %}
{% set error = error.message %}
{% include error_format_tpl %}
{% endfor %}
{% for error in app.session.flashbag.get('apiErrors') %}
{% set error_type = '' %}
{% set error_level = "danger" %}
{% set depth_array_result = macros.depth_array(error) %}
{% include error_format_tpl %}
{% endfor %}
{% for error in app.session.flashbag.get('apiWarnings') %}
{% set error_type = "APP.GEN.WARNING" %}
{% set error_level = "warning" %}
{% set depth_array_result = macros.depth_array(error) %}
{% include error_format_tpl %}
{% endfor %}
{% for error in app.session.flashbag.get('errors') %}
{% set error_type = "APPLICATION ERROR" %}
{% set error_level = "danger" %}
{% set depth_array_result = macros.depth_array(error) %}
{% include error_format_tpl %}
{% endfor %}
{% for message in app.session.flashbag.get('notifications') %}
<div class="alert alert-{{ message.class }} alert-dismissible" role="alert">
<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>
{{ message.message|trans|raw }}
</div>
{% endfor %}
{% set js_error_block %}
{% verbatim %}
{#
All-purpose error alert should be used for error/warning messages when using javascript.
see /src/js/app/general.js for detail of usage
#}
<div id="general_errors" role="alert" hidden data-locale="{{ app.session.get('_locale') }}">
<button class="close" type="button" onclick="hideErrorMessage()"><span aria-hidden="true">×</span></button>
<h4 id="error_title"></h4>
<p id="error_message"></p>
</div>
{% endverbatim %}
{% endset %}
{% include template_from_string(js_error_block) %}