feat: add Trueconf access request flow with intermediate prompt and existing ticket check

This commit is contained in:
Денис Кривоченко
2026-07-27 23:42:14 +07:00
parent 354c6b0a51
commit 9b65ec1e7e
2 changed files with 70 additions and 27 deletions
+20 -5
View File
@@ -606,6 +606,25 @@ def _instruct_trueconf(emojis: dict) -> str:
)
def _instruct_trueconf_pending(emojis: dict, cn: str) -> str:
"""Промпт для запроса доступа к Trueconf (когда нет заявки)."""
return (
f"ℹ У вас отсутствует доступ к TrueConf с мобильных устройств.\n\n"
f"Если Вам требуется доступ, то напишите цифру {emojis['1']}, либо выберите другие пункты меню.\n\n"
f"{emojis['1']} — Запросить доступ\n"
f"<i>{emojis['9']} — Назад\n{emojis['0']} — В главное меню</i>"
)
def _instruct_trueconf_no_ticket(emojis: dict, cn: str) -> str:
"""Текст Trueconf когда пользователь не найден в AD."""
return (
f"🖥 <b>Инструкция по Trueconf</b>\n\n"
f"Пользователь {cn} не найден в Active Directory.\n\n"
f"<i>{emojis['9']} — Назад\n{emojis['0']} — В главное меню</i>"
)
def _instruct_trueconf_with_ad(emojis: dict, cn: str, ticket_id: str = None) -> str:
"""
Текст Trueconf с проверкой группы 2FA.
@@ -618,11 +637,7 @@ def _instruct_trueconf_with_ad(emojis: dict, cn: str, ticket_id: str = None) ->
if not result["found"]:
ticket_part = f"\n\n🎫 <b>Заявка #{ticket_id} создана!</b>" if ticket_id else ""
return (
f"🖥 <b>Инструкция по Trueconf</b>\n\n"
f"Пользователь {cn} не найден в Active Directory.{ticket_part}\n\n"
f"<i>{emojis['9']} — Назад\n{emojis['0']} — В главное меню</i>"
)
return _instruct_trueconf_no_ticket(emojis, cn)
if result["in_group"]:
body = (