Revert "Enable direct bot configuration edits from setting view"

This commit is contained in:
Egor
2025-09-25 18:15:36 +03:00
committed by GitHub
parent be3b554cde
commit 1ca1df1403

View File

@@ -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"<b>Текущее значение:</b> {summary['current']}",
f"<b>Значение по умолчанию:</b> {summary['original']}",
f"<b>Переопределено в БД:</b> {'✅ Да' 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("Обновлено")