fix: renew proper key selection
This commit is contained in:
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user