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() now = datetime.now()
m1 = now.replace(day=1) - timedelta(days=1) # Прошлый месяц (M-1) m1 = now.replace(day=1) - timedelta(days=1) # Прошлый месяц (M-1)
m2 = m1.replace(day=1) - timedelta(days=1) # Позапрошлый месяц (M-2) m2 = m1.replace(day=1) - timedelta(days=1) # Позапрошлый месяц (M-2)
m3 = m2.replace(day=1) - timedelta(days=1) # За два месяца (M-3)
months_ru = { months_ru = {
1: "Январь", 2: "Февраль", 3: "Март", 4: "Апрель", 5: "Май", 6: "Июнь", 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} г." m1_str = f"{months_ru[m1.month]} {m1.year} г."
m2_str = f"{months_ru[m2.month]} {m2.year} г." m2_str = f"{months_ru[m2.month]} {m2.year} г."
m3_str = f"{months_ru[m3.month]} {m3.year} г."
menu_text = ( menu_text = (
"⏱ <b>Выберите месяц для просмотра табеля:</b>\n\n" "⏱ <b>Выберите месяц для просмотра табеля:</b>\n\n"
f"{EMOJI_DIGITS['1']}{m1_str}\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>" f"<i>{EMOJI_DIGITS['9']} — Назад\n{EMOJI_DIGITS['0']} — В главное меню</i>"
) )
@@ -403,7 +406,7 @@ async def lk_router_handler(msg: Message):
elif cmd == "9": elif cmd == "9":
set_state(user_id, "LK_MODE") set_state(user_id, "LK_MODE")
await send_dynamic_lk_main_menu(msg, user_id) 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})") log_menu_stats(user_id, "Личный кабинет", f"Просмотр табеля (вариант {cmd})")
await msg.answer(lk_tabel_loading(EMOJI_DIGITS), parse_mode="html") await msg.answer(lk_tabel_loading(EMOJI_DIGITS), parse_mode="html")
try: try:
@@ -411,10 +414,13 @@ async def lk_router_handler(msg: Message):
now = datetime.now() now = datetime.now()
m1 = now.replace(day=1) - timedelta(days=1) m1 = now.replace(day=1) - timedelta(days=1)
m2 = m1.replace(day=1) - timedelta(days=1)
if cmd == "1": if cmd == "1":
target_date = m1 # Прошлый месяц target_date = m1 # Прошлый месяц
elif cmd == "2": 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( tabel_report = await asyncio.to_thread(
get_tabel_report_text, get_tabel_report_text,
Binary file not shown.
Binary file not shown.