65 lines
2.5 KiB
PHP
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'; ?>
|