34786-vm/editar_colaborador.php
2025-12-12 16:33:10 +00:00

95 lines
3.6 KiB
PHP

<?php
session_start();
if (!isset($_SESSION["user_id"])) {
header("Location: auth/login.php");
exit();
}
if (!isset($_SESSION['user_rol']) || $_SESSION['user_rol'] !== 'Administrador General') {
$_SESSION['error_message'] = 'No tienes permiso para acceder a esta página.';
header('Location: colaboradores.php');
exit();
}
require_once 'db/config.php';
require_once 'includes/header.php';
// Check for user ID
if (!isset($_GET['id']) || !is_numeric($_GET['id'])) {
$_SESSION['error_message'] = "ID de colaborador no válido.";
header("Location: colaboradores.php");
exit();
}
$user_id = $_GET['id'];
try {
$pdo = db();
$stmt = $pdo->prepare("SELECT id, nombre, email, rol FROM usuarios WHERE id = :id");
$stmt->execute([':id' => $user_id]);
$usuario = $stmt->fetch(PDO::FETCH_ASSOC);
if (!$usuario) {
$_SESSION['error_message'] = "Colaborador no encontrado.";
header("Location: colaboradores.php");
exit();
}
} catch (PDOException $e) {
error_log("Error al buscar colaborador: " . $e->getMessage());
$_SESSION['error_message'] = "Error al conectar con la base de datos.";
header("Location: colaboradores.php");
exit();
}
$roles = ['Administrador General', 'Encargado de Stock'];
?>
<div class="container-fluid">
<div class="d-sm-flex justify-content-between align-items-center mb-4">
<h3 class="text-dark mb-0">Editar Colaborador</h3>
</div>
<div class="card shadow">
<div class="card-header py-3">
<p class="text-primary m-0 fw-bold">Datos del Colaborador</p>
</div>
<div class="card-body">
<form action="handle_editar_colaborador.php" method="post">
<input type="hidden" name="id" value="<?php echo htmlspecialchars($usuario['id']); ?>">
<div class="mb-3">
<label for="nombre" class="form-label">Nombre Completo</label>
<input type="text" class="form-control" id="nombre" name="nombre" value="<?php echo htmlspecialchars($usuario['nombre']); ?>" required>
</div>
<div class="mb-3">
<label for="email" class="form-label">Correo Electrónico</label>
<input type="email" class="form-control" id="email" name="email" value="<?php echo htmlspecialchars($usuario['email']); ?>" required>
</div>
<div class="mb-3">
<label for="password" class="form-label">Nueva Contraseña (opcional)</label>
<input type="password" class="form-control" id="password" name="password">
<small class="form-text text-muted">Deja este campo en blanco para no cambiar la contraseña.</small>
</div>
<div class="mb-3">
<label for="rol" class="form-label">Rol</label>
<select class="form-control" id="rol" name="rol" required>
<option value="" disabled>Selecciona un rol</option>
<?php foreach ($roles as $rol): ?>
<option value="<?php echo $rol; ?>" <?php echo ($usuario['rol'] == $rol) ? 'selected' : ''; ?>><?php echo $rol; ?></option>
<?php endforeach; ?>
</select>
</div>
<button type="submit" class="btn btn-primary">Actualizar Colaborador</button>
<a href="colaboradores.php" class="btn btn-secondary">Cancelar</a>
</form>
</div>
</div>
</div>
<?php require_once 'includes/footer.php'; ?>