Files
FascioSchoolBot/app/bot/dialogs/flows/events/handlers.py
2025-10-03 17:33:09 +03:00

42 lines
1.2 KiB
Python

from aiogram.types import CallbackQuery
from aiogram_dialog import DialogManager
from aiogram_dialog.widgets.kbd import Button, Select
from app.infrastructure.database.crud import (
register_user_to_event,
unregister_user_to_event,
)
from .getters import registration_getter
async def on_event_selected(
callback: CallbackQuery,
widget: Select,
manager: DialogManager,
item_id: str,
):
manager.dialog_data["selected_event"] = int(item_id)
await manager.next()
async def change_registration(
callback: CallbackQuery,
widget: Button,
manager: DialogManager,
**kwargs,
):
user = manager.middleware_data["user"]
event_id = manager.dialog_data["selected_event"]
if (await registration_getter(manager))["is_registered_to_event"]:
await unregister_user_to_event(
manager.middleware_data["session"], user.id, event_id
)
else:
if not user.phone:
await callback.answer("Пожалуйста, заполните ваш номер телефона в профиле", show_alert=True)
else:
await register_user_to_event(
manager.middleware_data["session"], user.id, event_id
)