diff --git a/instruct/handlers.py b/instruct/handlers.py index 6219d3a..4971fbf 100644 --- a/instruct/handlers.py +++ b/instruct/handlers.py @@ -205,7 +205,6 @@ async def _find_existing_trueconf_ticket(requester_email: str) -> str | None: async def create_sd_ticket_for_trueconf(user_id: str, cn: str) -> str | None: """ Создать заявку в Service Desk для запроса доступа к Trueconf. - Если уже есть открытая заявка — возвращает её ID. """ subject = "Запрос доступа к Trueconf" @@ -214,12 +213,6 @@ async def create_sd_ticket_for_trueconf(user_id: str, cn: str) -> str | None: requester_email = ad_info.get("mail") or DEFAULT_REQUESTER city = ad_info.get("city", "Кемерово") if ad_info else "Кемерово" - # Сначала ищем существующую открытую заявку - existing_ticket = await _find_existing_trueconf_ticket(requester_email) - if existing_ticket: - logger.info(f"Returning existing ticket #{existing_ticket} for {cn}") - return existing_ticket - description = ( f"Пользователь {cn} ({user_id}) запросил инструкцию по Trueconf, " f"но не имеет группы 2FA. Требуется выдача доступа." @@ -300,11 +293,13 @@ async def instruct_router_handler(msg: Message): await msg.answer(text, parse_mode="html") else: # Нет доступа — проверяем, есть ли уже открытая заявка - ticket_id = await create_sd_ticket_for_trueconf(user_id, cn) - if ticket_id: + ad_info = get_ad_user_info(user_id) + requester_email = ad_info.get("mail") or DEFAULT_REQUESTER + existing_ticket = await _find_existing_trueconf_ticket(requester_email) + if existing_ticket: # Заявка уже существует — показываем информацию set_state(user_id, "INSTRUCT_TRUECONF_VIEW") - text = INSTRUCT_TRUECONF_WITH_AD(EMOJI_DIGITS, cn, ticket_id) + text = INSTRUCT_TRUECONF_WITH_AD(EMOJI_DIGITS, cn, existing_ticket) await msg.answer(text, parse_mode="html") else: # Заявки нет — показываем промпт с запросом