<?php
if (session_status() === PHP_SESSION_NONE) { session_start(); }
require_once "modelo/Db.php";
$bd = new clsbdd();

$mensaje_swal = "";

// --- PROCESO DE GUARDAR O ACTUALIZAR ---
if (isset($_POST['guardar_usuario'])) {
    $id = intval($_POST['usu_codigo']);
    $nombre  = $bd->escapar($_POST['usu_nombre']);
    $usuario = $bd->escapar($_POST['usu_usuario']); // Cambiado de 'login' a 'usuario'
    $rol     = $bd->escapar($_POST['usu_rol']);     // Cambiado de 'perfil' a 'rol'
    $clave   = $bd->escapar($_POST['usu_clave']);   // Para nuevos usuarios
    
    if ($id == 0) {
        // NUEVO USUARIO
        // Usamos los nombres de columna de tu tabla sba_usuarios
        $sql = "INSERT INTO sba_usuarios (usu_nombre, usu_usuario, usu_clave, usu_rol, usu_estado) 
                VALUES ('$nombre', '$usuario', '$clave', '$rol', 1)";
        $res = $bd->ejecutar($sql);
        $mensaje_swal = $res ? "creado" : "error";
    } else {
        // EDITAR USUARIO (Sin cambiar clave aquí para no sobreescribirla)
        $sql = "UPDATE sba_usuarios SET 
                usu_nombre='$nombre', 
                usu_usuario='$usuario', 
                usu_rol='$rol' 
                WHERE usu_codigo=$id";
        $res = $bd->ejecutar($sql);
        $mensaje_swal = $res ? "actualizado" : "error";
    }
}

// --- PROCESO DE ELIMINAR (DESACTIVAR) ---
if (isset($_GET['del'])) {
    $id_del = intval($_GET['del']);
    $bd->ejecutar("UPDATE sba_usuarios SET usu_estado = 0 WHERE usu_codigo = $id_del");
    echo "<script>location.href='index.php?page=usuarios';</script>";
}

// --- OBTENER LISTADO ACTUALIZADO ---
$usuarios = $bd->ejecutar_array("SELECT * FROM sba_usuarios WHERE usu_estado = 1 ORDER BY usu_nombre ASC") ?: [];
?>

<div class="card shadow-sm border-0">
    <div class="card-header bg-white d-flex justify-content-between align-items-center py-3">
        <h5 class="m-0 font-weight-bold text-primary"><i class="fa fa-users"></i> Listado de Personal</h5>
        <button onclick="nuevoUsuario()" class="btn btn-primary btn-sm"><i class="fa fa-plus"></i> Agregar Usuario</button>
    </div>
    
    <div id="area-form" class="card-body bg-light border-bottom" style="display:none;">
        <form method="POST">
            <input type="hidden" name="usu_codigo" id="usu_codigo" value="0">
            <div class="row">
                <div class="col-md-3">
                    <label>Nombre Real</label>
                    <input type="text" name="usu_nombre" id="usu_nombre" class="form-control" required>
                </div>
                <div class="col-md-3">
                    <label>Usuario (Login)</label>
                    <input type="text" name="usu_usuario" id="usu_usuario" class="form-control" required>
                </div>
                <div class="col-md-2" id="div_clave">
                    <label>Contraseña</label>
                    <input type="text" name="usu_clave" id="usu_clave" class="form-control" placeholder="12345">
                </div>
                <div class="col-md-2">
                    <label>Rol / Permiso</label>
                    <select name="usu_rol" id="usu_rol" class="form-control">
                        <option value="ADMIN">ADMINISTRADOR</option>
                        <option value="CAJERO">CAJERO</option>
                    </select>
                </div>
                <div class="col-md-2">
                    <label>&nbsp;</label>
                    <button type="submit" name="guardar_usuario" class="btn btn-success btn-block">Guardar</button>
                </div>
            </div>
        </form>
    </div>

    <div class="card-body p-0">
        <table class="table table-hover m-0">
            <thead class="thead-light">
                <tr>
                    <th>Nombre</th>
                    <th>Usuario</th>
                    <th>Rol</th>
                    <th class="text-center">Acciones</th>
                </tr>
            </thead>
            <tbody>
                <?php foreach($usuarios as $u): ?>
                <tr>
                    <td><?= $u['usu_nombre'] ?></td>
                    <td><code><?= $u['usu_usuario'] ?></code></td>
                    <td><span class="badge badge-info"><?= $u['usu_rol'] ?></span></td>
                    <td class="text-center">
                        <button onclick='editarUsuario(<?= json_encode($u) ?>)' class="btn btn-sm btn-warning"><i class="fa fa-edit"></i></button>
                        <a href="index.php?page=usuarios&del=<?= $u['usu_codigo'] ?>" onclick="return confirm('¿Eliminar acceso?')" class="btn btn-sm btn-danger"><i class="fa fa-trash"></i></a>
                    </td>
                </tr>
                <?php endforeach; ?>
            </tbody>
        </table>
    </div>
</div>

<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
<script>
function nuevoUsuario() {
    document.getElementById('area-form').style.display = 'block';
    document.getElementById('usu_codigo').value = '0';
    document.getElementById('usu_nombre').value = '';
    document.getElementById('usu_usuario').value = '';
    document.getElementById('div_clave').style.display = 'block';
    document.getElementById('usu_clave').required = true;
}

function editarUsuario(data) {
    document.getElementById('area-form').style.display = 'block';
    document.getElementById('usu_codigo').value = data.usu_codigo;
    document.getElementById('usu_nombre').value = data.usu_nombre;
    document.getElementById('usu_usuario').value = data.usu_usuario;
    document.getElementById('usu_rol').value = data.usu_rol;
    document.getElementById('div_clave').style.display = 'none'; // No editamos clave aquí por seguridad
    document.getElementById('usu_clave').required = false;
}

<?php if($mensaje_swal == "creado"): ?> Swal.fire('Guardado', 'Usuario creado correctamente', 'success'); <?php endif; ?>
<?php if($mensaje_swal == "actualizado"): ?> Swal.fire('Actualizado', 'Datos modificados', 'success'); <?php endif; ?>
<?php if($mensaje_swal == "error"): ?> Swal.fire('Error', 'No se pudo guardar. Revisa los nombres de las columnas.', 'error'); <?php endif; ?>
</script>