feat: update admin panel keyboard structure and registration button logic
- Updated admin panel keyboard to match admin_panel.py handlers - Changed registration button logic: show only for unregistered non-admins - Added missing methods to IBotController interface - Updated get_main_keyboard to accept is_registered parameter - Simplified admin panel structure with proper callback routing - Removed test callback button from production UI - Created ADMIN_PANEL_STRUCTURE.md and ADMIN_PANEL_TESTING.md documentation
This commit is contained in:
@@ -49,7 +49,10 @@ class BotController(IBotController):
|
||||
else:
|
||||
welcome_text += "📝 Для участия в розыгрышах необходимо зарегистрироваться."
|
||||
|
||||
keyboard = self.keyboard_builder.get_main_keyboard(self.is_admin(message.from_user.id))
|
||||
keyboard = self.keyboard_builder.get_main_keyboard(
|
||||
is_admin=self.is_admin(message.from_user.id),
|
||||
is_registered=user.is_registered
|
||||
)
|
||||
|
||||
await message.answer(
|
||||
welcome_text,
|
||||
@@ -119,7 +122,7 @@ class BotController(IBotController):
|
||||
|
||||
async def handle_active_lotteries(self, callback: CallbackQuery):
|
||||
"""Показать активные розыгрыши"""
|
||||
lotteries = await self.lottery_service.get_active_lotteries()
|
||||
lotteries = await self.lottery_repo.get_active()
|
||||
|
||||
if not lotteries:
|
||||
await callback.answer("❌ Нет активных розыгрышей", show_alert=True)
|
||||
@@ -132,7 +135,18 @@ class BotController(IBotController):
|
||||
lottery_info = self.message_formatter.format_lottery_info(lottery, participants_count)
|
||||
text += lottery_info + "\n" + "="*30 + "\n\n"
|
||||
|
||||
keyboard = self.keyboard_builder.get_main_keyboard(self.is_admin(callback.from_user.id))
|
||||
# Получаем информацию о регистрации пользователя
|
||||
user = await self.user_service.get_or_create_user(
|
||||
telegram_id=callback.from_user.id,
|
||||
username=callback.from_user.username,
|
||||
first_name=callback.from_user.first_name,
|
||||
last_name=callback.from_user.last_name
|
||||
)
|
||||
|
||||
keyboard = self.keyboard_builder.get_main_keyboard(
|
||||
is_admin=self.is_admin(callback.from_user.id),
|
||||
is_registered=user.is_registered
|
||||
)
|
||||
|
||||
await callback.message.edit_text(
|
||||
text,
|
||||
|
||||
Reference in New Issue
Block a user