lk: add 3rd month option for timesheet view

This commit is contained in:
Денис Кривоченко
2026-07-26 17:35:37 +07:00
parent 005b728d7c
commit c6bc67a98d
5 changed files with 9 additions and 3 deletions
Binary file not shown.
Binary file not shown.
+9 -3
View File
@@ -207,6 +207,7 @@ async def send_tabel_months_menu(msg: Message, user_id: str):
now = datetime.now()
m1 = now.replace(day=1) - timedelta(days=1) # Прошлый месяц (M-1)
m2 = m1.replace(day=1) - timedelta(days=1) # Позапрошлый месяц (M-2)
m3 = m2.replace(day=1) - timedelta(days=1) # За два месяца (M-3)
months_ru = {
1: "Январь", 2: "Февраль", 3: "Март", 4: "Апрель", 5: "Май", 6: "Июнь",
@@ -215,11 +216,13 @@ async def send_tabel_months_menu(msg: Message, user_id: str):
m1_str = f"{months_ru[m1.month]} {m1.year} г."
m2_str = f"{months_ru[m2.month]} {m2.year} г."
m3_str = f"{months_ru[m3.month]} {m3.year} г."
menu_text = (
"⏱ <b>Выберите месяц для просмотра табеля:</b>\n\n"
f"{EMOJI_DIGITS['1']}{m1_str}\n"
f"{EMOJI_DIGITS['2']}{m2_str}\n\n"
f"{EMOJI_DIGITS['2']}{m2_str}\n"
f"{EMOJI_DIGITS['3']}{m3_str}\n\n"
f"<i>{EMOJI_DIGITS['9']} — Назад\n{EMOJI_DIGITS['0']} — В главное меню</i>"
)
@@ -403,7 +406,7 @@ async def lk_router_handler(msg: Message):
elif cmd == "9":
set_state(user_id, "LK_MODE")
await send_dynamic_lk_main_menu(msg, user_id)
elif cmd in ["1", "2"]:
elif cmd in ["1", "2", "3"]:
log_menu_stats(user_id, "Личный кабинет", f"Просмотр табеля (вариант {cmd})")
await msg.answer(lk_tabel_loading(EMOJI_DIGITS), parse_mode="html")
try:
@@ -411,10 +414,13 @@ async def lk_router_handler(msg: Message):
now = datetime.now()
m1 = now.replace(day=1) - timedelta(days=1)
m2 = m1.replace(day=1) - timedelta(days=1)
if cmd == "1":
target_date = m1 # Прошлый месяц
elif cmd == "2":
target_date = m1.replace(day=1) - timedelta(days=1) # Позапрошлый месяц
target_date = m2 # Позапрошлый месяц
elif cmd == "3":
target_date = m2.replace(day=1) - timedelta(days=1) # За два месяца
tabel_report = await asyncio.to_thread(
get_tabel_report_text,
Binary file not shown.
Binary file not shown.