fix: return from bot tariff prices to bot menu
This commit is contained in:
@@ -22,7 +22,7 @@ from bot.keyboards.inline.user_keyboards import (
|
||||
get_tariff_packages_keyboard,
|
||||
get_tariff_periods_keyboard,
|
||||
sale_mode_with_callback_context,
|
||||
subscription_options_callback,
|
||||
tariff_purchase_back_callback,
|
||||
)
|
||||
from bot.middlewares.i18n import JsonI18n
|
||||
from bot.services.panel_api_service import PanelApiService
|
||||
@@ -303,7 +303,7 @@ async def select_tariff_callback(
|
||||
current_lang,
|
||||
i18n,
|
||||
settings,
|
||||
back_callback=subscription_options_callback(callback_context),
|
||||
back_callback=tariff_purchase_back_callback(callback_context),
|
||||
callback_context=callback_context,
|
||||
)
|
||||
text = _tariff_purchase_text(tariff, current_lang, i18n, settings)
|
||||
|
||||
@@ -71,6 +71,12 @@ def subscription_options_callback(context: Optional[str]) -> str:
|
||||
return "main_action:bot_subscribe" if context == BOT_MENU_CONTEXT else "main_action:subscribe"
|
||||
|
||||
|
||||
def tariff_purchase_back_callback(context: Optional[str]) -> str:
|
||||
if context == BOT_MENU_CONTEXT:
|
||||
return "main_action:bot_interface"
|
||||
return subscription_options_callback(context)
|
||||
|
||||
|
||||
def payment_methods_back_callback(
|
||||
value: str, sale_mode: str = "subscription", price: Optional[float] = None
|
||||
) -> str:
|
||||
|
||||
@@ -23,6 +23,7 @@ from bot.keyboards.inline.user_keyboards import (
|
||||
get_yk_autopay_choice_keyboard,
|
||||
payment_methods_back_callback,
|
||||
payment_options_back_callback,
|
||||
tariff_purchase_back_callback,
|
||||
)
|
||||
from bot.middlewares.i18n import LOCALE_KEY_ALIASES
|
||||
from config.tariffs_config import TariffsConfig
|
||||
@@ -332,14 +333,16 @@ class UserBotMenuTests(unittest.TestCase):
|
||||
"en",
|
||||
self.i18n,
|
||||
settings,
|
||||
back_callback="main_action:bot_subscribe",
|
||||
back_callback=tariff_purchase_back_callback("bot"),
|
||||
callback_context="bot",
|
||||
)
|
||||
|
||||
self.assertIn("tariff:select:basic:bot", self._callback_data(catalog))
|
||||
self.assertIn("main_action:bot_interface", self._callback_data(catalog))
|
||||
self.assertIn("tariff:period:basic:1:bot", self._callback_data(periods))
|
||||
self.assertIn("main_action:bot_subscribe", self._callback_data(periods))
|
||||
self.assertIn("main_action:bot_interface", self._callback_data(periods))
|
||||
self.assertEqual(tariff_purchase_back_callback("bot"), "main_action:bot_interface")
|
||||
self.assertEqual(tariff_purchase_back_callback(None), "main_action:subscribe")
|
||||
self.assertEqual(
|
||||
payment_options_back_callback("subscription@basic|bot"),
|
||||
"tariff:select:basic:bot",
|
||||
|
||||
Reference in New Issue
Block a user