34849-vm/add_column.php
2026-02-05 05:37:35 +00:00

65 lines
2.5 KiB
PHP

<?php
$pageTitle = "Añadir Nueva Columna al Kanban";
require_once 'layout_header.php';
require_once 'db/config.php';
// Asegurarse de que el usuario sea administrador
if ($_SESSION['user_role'] !== 'Administrador' && $_SESSION['user_role'] !== 'admin') {
echo "<div class='alert alert-danger'>Acceso denegado.</div>";
require_once 'layout_footer.php';
exit();
}
$message = '';
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$nombre = trim($_POST['nombre'] ?? '');
if (!empty($nombre)) {
try {
$pdo = db();
// Find the current max order value
$stmt_max_order = $pdo->query('SELECT MAX(orden) AS max_orden FROM kanban_columns');
$max_orden = $stmt_max_order->fetchColumn();
$new_orden = ($max_orden === null) ? 0 : $max_orden + 1;
$stmt = $pdo->prepare('INSERT INTO kanban_columns (nombre, orden) VALUES (?, ?)');
if ($stmt->execute([$nombre, $new_orden])) {
// Usar una variable de sesión para mostrar el mensaje en la página de configuración
$_SESSION['success_message'] = "Columna '" . htmlspecialchars($nombre) . "' añadida correctamente.";
header('Location: configuracion.php');
exit;
} else {
$message = "<div class='alert alert-danger'>Error al añadir la columna.</div>";
}
} catch (PDOException $e) {
$message = "<div class='alert alert-danger'>Error de base de datos: " . $e->getMessage() . "</div>";
}
} else {
$message = "<div class='alert alert-warning'>El nombre de la columna no puede estar vacío.</div>";
}
}
?>
<div class="container mt-5">
<div class="card">
<div class="card-header">
<h2>Añadir Nueva Columna al Kanban</h2>
</div>
<div class="card-body">
<?php echo $message; ?>
<form method="POST" action="add_column.php">
<div class="mb-3">
<label for="nombre" class="form-label">Nombre de la Nueva Columna</label>
<input type="text" class="form-control" id="nombre" name="nombre" required>
</div>
<button type="submit" class="btn btn-primary">Guardar Columna</button>
<a href="configuracion.php" class="btn btn-secondary">Cancelar</a>
</form>
</div>
</div>
</div>
<?php require_once 'layout_footer.php'; ?>