{% extends "base.html" %}

{% block content %}
<div class="container-fluid">
    <div class="row mb-4">
        <div class="col">
            <h2><i class="bi bi-upload me-2"></i>{{ _('Carga Inicial de Prestaciones') }}</h2>
            <p class="text-muted">{{ _('Gestione las cargas iniciales de saldos acumulados de prestaciones laborales') }}</p>
        </div>
        <div class="col-auto">
            <a href="{{ url_for('carga_inicial_prestacion.nueva') }}" class="btn btn-primary">
                <i class="bi bi-plus-circle me-1"></i>{{ _('Nueva Carga Inicial') }}
            </a>
            <a href="{{ url_for('carga_inicial_prestacion.reporte') }}" class="btn btn-info">
                <i class="bi bi-file-earmark-bar-graph me-1"></i>{{ _('Reporte de Acumulados') }}
            </a>
        </div>
    </div>

    <!-- Flash messages -->
    {% with messages = get_flashed_messages(with_categories=true) %}
        {% if messages %}
            {% for category, message in messages %}
                <div class="alert alert-{{ category }} alert-dismissible fade show" role="alert">
                    {{ message }}
                    <button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
                </div>
            {% endfor %}
        {% endif %}
    {% endwith %}

    <!-- Filters -->
    <div class="card mb-3">
        <div class="card-body">
            <form method="GET" action="{{ url_for('carga_inicial_prestacion.index') }}" class="row g-3">
                <div class="col-md-4">
                    <label for="estado" class="form-label">{{ _('Estado') }}</label>
                    <select class="form-select" id="estado" name="estado">
                        <option value="">{{ _('-- Todos --') }}</option>
                        <option value="borrador" {% if estado_filter == 'borrador' %}selected{% endif %}>{{ _('Borrador') }}</option>
                        <option value="aplicado" {% if estado_filter == 'aplicado' %}selected{% endif %}>{{ _('Aplicado') }}</option>
                    </select>
                </div>
                <div class="col-md-4 d-flex align-items-end">
                    <button type="submit" class="btn btn-primary me-2">
                        <i class="bi bi-search me-1"></i>{{ _('Filtrar') }}
                    </button>
                    <a href="{{ url_for('carga_inicial_prestacion.index') }}" class="btn btn-secondary">
                        <i class="bi bi-x-circle me-1"></i>{{ _('Limpiar') }}
                    </a>
                </div>
            </form>
        </div>
    </div>

    <!-- List -->
    <div class="card">
        <div class="card-body">
            {% if cargas %}
                <div class="table-responsive">
                    <table class="table table-striped table-hover">
                        <thead>
                            <tr>
                                <th>{{ _('Empleado') }}</th>
                                <th>{{ _('Prestación') }}</th>
                                <th>{{ _('Periodo Corte') }}</th>
                                <th>{{ _('Moneda') }}</th>
                                <th>{{ _('Saldo Acumulado') }}</th>
                                <th>{{ _('Saldo Convertido') }}</th>
                                <th>{{ _('Estado') }}</th>
                                <th>{{ _('Acciones') }}</th>
                            </tr>
                        </thead>
                        <tbody>
                            {% for carga in cargas %}
                            <tr>
                                <td>{{ carga.empleado.codigo_empleado }} - {{ carga.empleado.primer_nombre }} {{ carga.empleado.primer_apellido }}</td>
                                <td>{{ carga.prestacion.codigo }} - {{ carga.prestacion.nombre }}</td>
                                <td>{{ carga.mes_corte }}/{{ carga.anio_corte }}</td>
                                <td>{{ carga.moneda.codigo }}</td>
                                <td class="text-end">{{ "%.2f"|format(carga.saldo_acumulado) }}</td>
                                <td class="text-end">{{ "%.2f"|format(carga.saldo_convertido) }}</td>
                                <td>
                                    {% if carga.estado == 'borrador' %}
                                        <span class="badge bg-warning">{{ _('Borrador') }}</span>
                                    {% elif carga.estado == 'aplicado' %}
                                        <span class="badge bg-success">{{ _('Aplicado') }}</span>
                                    {% endif %}
                                </td>
                                <td>
                                    <div class="btn-group" role="group">
                                        {% if carga.estado == 'borrador' %}
                                            <a href="{{ url_for('carga_inicial_prestacion.editar', carga_id=carga.id) }}" 
                                               class="btn btn-sm btn-outline-primary" title="{{ _('Editar') }}">
                                                <i class="bi bi-pencil"></i>
                                            </a>
                                            <form method="POST" action="{{ url_for('carga_inicial_prestacion.aplicar', carga_id=carga.id) }}" 
                                                  style="display: inline;" onsubmit="return confirm('{{ _('¿Está seguro de aplicar esta carga inicial?') }}');">
                                                <button type="submit" class="btn btn-sm btn-outline-success" title="{{ _('Aplicar') }}">
                                                    <i class="bi bi-check-circle"></i>
                                                </button>
                                            </form>
                                            <form method="POST" action="{{ url_for('carga_inicial_prestacion.eliminar', carga_id=carga.id) }}" 
                                                  style="display: inline;" onsubmit="return confirm('{{ _('¿Está seguro de eliminar esta carga inicial?') }}');">
                                                <button type="submit" class="btn btn-sm btn-outline-danger" title="{{ _('Eliminar') }}">
                                                    <i class="bi bi-trash"></i>
                                                </button>
                                            </form>
                                        {% else %}
                                            <span class="text-muted small">{{ _('Aplicado el') }} {{ carga.fecha_aplicacion.strftime('%Y-%m-%d') }}</span>
                                        {% endif %}
                                    </div>
                                </td>
                            </tr>
                            {% endfor %}
                        </tbody>
                    </table>
                </div>

                <!-- Pagination -->
                {% if pagination.pages > 1 %}
                    <nav aria-label="{{ _('Navegación de páginas') }}">
                        <ul class="pagination justify-content-center">
                            {% if pagination.has_prev %}
                                <li class="page-item">
                                    <a class="page-link" href="{{ url_for('carga_inicial_prestacion.index', page=pagination.prev_num, estado=estado_filter) }}">
                                        {{ _('Anterior') }}
                                    </a>
                                </li>
                            {% else %}
                                <li class="page-item disabled">
                                    <span class="page-link">{{ _('Anterior') }}</span>
                                </li>
                            {% endif %}

                            {% for page_num in pagination.iter_pages() %}
                                {% if page_num %}
                                    <li class="page-item {% if page_num == pagination.page %}active{% endif %}">
                                        <a class="page-link" href="{{ url_for('carga_inicial_prestacion.index', page=page_num, estado=estado_filter) }}">
                                            {{ page_num }}
                                        </a>
                                    </li>
                                {% else %}
                                    <li class="page-item disabled"><span class="page-link">...</span></li>
                                {% endif %}
                            {% endfor %}

                            {% if pagination.has_next %}
                                <li class="page-item">
                                    <a class="page-link" href="{{ url_for('carga_inicial_prestacion.index', page=pagination.next_num, estado=estado_filter) }}">
                                        {{ _('Siguiente') }}
                                    </a>
                                </li>
                            {% else %}
                                <li class="page-item disabled">
                                    <span class="page-link">{{ _('Siguiente') }}</span>
                                </li>
                            {% endif %}
                        </ul>
                    </nav>
                {% endif %}
            {% else %}
                <div class="alert alert-info">
                    <i class="bi bi-info-circle me-2"></i>{{ _('No hay cargas iniciales registradas.') }}
                </div>
            {% endif %}
        </div>
    </div>
</div>
{% endblock %}
