<?php
require_once '../../config/config.php';
require_once '../../config/database.php';
require_once '../../controllers/InventarioController.php';
require_once '../../includes/functions.php';

// Seguridad: Solo el Administrador (Jorge)
if (!isset($_SESSION['usuario_rol']) || $_SESSION['usuario_rol'] != ROL_ADMIN) {
    header("Location: ../../index.php");
    exit();
}

$id_equipo = $_GET['id'] ?? null;
if (!$id_equipo) {
    header("Location: index.php");
    exit();
}

$mensaje = "";
$inventarioCtrl = new InventarioController($pdo);

// 1. Obtener datos actuales del equipo para rellenar el formulario
$stmt = $pdo->prepare("SELECT * FROM inventario WHERE id = ?");
$stmt->execute([$id_equipo]);
$equipo = $stmt->fetch();

if (!$equipo) {
    die("Equipo no encontrado.");
}

// 2. Procesar la actualización si se envía el formulario
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    // Lógica rápida de actualización (puedes mover esto al controlador después)
    $foto_final = $equipo['foto']; // Mantener la actual por defecto
    
    if (!empty($_FILES['foto']['name'])) {
        $nombre_foto = time() . "_" . $_FILES['foto']['name'];
        $ruta_destino = "../../assets/uploads/equipos/" . $nombre_foto;
        if (move_uploaded_file($_FILES['foto']['tmp_name'], $ruta_destino)) {
            $foto_final = $nombre_foto;
        }
    }

    $sql = "UPDATE inventario SET 
            id_categoria = ?, descripcion = ?, marca = ?, 
            modelo = ?, serie = ?, estado = ?, foto = ?, id_encargado_actual = ? 
            WHERE id = ?";
    
    $stmt_upd = $pdo->prepare($sql);
    $resultado = $stmt_upd->execute([
        $_POST['categoria'], $_POST['descripcion'], $_POST['marca'],
        $_POST['modelo'], $_POST['serie'], $_POST['estado'], 
        $foto_final, $_POST['encargado'], $id_equipo
    ]);

    if ($resultado) {
        // Registrar en el historial si el encargado cambió
        if ($_POST['encargado'] != $equipo['id_encargado_actual']) {
            $stmt_hist = $pdo->prepare("INSERT INTO historial_posesion (id_equipo, id_usuario, observaciones) VALUES (?, ?, ?)");
            $stmt_hist->execute([$id_equipo, $_POST['encargado'], "Cambio de asignación vía edición"]);
        }
        header("Location: detalle.php?id=$id_equipo&msg=actualizado");
        exit();
    } else {
        $mensaje = mostrarAlerta("Error al actualizar el registro", "error");
    }
}

$categorias = $pdo->query("SELECT * FROM categorias")->fetchAll();
$usuarios = $pdo->query("SELECT id, nombre FROM usuarios")->fetchAll();

include '../layout/header.php';
?>

<div class="max-w-4xl mx-auto">
    <div class="flex items-center mb-6 text-slate-800">
        <a href="detalle.php?id=<?php echo $id_equipo; ?>" class="text-blue-600 hover:underline mr-4"><i class="fas fa-arrow-left"></i> Volver</a>
        <h2 class="text-2xl font-bold">Editar Activo: <?php echo $equipo['marca'] . " " . $equipo['modelo']; ?></h2>
    </div>

    <?php echo $mensaje; ?>

    <form action="editar.php?id=<?php echo $id_equipo; ?>" method="POST" enctype="multipart/form-data" class="bg-white shadow-lg rounded-xl p-8">
        <div class="grid grid-cols-1 md:grid-cols-2 gap-6">
            
            <div>
                <label class="block text-gray-700 text-sm font-bold mb-2">Categoría</label>
                <select name="categoria" class="w-full p-2 border rounded-lg">
                    <?php foreach($categorias as $cat): ?>
                        <option value="<?php echo $cat['id']; ?>" <?php echo ($cat['id'] == $equipo['id_categoria']) ? 'selected' : ''; ?>>
                            <?php echo $cat['nombre']; ?>
                        </option>
                    <?php endforeach; ?>
                </select>
            </div>

            <div>
                <label class="block text-gray-700 text-sm font-bold mb-2">Marca</label>
                <input type="text" name="marca" value="<?php echo $equipo['marca']; ?>" class="w-full p-2 border rounded-lg">
            </div>

            <div>
                <label class="block text-gray-700 text-sm font-bold mb-2">Modelo</label>
                <input type="text" name="modelo" value="<?php echo $equipo['modelo']; ?>" class="w-full p-2 border rounded-lg">
            </div>

            <div>
                <label class="block text-gray-700 text-sm font-bold mb-2">Número de Serie</label>
                <input type="text" name="serie" value="<?php echo $equipo['serie']; ?>" class="w-full p-2 border rounded-lg">
            </div>

            <div>
                <label class="block text-gray-700 text-sm font-bold mb-2">Estado</label>
                <select name="estado" class="w-full p-2 border rounded-lg">
                    <option value="Operativo" <?php echo ($equipo['estado'] == 'Operativo') ? 'selected' : ''; ?>>Operativo</option>
                    <option value="En Mantenimiento" <?php echo ($equipo['estado'] == 'En Mantenimiento') ? 'selected' : ''; ?>>En Mantenimiento</option>
                    <option value="Almacenado" <?php echo ($equipo['estado'] == 'Almacenado') ? 'selected' : ''; ?>>Almacenado</option>
                    <option value="Baja" <?php echo ($equipo['estado'] == 'Baja') ? 'selected' : ''; ?>>Baja</option>
                </select>
            </div>

            <div>
                <label class="block text-gray-700 text-sm font-bold mb-2">Encargado</label>
                <select name="encargado" class="w-full p-2 border rounded-lg">
                    <?php foreach($usuarios as $u): ?>
                        <option value="<?php echo $u['id']; ?>" <?php echo ($u['id'] == $equipo['id_encargado_actual']) ? 'selected' : ''; ?>>
                            <?php echo $u['nombre']; ?>
                        </option>
                    <?php endforeach; ?>
                </select>
            </div>

            <div class="md:col-span-2">
                <label class="block text-gray-700 text-sm font-bold mb-2">Descripción</label>
                <textarea name="descripcion" rows="3" class="w-full p-2 border rounded-lg"><?php echo $equipo['descripcion']; ?></textarea>
            </div>

            <div class="md:col-span-2">
                <label class="block text-gray-700 text-sm font-bold mb-2">Cambiar Foto (Opcional)</label>
                <input type="file" name="foto" class="w-full p-2 border rounded-lg bg-gray-50">
                <p class="text-xs text-gray-400 mt-1">Si no seleccionas un archivo, se mantendrá la foto actual.</p>
            </div>
        </div>

        <div class="mt-8 flex justify-end">
            <button type="submit" class="bg-blue-600 text-white px-8 py-3 rounded-lg font-bold hover:bg-blue-700 transition">
                Actualizar Datos
            </button>
        </div>
    </form>
</div>

<?php include '../layout/footer.php'; ?>