From 1ca1df1403b14d4e5a5dab81b0b9a2fff7b7fe93 Mon Sep 17 00:00:00 2001 From: Egor Date: Thu, 25 Sep 2025 18:15:36 +0300 Subject: [PATCH] Revert "Enable direct bot configuration edits from setting view" --- app/handlers/admin/bot_configuration.py | 77 +++---------------------- 1 file changed, 8 insertions(+), 69 deletions(-) diff --git a/app/handlers/admin/bot_configuration.py b/app/handlers/admin/bot_configuration.py index 0198397a..b2b5281e 100644 --- a/app/handlers/admin/bot_configuration.py +++ b/app/handlers/admin/bot_configuration.py @@ -79,22 +79,6 @@ def _parse_category_payload(payload: str) -> Tuple[str, str, int, int]: return group_key, category_key, category_page, settings_page -async def _remember_setting_context( - state: FSMContext, - key: str, - group_key: str, - category_page: int, - settings_page: int, -) -> None: - await state.update_data( - setting_key=key, - setting_group_key=group_key, - setting_category_page=category_page, - setting_settings_page=settings_page, - ) - await state.set_state(BotConfigStates.waiting_for_value) - - def _parse_group_payload(payload: str) -> Tuple[str, int]: parts = payload.split(":") group_key = parts[1] if len(parts) > 1 else CATEGORY_FALLBACK_KEY @@ -365,9 +349,6 @@ def _render_setting_text(key: str) -> str: f"Текущее значение: {summary['current']}", f"Значение по умолчанию: {summary['original']}", f"Переопределено в БД: {'✅ Да' if summary['has_override'] else '❌ Нет'}", - "", - "Отправьте новое значение сообщением, чтобы обновить настройку.", - "Или используйте кнопки ниже для дополнительных действий.", ] return "\n".join(lines) @@ -379,7 +360,6 @@ async def show_bot_config_menu( callback: types.CallbackQuery, db_user: User, db: AsyncSession, - state: FSMContext, ): keyboard = _build_groups_keyboard() await callback.message.edit_text( @@ -387,7 +367,6 @@ async def show_bot_config_menu( reply_markup=keyboard, ) await callback.answer() - await state.clear() @admin_required @@ -396,7 +375,6 @@ async def show_bot_config_group( callback: types.CallbackQuery, db_user: User, db: AsyncSession, - state: FSMContext, ): group_key, page = _parse_group_payload(callback.data) grouped = _get_grouped_categories() @@ -413,7 +391,6 @@ async def show_bot_config_group( reply_markup=keyboard, ) await callback.answer() - await state.clear() @admin_required @@ -422,7 +399,6 @@ async def show_bot_config_category( callback: types.CallbackQuery, db_user: User, db: AsyncSession, - state: FSMContext, ): group_key, category_key, category_page, settings_page = _parse_category_payload( callback.data @@ -446,7 +422,6 @@ async def show_bot_config_category( reply_markup=keyboard, ) await callback.answer() - await state.clear() @admin_required @@ -455,7 +430,6 @@ async def show_bot_config_setting( callback: types.CallbackQuery, db_user: User, db: AsyncSession, - state: FSMContext, ): parts = callback.data.split(":", 4) group_key = parts[1] if len(parts) > 1 else CATEGORY_FALLBACK_KEY @@ -473,14 +447,6 @@ async def show_bot_config_setting( await callback.message.edit_text(text, reply_markup=keyboard) await callback.answer() - await _remember_setting_context( - state, - key, - group_key, - category_page, - settings_page, - ) - @admin_required @error_handler @@ -536,13 +502,13 @@ async def start_edit_setting( ), ) - await _remember_setting_context( - state, - key, - group_key, - category_page, - settings_page, + await state.update_data( + setting_key=key, + setting_group_key=group_key, + setting_category_page=category_page, + setting_settings_page=settings_page, ) + await state.set_state(BotConfigStates.waiting_for_value) await callback.answer() @@ -568,12 +534,7 @@ async def handle_edit_setting( try: value = bot_configuration_service.parse_user_value(key, message.text or "") except ValueError as error: - error_text = str(error) - if error_text == "Ввод отменен пользователем": - await message.answer("❌ Изменение отменено") - await state.clear() - else: - await message.answer(f"⚠️ {error_text}") + await message.answer(f"⚠️ {error}") return await bot_configuration_service.set_value(db, key, value) @@ -583,13 +544,7 @@ async def handle_edit_setting( keyboard = _build_setting_keyboard(key, group_key, category_page, settings_page) await message.answer("✅ Настройка обновлена") await message.answer(text, reply_markup=keyboard) - await _remember_setting_context( - state, - key, - group_key, - category_page, - settings_page, - ) + await state.clear() @admin_required @@ -598,7 +553,6 @@ async def reset_setting( callback: types.CallbackQuery, db_user: User, db: AsyncSession, - state: FSMContext, ): parts = callback.data.split(":", 4) group_key = parts[1] if len(parts) > 1 else CATEGORY_FALLBACK_KEY @@ -617,13 +571,6 @@ async def reset_setting( text = _render_setting_text(key) keyboard = _build_setting_keyboard(key, group_key, category_page, settings_page) await callback.message.edit_text(text, reply_markup=keyboard) - await _remember_setting_context( - state, - key, - group_key, - category_page, - settings_page, - ) await callback.answer("Сброшено к значению по умолчанию") @@ -633,7 +580,6 @@ async def toggle_setting( callback: types.CallbackQuery, db_user: User, db: AsyncSession, - state: FSMContext, ): parts = callback.data.split(":", 4) group_key = parts[1] if len(parts) > 1 else CATEGORY_FALLBACK_KEY @@ -654,13 +600,6 @@ async def toggle_setting( text = _render_setting_text(key) keyboard = _build_setting_keyboard(key, group_key, category_page, settings_page) await callback.message.edit_text(text, reply_markup=keyboard) - await _remember_setting_context( - state, - key, - group_key, - category_page, - settings_page, - ) await callback.answer("Обновлено")