From 94bd664be8785f54fafc6ac6cf88d8a19954cca9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=B5=D0=BD=D0=B8=D1=81=20=D0=9A=D1=80=D0=B8=D0=B2?= =?UTF-8?q?=D0=BE=D1=87=D0=B5=D0=BD=D0=BA=D0=BE?= Date: Sun, 26 Jul 2026 17:41:55 +0700 Subject: [PATCH] lk: add current month as option 1 for timesheet --- lk/handlers.py | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/lk/handlers.py b/lk/handlers.py index 8bbdc31..922f2ef 100644 --- a/lk/handlers.py +++ b/lk/handlers.py @@ -205,6 +205,7 @@ async def send_dynamic_lk_main_menu(msg: Message, user_id: str): async def send_tabel_months_menu(msg: Message, user_id: str): now = datetime.now() + m0 = 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) @@ -214,15 +215,17 @@ async def send_tabel_months_menu(msg: Message, user_id: str): 7: "Июль", 8: "Август", 9: "Сентябрь", 10: "Октябрь", 11: "Ноябрь", 12: "Декабрь" } + m0_str = f"{months_ru[m0.month]} {m0.year} г." 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 = ( "⏱ Выберите месяц для просмотра табеля:\n\n" - f"{EMOJI_DIGITS['1']} — {m1_str}\n" - f"{EMOJI_DIGITS['2']} — {m2_str}\n" - f"{EMOJI_DIGITS['3']} — {m3_str}\n\n" + f"{EMOJI_DIGITS['1']} — {m0_str}\n" + f"{EMOJI_DIGITS['2']} — {m1_str}\n" + f"{EMOJI_DIGITS['3']} — {m2_str}\n" + f"{EMOJI_DIGITS['4']} — {m3_str}\n\n" f"{EMOJI_DIGITS['9']} — Назад\n{EMOJI_DIGITS['0']} — В главное меню" ) @@ -406,20 +409,23 @@ 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", "3"]: + elif cmd in ["1", "2", "3", "4"]: log_menu_stats(user_id, "Личный кабинет", f"Просмотр табеля (вариант {cmd})") await msg.answer(lk_tabel_loading(EMOJI_DIGITS), parse_mode="html") try: card_id = await asyncio.to_thread(get_card_id_from_ad, user_id) now = datetime.now() + m0 = now m1 = now.replace(day=1) - timedelta(days=1) m2 = m1.replace(day=1) - timedelta(days=1) if cmd == "1": - target_date = m1 # Прошлый месяц + target_date = m0 # Текущий месяц elif cmd == "2": - target_date = m2 # Позапрошлый месяц + target_date = m1 # Прошлый месяц elif cmd == "3": + target_date = m2 # Позапрошлый месяц + elif cmd == "4": target_date = m2.replace(day=1) - timedelta(days=1) # За два месяца tabel_report = await asyncio.to_thread(