{#
 * Copyright (C) 2014-2015, Champs Libres Cooperative SCRLFS,
 <info@champs-libres.coop> / <http://www.champs-libres.coop>
 *
 * This program is free software: you can redistribute it and/or modify
 *  it under the terms of the GNU Affero General Public License as
 * published by the Free Software Foundation, either version 3 of the
 *  License, or (at your option) any later version.
 *
 * This program 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 Affero General Public License for more details.
 *
 * You should have received a copy of the GNU Affero General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
#}

{% extends "@ChillMain/layout.html.twig" %}

{% block title %}{{ 'Exports list'|trans }}{% endblock %}

{% block css %}
    {{ parent() }}
    <style lang="css">
        .export-title {
            margin-top: 2rem;
            margin-bottom: 1rem;
        }
    </style>
{% endblock %}

{% macro render_export_card(export, export_alias, generations) %}
    <div class="col">
        <div class="card h-100">
            <div class="card-body">
                <h2 class="card-title">{{ export.title|trans }}</h2>
                <p class="card-text my-3">{{ export.description|trans }}</p>
            </div>
            {% if generations|length > 0 %}
                <ul class="list-group list-group-flush">
                    {% for generation in generations %}
                        <li class="list-group-item">
                            <a href="{{ chill_path_add_return_path('chill_main_export-generation_wait', {'id': generation.id}) }}">{{ generation.createdAt|format_datetime('short', 'short') }}</a>
                            {% if generation.status == 'pending' %}
                                &nbsp;<span class="badge bg-info">{{ 'export.generation.Export generation is pending_short'|trans }}</span>
                            {% elseif generation.status == 'failure' %}
                                &nbsp;<span class="badge bg-warning">{{ 'export.generation.Error_short'|trans }}</span>
                            {% endif %}
                        </li>
                    {% endfor %}
                </ul>
            {% endif %}
            <div class="card-footer">
                <ul class="record_actions slim">
                    <li>
                        <a class="btn btn-submit" href="{{ path('chill_main_export_new', { 'alias': export_alias } ) }}">
                            {{ 'Create an export'|trans }}
                        </a>
                    </li>
                </ul>
            </div>
        </div>
    </div>
{% endmacro %}

{% block content %}

    {{ include('@ChillMain/Export/_navbar.html.twig', {'current' : 'common'}) }}

    <div class="col-md-10 exports-list">

        <div class="container mt-4">

            {% for group, exports in grouped_exports %}{%  if group != '_' %}
                <h1 class="display-6 export-title">{{ group|trans }}</h1>
                <div class="row row-cols-1 row-cols-md-3 g-2">
                    {% for export_alias, export in exports %}
                        {{ _self.render_export_card(export, export_alias, last_executions[export_alias]) }}
                    {% endfor %}
                </div>
            {% endif %}{% endfor %}

            {% if grouped_exports|keys|length > 1 and grouped_exports['_']|length > 0 %}
                <h2 class="display-6 export-title">{{ 'Ungrouped exports'|trans }}</h2>
            {% endif %}

            <div class="row row-cols-1 row-cols-md-3 g-2">
            {% for export_alias,export in grouped_exports['_'] %}
                {{ _self.render_export_card(export, export_alias, last_executions[export_alias]) }}
            {% endfor %}
            </div>
        </div>
    </div>
{% endblock %}
