turnero: auto-redirigir a desk/lugar asignado sin mostrar selector

- authenticateUser incluye turnero_lugar_id en la sesión
- login.php redirige con desk_id/lugar_id si el usuario tiene lugar fijo (sin necesitar IP)
- recepcion.php redirige con desk_id si la sesión tiene turnero_lugar_id, evitando el modal de selección

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Lizandro Guarnizo
2026-07-09 10:17:48 -05:00
co-authored by Claude Sonnet 4.6
parent f4da864db7
commit 003d16b6a2
3 changed files with 29 additions and 0 deletions
+16
View File
@@ -70,6 +70,22 @@ if ($_POST && !$loginBlocked) {
exit;
}
}
// Usuario con lugar fijo asignado (sin IP registrada)
$_userLugarId = (int)($adminUser['turnero_lugar_id'] ?? 0);
if ($_userLugarId && in_array('turnero', $modules, true)) {
// Determinar si ese lugar es recepción o toma de muestras
try {
$_lugarTipo = Database::getInstance()->getConnection()
->prepare("SELECT tipo FROM turnero_lugares WHERE id = ? LIMIT 1");
$_lugarTipo->execute([$_userLugarId]);
$_tipo = $_lugarTipo->fetchColumn() ?: 'muestras';
} catch (\Throwable $_) { $_tipo = 'muestras'; }
$url = $_tipo === 'recepcion'
? BASE_URL . 'erp.php?m=turnero&v=recepcion&desk_id=' . $_userLugarId
: BASE_URL . 'erp.php?m=turnero&v=lugar&lugar_id=' . $_userLugarId;
header('Location: ' . $url); exit;
}
if ($roleSlug === 'enfermero') {
header('Location: enfermero_portal.php');
} elseif (in_array('turnero', $modules, true)) {