112 lines
4.1 KiB
PHP
112 lines
4.1 KiB
PHP
<?php
|
|
require_once 'layout_header.php';
|
|
require_once 'db/config.php';
|
|
|
|
$message = '';
|
|
$error = '';
|
|
|
|
// Handle form submission for adding a new sede
|
|
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['nombre_sede'])) {
|
|
$nombre_sede = trim($_POST['nombre_sede']);
|
|
|
|
if (!empty($nombre_sede)) {
|
|
try {
|
|
$pdo = db();
|
|
// Check if sede already exists
|
|
$stmt = $pdo->prepare("SELECT COUNT(*) FROM sedes WHERE nombre = ?");
|
|
$stmt->execute([$nombre_sede]);
|
|
if ($stmt->fetchColumn() > 0) {
|
|
$error = "La sede '" . htmlspecialchars($nombre_sede) . "' ya existe.";
|
|
} else {
|
|
// Insert new sede
|
|
$stmt = $pdo->prepare("INSERT INTO sedes (nombre) VALUES (?)");
|
|
if ($stmt->execute([$nombre_sede])) {
|
|
$message = "Sede '" . htmlspecialchars($nombre_sede) . "' agregada correctamente.";
|
|
} else {
|
|
$error = "Error al agregar la sede.";
|
|
}
|
|
}
|
|
} catch (PDOException $e) {
|
|
// Do not show detailed SQL errors to the user
|
|
error_log("Database Error: " . $e->getMessage());
|
|
$error = "Error de base de datos al intentar agregar la sede.";
|
|
}
|
|
} else {
|
|
$error = "El nombre de la sede no puede estar vacío.";
|
|
}
|
|
}
|
|
|
|
// Fetch all existing sedes
|
|
$sedes = [];
|
|
try {
|
|
$pdo = db();
|
|
$stmt = $pdo->query("SELECT id, nombre FROM sedes ORDER BY nombre ASC");
|
|
$sedes = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
|
} catch (PDOException $e) {
|
|
error_log("Database Error: " . $e->getMessage());
|
|
$error .= " Error al cargar la lista de sedes.";
|
|
}
|
|
|
|
?>
|
|
|
|
<div class="container mt-4">
|
|
<div class="row">
|
|
<div class="col-lg-8 offset-lg-2">
|
|
|
|
<h2 class="mb-4 text-center">Gestionar Sedes</h2>
|
|
<p class="text-center">Aquí puedes agregar nuevas sedes para la gestión de inventario.</p>
|
|
|
|
<?php if ($message): ?>
|
|
<div class="alert alert-success"><?php echo $message; ?></div>
|
|
<?php endif; ?>
|
|
<?php if ($error): ?>
|
|
<div class="alert alert-danger"><?php echo $error; ?></div>
|
|
<?php endif; ?>
|
|
|
|
<!-- Add Sede Form -->
|
|
<div class="card mb-4 shadow-sm">
|
|
<div class="card-header">
|
|
<h5 class="mb-0">Agregar Nueva Sede</h5>
|
|
</div>
|
|
<div class="card-body">
|
|
<form action="sedes.php" method="post">
|
|
<div class="form-group">
|
|
<label for="nombre_sede">Nombre de la Sede</label>
|
|
<input type="text" class="form-control" id="nombre_sede" name="nombre_sede" placeholder="Ej: Almacén Principal" required>
|
|
</div>
|
|
<button type="submit" class="btn btn-primary mt-3">
|
|
<i class="fas fa-plus-circle"></i> Agregar Sede
|
|
</button>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- List of Sedes -->
|
|
<div class="card shadow-sm">
|
|
<div class="card-header">
|
|
<h5 class="mb-0">Sedes Existentes</h5>
|
|
</div>
|
|
<div class="card-body">
|
|
<?php if (count($sedes) > 0): ?>
|
|
<ul class="list-group">
|
|
<?php foreach ($sedes as $sede): ?>
|
|
<li class="list-group-item d-flex justify-content-between align-items-center">
|
|
<?php echo htmlspecialchars($sede['nombre']); ?>
|
|
<!-- Optional: Add delete/edit buttons here in the future -->
|
|
</li>
|
|
<?php endforeach; ?>
|
|
</ul>
|
|
<?php else: ?>
|
|
<p class="text-muted">No hay sedes registradas. ¡Agrega la primera!</p>
|
|
<?php endif; ?>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<?php
|
|
require_once 'layout_footer.php';
|
|
?>
|