Acceso denegado."; require_once 'layout_footer.php'; exit(); } $conn = db(); // --- Procesamiento de Formularios --- // Guardar visibilidad de columnas del Kanban if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['save_visibility'])) { $visible_columns = $_POST['visible_columns'] ?? []; $json_visible_columns = json_encode($visible_columns); $stmt = $conn->prepare("INSERT INTO configuracion (clave, valor) VALUES ('kanban_visible_columns', :valor) ON DUPLICATE KEY UPDATE valor = :valor"); $stmt->bindParam(':valor', $json_visible_columns); if ($stmt->execute()) { $_SESSION['success_message'] = 'Visibilidad de columnas actualizada.'; } else { $_SESSION['error_message'] = 'Error al actualizar la visibilidad.'; } header("Location: configuracion.php"); exit(); } // --- Carga de Datos para la Vista --- // Datos para la gestión de columnas $stmt_manage_columns = $conn->query("SELECT * FROM kanban_columns ORDER BY orden ASC"); $management_columns = $stmt_manage_columns->fetchAll(PDO::FETCH_ASSOC); // Datos para la visibilidad de columnas $stmt_visible = $conn->prepare("SELECT valor FROM configuracion WHERE clave = 'kanban_visible_columns'"); $stmt_visible->execute(); $config_row = $stmt_visible->fetch(PDO::FETCH_ASSOC); $visible_columns = $config_row ? json_decode($config_row['valor'], true) : []; $stmt_all_db_columns = $conn->query("SELECT nombre FROM kanban_columns ORDER BY orden ASC"); $available_columns_for_visibility = $stmt_all_db_columns->fetchAll(PDO::FETCH_COLUMN); // --- Datos para la GESTIÓN DE CONTENIDO DEL KANBAN --- $products = $conn->query("SELECT id, nombre FROM products ORDER BY nombre ASC")->fetchAll(PDO::FETCH_ASSOC); $kanban_columns_for_cards = $conn->query("SELECT id, nombre FROM kanban_columns ORDER BY orden, id")->fetchAll(PDO::FETCH_ASSOC); $info_cards = $conn->query(" SELECT ip.*, p.nombre as producto_nombre, kc.nombre as column_nombre FROM info_productos ip LEFT JOIN products p ON ip.producto_id = p.id LEFT JOIN kanban_columns kc ON ip.column_id = kc.id ORDER BY ip.orden, ip.id DESC ")->fetchAll(PDO::FETCH_ASSOC); // Mostrar mensajes de éxito o error if (isset($_SESSION['success_message'])) { echo "
".$_SESSION['success_message']."
"; unset($_SESSION['success_message']); } if (isset($_SESSION['error_message'])) { echo "
".$_SESSION['error_message']."
"; unset($_SESSION['error_message']); } ?>

Gestionar Contenido del Kanban

Aquí puedes crear, editar y eliminar las tarjetas de información que aparecen en el tablero Kanban.

Añadir Nueva Tarjeta
Sube una imagen para añadir o reemplazar la actual.
Tarjetas Existentes
Producto Imagen Texto Columna Acciones
No hay tarjetas creadas.
Imagen Eliminar
Texto del Banner Principal

Edita el texto que aparece en el banner de la página principal.

Mensaje para Ruta Contraentrega

Edita la plantilla para el mensaje de WhatsApp que se envía desde la sección de "Ruta Contraentrega".
Puedes usar las siguientes variables:

  • {cliente}: Nombre del cliente.
  • {monto}: Monto a pagar (incluye el símbolo "S/").
  • {direccion}: Dirección de entrega.

Gestionar Columnas del Kanban

Añadir Nueva Columna
Columnas Actuales
Orden Nombre Acciones
No hay columnas definidas.
Editar Eliminar

Configurar Visibilidad de Columnas en Kanban

Selecciona las columnas que quieres que sean visibles en el tablero Kanban principal.

>