diff --git a/instruct/handlers.py b/instruct/handlers.py
index 772c7ff..2041e62 100644
--- a/instruct/handlers.py
+++ b/instruct/handlers.py
@@ -18,7 +18,8 @@ from utils.texts import (
INSTRUCT_TRUECONF_TEXT,
INSTRUCT_TRUECONF_WITH_AD,
INSTRUCT_TRUECONF_PENDING_TEXT,
- INSTRUCT_EMAIL_TEXT,
+ INSTRUCT_EMAIL_AVAILABLE,
+ INSTRUCT_EMAIL_UNAVAILABLE,
INSTRUCT_ERROR_MSG,
)
from utils.states import get_state, set_state, clear_state
@@ -427,8 +428,16 @@ async def instruct_router_handler(msg: Message):
await msg.answer(text, parse_mode="html")
elif cmd == "2":
log_menu_stats(user_id, "Инструкции", "Почта")
- set_state(user_id, "INSTRUCT_EMAIL_VIEW")
- await msg.answer(INSTRUCT_EMAIL_TEXT, parse_mode="html")
+ cn = get_user_cn(user_id)
+ if cn is None:
+ cn = user_id
+ ad_info = get_ad_user_info(user_id)
+ mail = ad_info.get("mail") if ad_info else None
+ if mail:
+ text = INSTRUCT_EMAIL_AVAILABLE(EMOJI_DIGITS, cn, mail)
+ else:
+ text = INSTRUCT_EMAIL_UNAVAILABLE(EMOJI_DIGITS, cn)
+ await msg.answer(text, parse_mode="html")
else:
await msg.answer(UNKNOWN_MAIN_CMD_TEXT, parse_mode="html")
diff --git a/utils/texts.py b/utils/texts.py
index cef25de..ed2dca8 100644
--- a/utils/texts.py
+++ b/utils/texts.py
@@ -624,7 +624,23 @@ def _instruct_trueconf_with_ad(emojis: dict, cn: str, ticket_id: str = None) ->
f"{emojis['9']} — Назад\n{emojis['0']} — В главное меню"
)
-def _instruct_email(emojis: dict) -> str:
+
+def _instruct_email_available(emojis: dict, cn: str, mail: str) -> str:
+ """Текст когда почта доступна."""
+ return (
+ f"📧 Почта доступна, {cn}\n\n"
+ f"Ваш email в Active Directory: {mail}\n\n"
+ f"{emojis['9']} — Назад\n{emojis['0']} — В главное меню"
+ )
+
+def _instruct_email_unavailable(emojis: dict, cn: str) -> str:
+ """Текст когда почта недоступна."""
+ return (
+ f"⚠️ Почта недоступна, {cn}\n\n"
+ "У вас нет почтового адреса в Active Directory.\n\n"
+ f"{emojis['9']} — Назад\n{emojis['0']} — В главное меню"
+ )
+
return (
"📧 Инструкция по почте на мобильном устройстве\n\n"
"Данная функция находится в разработке.\n\n"
@@ -638,7 +654,8 @@ INSTRUCT_TRUECONF_TEXT = _instruct_trueconf(EMOJI_DIGITS)
INSTRUCT_TRUECONF_WITH_AD = _instruct_trueconf_with_ad
INSTRUCT_TRUECONF_PENDING_TEXT = _instruct_trueconf_pending
INSTRUCT_TRUECONF_NO_TICKET_TEXT = _instruct_trueconf_no_ticket
-INSTRUCT_EMAIL_TEXT = _instruct_email(EMOJI_DIGITS)
+INSTRUCT_EMAIL_AVAILABLE = _instruct_email_available
+INSTRUCT_EMAIL_UNAVAILABLE = _instruct_email_unavailable
# Единая стандартная заглушка системной ошибки для модуля инструкций
INSTRUCT_ERROR_MSG = system_error_text(EMOJI_DIGITS, show_back=True)
\ No newline at end of file