{#
# This file is part of Invenio.
# Copyright (C) 2014, 2015 CERN.
#
# Invenio is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation; either version 2 of the
# License, or (at your option) any later version.
#
# Invenio is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Invenio; if not, write to the Free Software Foundation, Inc.,
# 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
#}

{%- macro flashed_messages() -%}
  {% block messages %}
    {% for category, msg in get_flashed_messages(with_categories=True,
    category_filter=['', 'info', 'danger', 'error', 'warning', 'success',
    '(html_safe)', 'info(html_safe)', 'danger(html_safe)', 'error(html_safe)',
    'warning(html_safe)', 'success(html_safe)']) %}
    {% set category = 'danger' if category == 'error'
    else 'danger(html_safe)' if category == 'error(html_safe)' else category %}
      <div class="alert alert-{{ category[:-('(html_safe)'|length)] if category.endswith('(html_safe)') else category }}">
        <a class="close" data-dismiss="alert" href="#">&times;</a>
        {% if category.endswith('(html_safe)') %}
            {{ msg|safe }}
        {% else %}
            {{ msg }}
        {% endif %}
      </div>
    {% endfor %}
  {% endblock messages %}
{% endmacro %}
