{% extends "base.html" %}
{% from "macros.html" import render_messages %}

{% block content %}
{{ render_messages() }}

<div class="content-header d-flex justify-content-between align-items-center mb-4">
    <h3>
        <i class="bi bi-list-check"></i>
        {{ _('Novedades de la Nómina') }}
    </h3>
    <div>
        <a href="{{ url_for('planilla.ver_nomina', planilla_id=planilla.id, nomina_id=nomina.id) }}" class="btn btn-secondary">
            <i class="bi bi-arrow-left"></i> {{ _('Volver a la Nómina') }}
        </a>
        {% if nomina.estado != 'aplicado' %}
        <a href="{{ url_for('planilla.nueva_novedad', planilla_id=planilla.id, nomina_id=nomina.id) }}" class="btn btn-primary">
            <i class="bi bi-plus-circle"></i> {{ _('Nueva Novedad') }}
        </a>
        {% endif %}
    </div>
</div>

<div class="card mb-4">
    <div class="card-header">
        <div class="row">
            <div class="col-md-4">
                <strong>{{ _('Planilla:') }}</strong> {{ planilla.nombre }}
            </div>
            <div class="col-md-4">
                <strong>{{ _('Período:') }}</strong> {{ nomina.periodo_inicio.strftime('%d/%m/%Y') }} - {{ nomina.periodo_fin.strftime('%d/%m/%Y') }}
            </div>
            <div class="col-md-4">
                <strong>{{ _('Estado:') }}</strong>
                {% if nomina.estado == 'generado' %}
                <span class="badge bg-warning text-dark">{{ _('Generado') }}</span>
                {% elif nomina.estado == 'aprobado' %}
                <span class="badge bg-info">{{ _('Aprobado') }}</span>
                {% elif nomina.estado == 'aplicado' %}
                <span class="badge bg-success">{{ _('Aplicado') }}</span>
                {% endif %}
            </div>
        </div>
    </div>
</div>

{% if nomina.estado == 'aplicado' %}
<div class="alert alert-info">
    <i class="bi bi-info-circle"></i>
    {{ _('Esta nómina ya ha sido aplicada. No se pueden agregar, editar o eliminar novedades.') }}
</div>
{% endif %}

