diff --git a/modules/turnero/views/chat.php b/modules/turnero/views/chat.php index ffb80d9..92c7eb9 100644 --- a/modules/turnero/views/chat.php +++ b/modules/turnero/views/chat.php @@ -10,19 +10,29 @@ if (!isUserLoggedIn()) { header('Location: ' . BASE_URL . 'login.php'); exit; } $turneroPhoneId = getConfigFromDB('whatsapp_phone_number_id_turnero', ''); -// URL de regreso: recepcionista con IP registrada → su desk; resto → dashboard +// URL de regreso: recepcionista → su desk por IP o primer desk; resto → dashboard $_chatBackUrl = BASE_URL . 'erp.php?m=turnero&v=dashboard'; if (($_SESSION['admin_user']['role'] ?? '') === 'recepcionista') { try { $pdo = Database::getInstance()->getConnection(); $chatIp = trim(explode(',', $_SERVER['HTTP_X_FORWARDED_FOR'] ?? $_SERVER['HTTP_X_REAL_IP'] ?? $_SERVER['REMOTE_ADDR'] ?? '')[0]); - $st = $pdo->prepare( + + // 1. Buscar desk por IP + $st = $pdo->prepare( "SELECT d.lugar_id FROM turnero_dispositivos d JOIN turnero_lugares l ON l.id = d.lugar_id WHERE d.ip = ? AND d.activo = 1 AND l.tipo = 'recepcion' LIMIT 1" ); $st->execute([$chatIp]); $lugId = $st->fetchColumn(); + + // 2. Fallback: primer desk de recepción activo + if (!$lugId) { + $lugId = $pdo->query( + "SELECT id FROM turnero_lugares WHERE activo=1 AND tipo='recepcion' ORDER BY sort_order LIMIT 1" + )->fetchColumn(); + } + if ($lugId) { $_chatBackUrl = BASE_URL . 'erp.php?m=turnero&v=recepcion&desk_id=' . (int)$lugId; }