45 lines
1.5 KiB
PHP
45 lines
1.5 KiB
PHP
<?php
|
|
session_start();
|
|
require_once 'db/config.php';
|
|
|
|
// Asegurarse de que el usuario sea administrador
|
|
if ($_SESSION['user_role'] !== 'Administrador' && $_SESSION['user_role'] !== 'admin') {
|
|
$_SESSION['error_message'] = "Acceso denegado.";
|
|
header('Location: configuracion.php');
|
|
exit();
|
|
}
|
|
|
|
if (isset($_GET['id']) && is_numeric($_GET['id'])) {
|
|
$id = $_GET['id'];
|
|
|
|
try {
|
|
$pdo = db();
|
|
|
|
// Opcional: Obtener el nombre de la columna antes de eliminarla para el mensaje
|
|
$stmt_name = $pdo->prepare("SELECT nombre FROM kanban_columns WHERE id = ?");
|
|
$stmt_name->execute([$id]);
|
|
$column_name = $stmt_name->fetchColumn();
|
|
|
|
// Primero, actualiza info_productos para desasociar las tarjetas de la columna
|
|
$stmt_update = $pdo->prepare('UPDATE info_productos SET column_id = NULL WHERE column_id = ?');
|
|
$stmt_update->execute([$id]);
|
|
|
|
// Luego, elimina la columna
|
|
$stmt_delete = $pdo->prepare('DELETE FROM kanban_columns WHERE id = ?');
|
|
|
|
if ($stmt_delete->execute([$id])) {
|
|
$_SESSION['success_message'] = "Columna '" . htmlspecialchars($column_name) . "' eliminada correctamente.";
|
|
} else {
|
|
$_SESSION['error_message'] = "Error al eliminar la columna.";
|
|
}
|
|
|
|
} catch (PDOException $e) {
|
|
$_SESSION['error_message'] = "Error de base de datos: " . $e->getMessage();
|
|
}
|
|
} else {
|
|
$_SESSION['error_message'] = "ID de columna no válido.";
|
|
}
|
|
|
|
header('Location: configuracion.php');
|
|
exit;
|
|
?>
|