diff --git a/instruct/handlers.py b/instruct/handlers.py index a2a1b1f..736dc9b 100644 --- a/instruct/handlers.py +++ b/instruct/handlers.py @@ -19,7 +19,7 @@ from utils.states import get_state, set_state, clear_state from utils.stats_logger import log_menu_stats # 🔌 Импортируем рабочую функцию создания заявки из SD модуля -from service_desk.handlers import create_ticket_in_sd +from service_desk.handlers import create_ticket_in_sd, get_ad_user_sync from config.config import DEFAULT_REQUESTER logger = logging.getLogger(__name__) @@ -111,7 +111,10 @@ async def instruct_router_handler(msg: Message): if not result.get("in_group", True): subject = f"Запрос доступа к Trueconf" description = f"Пользователь {cn} ({user_id}) запросил инструкцию по Trueconf, но не имеет группы 2FA. Требуется выдача доступа." - ticket_id = await create_ticket_in_sd(DEFAULT_REQUESTER, subject, description, "Кемерово") + # Ищем email пользователя в AD, как в service_desk + ad_user = await asyncio.to_thread(get_ad_user_sync, login) + requester_email = ad_user.get("mail") if ad_user and ad_user.get("mail") else DEFAULT_REQUESTER + ticket_id = await create_ticket_in_sd(requester_email, subject, description, "Кемерово") logger.info(f"SD ticket created for {cn}: #{ticket_id}") except Exception as e: logger.error(f"Ошибка создания SD заявки: {e}", exc_info=True)