<?php
// vista/bastoneras/justificaciones.php
if (!isset($_SESSION['usu_id']) || ($_SESSION['usu_rol'] ?? '') === 'PADRE') {
    header("Location: login.php");
    exit();
}

$bd = new clsbdd();
$mensaje = "";

// PROCESAR EN CALIENTE LA APROBACIÓN O RECHAZO
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['action_revisar'])) {
    $asi_id = intval($_POST['asi_id']);
    $nuevo_estado = $_POST['nuevo_estado']; // 'APROBADO' o 'RECHAZADO'
    
    if ($asi_id > 0 && in_array($nuevo_estado, ['APROBADO', 'RECHAZADO'])) {
        
        if ($nuevo_estado === 'APROBADO') {
            // Si apruebas, la inasistencia se remueve pasando el estado a 'ASISTIO'
            // y concatenamos la leyenda en observaciones.
            $sql_update = "UPDATE bas_asistencia SET 
                           asi_estado = 'ASISTIO', 
                           asi_justificacion_estado = 'APROBADO',
                           asi_observaciones = CONCAT(IFNULL(asi_observaciones,''), ' [FALTA JUSTIFICADA]')
                           WHERE asi_id = $asi_id";
        } else {
            // Si rechazas, mantiene la falta intacta
            $sql_update = "UPDATE bas_asistencia SET 
                           asi_justificacion_estado = 'RECHAZADO'
                           WHERE asi_id = $asi_id";
        }
        
        if ($bd->ejecutar($sql_update)) {
            $mensaje = "<div class='alert alert-success alert-dismissible fade show small py-2 mb-3' role='alert'>
                            <i class='fas fa-check-circle me-1'></i> Solicitud procesada como <strong>$nuevo_estado</strong> exitosamente.
                            <button type='button' class='btn-close' data-bs-dismiss='alert' aria-label='Close'></button>
                        </div>";
        } else {
            $mensaje = "<div class='alert alert-danger small py-2 mb-3'>Error interno al actualizar la base de datos.</div>";
        }
    }
}

// TRAER TODAS LAS ENVIADAS POR LOS PADRES QUE SIGAN PENDIENTES
$sql_pendientes = "SELECT a.*, b.bas_nombres, b.bas_apellidos, b.bas_cedula, b.bas_rep_nombre 
                   FROM bas_asistencia a
                   INNER JOIN bas_bastoneras b ON a.bas_id = b.bas_id
                   WHERE a.asi_justificada = 1 AND a.asi_justificacion_estado = 'PENDIENTE'
                   ORDER BY a.asi_fecha ASC";
$res_pendientes = $bd->ejecutar($sql_pendientes);
?>

<div class="container-fluid px-3 py-4">
    <div class="d-flex align-items-center justify-content-between mb-4 border-bottom pb-3">
        <div>
            <h4 class="fw-bold text-dark mb-1"><i class="fas fa-folder-open text-danger me-2"></i>Justificaciones Recibidas</h4>
            <p class="text-muted small mb-0">Bandeja de entrada para revisar los motivos enviados por los representantes.</p>
        </div>
    </div>

    <?php echo $mensaje; ?>

    <div class="row g-3">
        <?php if ($res_pendientes && $res_pendientes->num_rows > 0): ?>
            <?php while ($sol = $res_pendientes->fetch_assoc()): 
                $fecha_falta = date('d/m/Y', strtotime($sol['asi_fecha']));
            ?>
                <div class="col-12 col-md-6 col-lg-4">
                    <div class="card border-0 shadow-sm rounded-4 h-100 border-top border-warning border-3">
                        <div class="card-body p-3 d-flex flex-column justify-content-between">
                            <div>
                                <div class="mb-2">
                                    <h6 class="fw-bold text-dark mb-0 text-uppercase"><?php echo $sol['bas_apellidos'] . " " . $sol['bas_nombres']; ?></h6>
                                    <small class="text-muted font-monospace">C.I: <?php echo $sol['bas_cedula']; ?></small>
                                </div>
                                
                                <div class="bg-light p-2 rounded-3 mb-3" style="font-size: 0.8rem;">
                                    <span class="text-muted d-block small">Representante:</span>
                                    <strong class="text-dark"><?php echo $sol['bas_rep_nombre']; ?></strong>
                                </div>

                                <div class="mb-3">
                                    <span class="badge bg-danger-subtle text-danger mb-2">Falta: <?php echo $fecha_falta; ?></span>
                                    <p class="text-muted small mb-1 fw-bold">Motivo del Representante:</p>
                                    <div class="p-2 border rounded-3 bg-white text-dark small font-italic" style="border-style: dashed !important; font-size: 0.8rem; background-color: #fdfdfd;">
                                        "<?php echo $sol['asi_justificacion_motivo']; ?>"
                                    </div>
                                </div>
                            </div>

                            <div class="border-top pt-3 mt-2">
                                <form action="" method="POST" class="d-flex gap-2">
                                    <input type="hidden" name="action_revisar" value="1">
                                    <input type="hidden" name="asi_id" value="<?php echo $sol['asi_id']; ?>">
                                    
                                    <button type="submit" name="nuevo_estado" value="RECHAZADO" class="btn btn-outline-secondary btn-sm rounded-pill w-50 fw-bold">
                                        Rechazar
                                    </button>
                                    <button type="submit" name="nuevo_estado" value="APROBADO" class="btn btn-danger btn-sm rounded-pill w-50 fw-bold shadow-sm">
                                        Aprobar <i class="fas fa-check ms-1"></i>
                                    </button>
                                </form>
                            </div>
                        </div>
                    </div>
                </div>
            <?php endwhile; ?>
        <?php else: ?>
            <div class="col-12">
                <div class="card border-0 shadow-sm rounded-4 text-center py-5 text-muted">
                    <div class="card-body">
                        <i class="fas fa-envelope-open fa-3x mb-3 opacity-20"></i>
                        <h5>Bandeja de Entrada Vacía</h5>
                        <p class="small mb-0">No existen solicitudes de justificación pendientes por el momento.</p>
                    </div>
                </div>
            </div>
        <?php endif; ?>
    </div>
</div>