{# Flash messages as Bootstrap alerts. #}

{% set queues = ['error', 'warning', 'info', 'success', ''] %}

{# Bootstrap 3.x alert classes mapped to error levels #}
{% set visuals = {'error': 'danger'} %}

{% for queue in queues %}
     {% with messages = request.session.pop_flash(queue) %}
        {% for msg in messages %}
            {% if msg.kind %}
                <div {% if msg.msg_id %}id="{{ msg.msg_id }}"{% endif %} class="alert alert-{{ visuals.get(msg.kind, msg.kind) }}">
                    {% if msg.rich %}
                      {{ msg.rich|safe }}
                    {% else %}
                      {{ msg.plain }}
                    {% endif %}
                </div>
            {% else %}
                <div {% if msg.msg_id %}id="{{ msg.msg_id }}"{% endif %} class="alert alert-danger">
                    {% if msg.rich %}
                      {{ msg.rich|safe }}
                    {% else %}
                      {{ msg.plain }}
                    {% endif %}
                </div>
            {% endif %}
        {% endfor %}
    {% endwith %}
{% endfor %}
