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(