<div class="card">
    <div class="card-header">
        <h5 class="mb-0">{{ _('Lista de Novedades') }} ({{ novedades|length }})</h5>
    </div>
    <div class="card-body">
        {% if novedades %}
        <table class="table table-striped table-hover">
            <thead>
                <tr>
                    <th>{{ _('Empleado') }}</th>
                    <th>{{ _('Código Concepto') }}</th>
                    <th>{{ _('Tipo') }}</th>
                    <th>{{ _('Tipo Valor') }}</th>
                    <th class="text-end">{{ _('Valor') }}</th>
                    <th>{{ _('Fecha') }}</th>
                    <th>{{ _('Estado') }}</th>
                    <th>{{ _('Acciones') }}</th>
                </tr>
            </thead>
            <tbody>
                {% for novedad in novedades %}
                <tr>
                    <td>
                        <strong>{{ novedad.empleado.primer_nombre }} {{ novedad.empleado.primer_apellido }}</strong>
                        <br>
                        <small class="text-muted">{{ novedad.empleado.codigo_empleado }}</small>
                    </td>
                    <td><code>{{ novedad.codigo_concepto }}</code></td>
                    <td>
                        {% if novedad.percepcion_id %}
                        <span class="badge bg-primary">{{ _('Percepción') }}</span>
                        {% elif novedad.deduccion_id %}
                        <span class="badge bg-danger">{{ _('Deducción') }}</span>
                        {% else %}
                        <span class="badge bg-secondary">{{ _('General') }}</span>
                        {% endif %}
                    </td>
                    <td>
                        {% if novedad.tipo_valor == 'monto' %}
                        {{ _('Monto Fijo') }}
                        {% elif novedad.tipo_valor == 'horas' %}
                        {{ _('Horas') }}
                        {% elif novedad.tipo_valor == 'dias' %}
                        {{ _('Días') }}
                        {% elif novedad.tipo_valor == 'cantidad' %}
                        {{ _('Cantidad') }}
                        {% elif novedad.tipo_valor == 'porcentaje' %}
                        {{ _('Porcentaje') }}
                        {% else %}
                        {{ novedad.tipo_valor or '-' }}
                        {% endif %}
                    </td>
                    <td class="text-end">{{ "{:,.2f}".format(novedad.valor_cantidad|float) }}</td>
                    <td>{{ novedad.fecha_novedad.strftime('%d/%m/%Y') if novedad.fecha_novedad else '-' }}</td>
                    <td>
                        {% if novedad.estado == 'ejecutada' %}
                        <span class="badge bg-success">{{ _('Ejecutada') }}</span>
                        {% else %}
                        <span class="badge bg-warning text-dark">{{ _('Pendiente') }}</span>
                        {% endif %}
                    </td>
                    <td>
                        {% if nomina.estado != 'aplicado' %}
                        <a href="{{ url_for('planilla.editar_novedad', planilla_id=planilla.id, nomina_id=nomina.id, novedad_id=novedad.id) }}"
                           class="btn btn-sm btn-outline-primary" title="{{ _('Editar') }}">
                            <i class="bi bi-pencil"></i>
                        </a>
                        <form action="{{ url_for('planilla.eliminar_novedad', planilla_id=planilla.id, nomina_id=nomina.id, novedad_id=novedad.id) }}"
                              method="post" style="display: inline;">
                            <button type="submit" class="btn btn-sm btn-outline-danger"
                                    title="{{ _('Eliminar') }}"
                                    onclick="return confirm('{{ _('¿Está seguro de eliminar esta novedad?') }}')">
                                <i class="bi bi-trash"></i>
                            </button>
                        </form>
                        {% else %}
                        <span class="text-muted">-</span>
                        {% endif %}
                    </td>
                </tr>
                {% endfor %}
            </tbody>
        </table>
        {% else %}
        <div class="text-center py-5">
            <i class="bi bi-inbox display-4 text-muted"></i>
            <p class="text-muted mt-3">{{ _('No hay novedades registradas para esta nómina.') }}</p>
            {% if nomina.estado != 'aplicado' %}
            <a href="{{ url_for('planilla.nueva_novedad', planilla_id=planilla.id, nomina_id=nomina.id) }}" class="btn btn-primary">
                <i class="bi bi-plus-circle"></i> {{ _('Agregar Primera Novedad') }}
            </a>
            {% endif %}
        </div>
        {% endif %}
    </div>
</div>

<div class="card mt-4">
    <div class="card-header bg-light">
        <h6 class="mb-0"><i class="bi bi-info-circle"></i> {{ _('¿Qué son las Novedades?') }}</h6>
    </div>
    <div class="card-body">
        <p class="mb-2">
            {{ _('Las novedades son eventos o ajustes que afectan la nómina de un empleado en un período específico. Pueden incluir:') }}
        </p>
        <ul class="mb-0">
            <li><strong>{{ _('Percepciones (Ingresos):') }}</strong> {{ _('Horas extras, bonos, comisiones, etc.') }}</li>
            <li><strong>{{ _('Deducciones (Egresos):') }}</strong> {{ _('Ausencias, descuentos, préstamos, etc.') }}</li>
        </ul>
        <p class="mt-2 mb-0 text-muted">
            <small>
                {{ _('Nota: Las novedades se aplican automáticamente a cualquier nómina cuyo período incluya la fecha de la novedad. Después de agregar novedades, use el botón "Recalcular" en la vista de la nómina para aplicar los cambios.') }}
            </small>
        </p>
    </div>
</div>
{% endblock %}
