<?php
// registrar_salida.php
require_once 'includes/header.php';

// Restringir acceso solo a roles autorizados
$allowed_roles = ['Administrador General', 'Encargado de Stock'];
if (!isset($_SESSION['user_rol']) || !in_array($_SESSION['user_rol'], $allowed_roles)) {
    $_SESSION['error'] = 'No tienes permiso para acceder a esta página.';
    header('Location: index.php');
    exit;
}


// Fetch products and cities for the dropdowns
try {
    $pdo = db();
    
    // Fetch products
    $stmt_productos = $pdo->query("SELECT id, nombre FROM productos ORDER BY nombre ASC");
    $productos = $stmt_productos->fetchAll(PDO::FETCH_ASSOC);
    
    // Fetch cities
    $stmt_ciudades = $pdo->query("SELECT id, nombre FROM ciudades ORDER BY nombre ASC");
    $ciudades = $stmt_ciudades->fetchAll(PDO::FETCH_ASSOC);
    
} catch (PDOException $e) {
    // Handle DB error
    echo '<div class="alert alert-danger" role="alert">Error al conectar con la base de datos: ' . htmlspecialchars($e->getMessage()) . '</div>';
    $productos = [];
    $ciudades = [];
}

?>

<div class="container mt-5">
    <h1>Registrar Salida de Producto</h1>
    <p>Selecciona el producto, la ciudad y la cantidad que deseas dar de baja del inventario.</p>

    <?php 
    if (isset($_SESSION['error'])):
    ?>
        <div class="alert alert-danger" role="alert">
            <?php 
            echo htmlspecialchars($_SESSION['error']); 
            unset($_SESSION['error']);
            ?>
        </div>
    <?php 
    endif; 
    ?>
    <?php 
    if (isset($_SESSION['success'])):
    ?>
        <div class="alert alert-success" role="alert">
            <?php 
            echo htmlspecialchars($_SESSION['success']);
            unset($_SESSION['success']);
            ?>
        </div>
    <?php 
    endif; 
    ?>

    <form action="handle_salida.php" method="POST" class="mt-4">
        
        <div class="mb-3">
            <label for="producto_id" class="form-label">Producto</label>
            <select class="form-select" id="producto_id" name="producto_id" required>
                <option value="">Selecciona un producto</option>
                <?php foreach ($productos as $producto): ?>
                    <option value="<?php echo htmlspecialchars($producto['id']); ?>">
                        <?php echo htmlspecialchars($producto['nombre']); ?>
                    </option>
                <?php endforeach; ?>
            </select>
        </div>

        <div class="mb-3">
            <label for="ciudad_id" class="form-label">Ciudad</label>
            <select class="form-select" id="ciudad_id" name="ciudad_id" required>
                <option value="">Selecciona una ciudad</option>
                <?php foreach ($ciudades as $ciudad): ?>
                    <option value="<?php echo htmlspecialchars($ciudad['id']); ?>">
                        <?php echo htmlspecialchars($ciudad['nombre']); ?>
                    </option>
                <?php endforeach; ?>
            </select>
        </div>

        <div class="mb-3">
            <label for="cantidad" class="form-label">Cantidad</label>
            <input type="number" class="form-control" id="cantidad" name="cantidad" min="1" required>
        </div>
        
        <div class="mb-3">
            <label for="fecha" class="form-label">Fecha de Salida</label>
            <input type="date" class="form-control" id="fecha" name="fecha" required>
        </div>
        
        <div class="mb-3">
            <label for="descripcion" class="form-label">Descripción (Opcional)</label>
            <textarea class="form-control" id="descripcion" name="descripcion" rows="3" placeholder="Ej: Venta a cliente, traslado a otra tienda, etc."></textarea>
        </div>

        <button type="submit" class="btn btn-primary">Registrar Salida</button>
        <a href="productos.php" class="btn btn-secondary">Cancelar</a>
    </form>
</div>

<?php
require_once 'includes/footer.php';
?>