diff --git a/handlers/keys/key_renew.py b/handlers/keys/key_renew.py index 6f6dd124..f0fb97db 100644 --- a/handlers/keys/key_renew.py +++ b/handlers/keys/key_renew.py @@ -46,7 +46,7 @@ moscow_tz = pytz.timezone("Europe/Moscow") @router.callback_query(F.data.startswith("renew_key|")) -async def process_callback_renew_key(callback_query: CallbackQuery, state: FSMContext, session: AsyncSession): +async def process_callback_renew_key(callback_query: CallbackQuery, session: AsyncSession): tg_id = callback_query.message.chat.id key_name = callback_query.data.split("|")[1] @@ -104,18 +104,13 @@ async def process_callback_renew_key(callback_query: CallbackQuery, state: FSMCo subgroup = t.get("subgroup_title") grouped_tariffs[subgroup].append(t) - await state.update_data( - renew_key_name=key_name, - renew_client_id=client_id - ) - builder = InlineKeyboardBuilder() for t in grouped_tariffs.get(None, []): builder.row( InlineKeyboardButton( text=f"{t['name']} — {t['price_rub']}₽", - callback_data=f"renew_plan|{t['id']}|{client_id}", + callback_data=f"renew_plan|{t['id']}|{client_id}|{key_name}", ) ) @@ -124,7 +119,7 @@ async def process_callback_renew_key(callback_query: CallbackQuery, state: FSMCo builder.row( InlineKeyboardButton( text=subgroup, - callback_data=f"renew_subgroup|{safe}", + callback_data=f"renew_subgroup|{safe}|{client_id}|{key_name}", ) ) @@ -150,14 +145,12 @@ async def process_callback_renew_key(callback_query: CallbackQuery, state: FSMCo @router.callback_query(F.data.startswith("renew_subgroup|")) -async def show_tariffs_in_renew_subgroup(callback: CallbackQuery, state: FSMContext, session: AsyncSession): +async def show_tariffs_in_renew_subgroup(callback: CallbackQuery, session: AsyncSession): try: parts = callback.data.split("|") subgroup = parts[1].replace("_", " ") - - data = await state.get_data() - client_id = data.get("renew_client_id") - key_name = data.get("renew_key_name") + client_id = parts[2] + key_name = parts[3] if not client_id or not key_name: await callback.message.answer("❌ Данные для подгруппы не найдены.") @@ -208,7 +201,7 @@ async def show_tariffs_in_renew_subgroup(callback: CallbackQuery, state: FSMCont builder.row( InlineKeyboardButton( text=f"{t['name']} — {t['price_rub']}₽", - callback_data=f"renew_plan|{t['id']}|{client_id}", + callback_data=f"renew_plan|{t['id']}|{client_id}|{key_name}", ) ) @@ -234,7 +227,7 @@ async def show_tariffs_in_renew_subgroup(callback: CallbackQuery, state: FSMCont @router.callback_query(F.data.startswith("renew_plan|")) async def process_callback_renew_plan(callback_query: CallbackQuery, session: Any): tg_id = callback_query.from_user.id - tariff_id, client_id = callback_query.data.split("|")[1:] + tariff_id, client_id, key_name = callback_query.data.split("|")[1:] tariff_id = int(tariff_id) try: