Merge branch 'main' of https://git.shevkunov.space/FascioSchool/FascioSchoolBot
This commit is contained in:
11
README.md
11
README.md
@@ -1,9 +1,11 @@
|
|||||||
# Бот для записи на курсы и мероприятия от школы фасциопатии
|
# Бот для записи на курсы и мероприятия от школы фасциопатии
|
||||||
|
# Бот для записи на курсы и мероприятия от школы фасциопатии
|
||||||
|
|
||||||
## Текущие возможности
|
## Текущие возможности
|
||||||
|
|
||||||
**Администраторы могут:**
|
**Администраторы могут:**
|
||||||
- [x] Редактировать свой профиль
|
- [x] Редактировать свой профиль
|
||||||
|
- [x] Создавать мероприятия
|
||||||
- [x] Создавать мероприятия
|
- [x] Создавать мероприятия
|
||||||
- (указав дату, время, название, описание)
|
- (указав дату, время, название, описание)
|
||||||
- [ ] Редактировать мероприятия
|
- [ ] Редактировать мероприятия
|
||||||
@@ -23,13 +25,22 @@
|
|||||||
- [x] Просматривать информацию о мероприятии
|
- [x] Просматривать информацию о мероприятии
|
||||||
- [ ] Регистрироваться на мероприятие
|
- [ ] Регистрироваться на мероприятие
|
||||||
- [ ] Отменять регистрацию на мероприятие
|
- [ ] Отменять регистрацию на мероприятие
|
||||||
|
- [x] Просматривать список мероприятий
|
||||||
|
- [x] Просматривать информацию о мероприятии
|
||||||
|
- [ ] Регистрироваться на мероприятие
|
||||||
|
- [ ] Отменять регистрацию на мероприятие
|
||||||
|
|
||||||
|
|
||||||
---
|
---
|
||||||
## Планируемые возможности
|
## Планируемые возможности
|
||||||
- Прямая ссылка на мероприятие извне бота
|
- Прямая ссылка на мероприятие извне бота
|
||||||
|
- Прямая ссылка на мероприятие извне бота
|
||||||
- Подтверждение регистрации администратором
|
- Подтверждение регистрации администратором
|
||||||
- Число записавшихся на мероприятие пользователей у администратора
|
- Число записавшихся на мероприятие пользователей у администратора
|
||||||
- Уведомление пользователям о изменении мероприятия, на которые они подписаны
|
- Уведомление пользователям о изменении мероприятия, на которые они подписаны
|
||||||
- Значок о регистрации на мероприятие в списке мероприятий у пользователя
|
- Значок о регистрации на мероприятие в списке мероприятий у пользователя
|
||||||
|
- Выгружать людей записавшихся на мероприятие в виде Excel файла
|
||||||
|
- Число записавшихся на мероприятие пользователей у администратора
|
||||||
|
- Уведомление пользователям о изменении мероприятия, на которые они подписаны
|
||||||
|
- Значок о регистрации на мероприятие в списке мероприятий у пользователя
|
||||||
- Выгружать людей записавшихся на мероприятие в виде Excel файла
|
- Выгружать людей записавшихся на мероприятие в виде Excel файла
|
||||||
@@ -4,7 +4,11 @@ from aiogram_dialog.widgets.text import Case, Const, Format, Jinja
|
|||||||
|
|
||||||
from app.bot.dialogs.templates import event_template
|
from app.bot.dialogs.templates import event_template
|
||||||
|
|
||||||
|
<<<<<<< HEAD
|
||||||
from .getters import event_getter, events_list_getter, registration_getter
|
from .getters import event_getter, events_list_getter, registration_getter
|
||||||
|
=======
|
||||||
|
from .getters import event_getter, events_list_getter
|
||||||
|
>>>>>>> 7e5939394de1e40064ccf364bcfabbbd117d5d32
|
||||||
from .handlers import change_registration, on_event_selected
|
from .handlers import change_registration, on_event_selected
|
||||||
from .states import EventsSG
|
from .states import EventsSG
|
||||||
|
|
||||||
@@ -31,7 +35,10 @@ events_dialog = Dialog(
|
|||||||
[Const("зарегистрироваться"), Const("отменить регистрацию")],
|
[Const("зарегистрироваться"), Const("отменить регистрацию")],
|
||||||
selector="is_registered_to_event",
|
selector="is_registered_to_event",
|
||||||
),
|
),
|
||||||
|
<<<<<<< HEAD
|
||||||
id="change_registration_btn",
|
id="change_registration_btn",
|
||||||
|
=======
|
||||||
|
>>>>>>> 7e5939394de1e40064ccf364bcfabbbd117d5d32
|
||||||
on_click=change_registration,
|
on_click=change_registration,
|
||||||
),
|
),
|
||||||
Back(Const("Назад")),
|
Back(Const("Назад")),
|
||||||
|
|||||||
@@ -5,7 +5,10 @@ from app.infrastructure.database.crud import (
|
|||||||
get_event_by_id,
|
get_event_by_id,
|
||||||
get_events_list,
|
get_events_list,
|
||||||
)
|
)
|
||||||
|
<<<<<<< HEAD
|
||||||
from app.infrastructure.database.enums import UserEventStatus
|
from app.infrastructure.database.enums import UserEventStatus
|
||||||
|
=======
|
||||||
|
>>>>>>> 7e5939394de1e40064ccf364bcfabbbd117d5d32
|
||||||
from app.infrastructure.database.models import Event
|
from app.infrastructure.database.models import Event
|
||||||
|
|
||||||
|
|
||||||
@@ -34,3 +37,11 @@ async def registration_getter(dialog_manager: DialogManager, **kwargs):
|
|||||||
for ue in user.events
|
for ue in user.events
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
async def registraion_getter(dialog_manager: DialogManager, **kwargs):
|
||||||
|
user = dialog_manager.middleware_data["user"]
|
||||||
|
event_id = dialog_manager.dialog_data["selected_event"]
|
||||||
|
return {
|
||||||
|
"is_registered_to_event": any(ue.event_id == event_id for ue in user.events)
|
||||||
|
}
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ async def on_event_selected(
|
|||||||
manager.dialog_data["selected_event"] = int(item_id)
|
manager.dialog_data["selected_event"] = int(item_id)
|
||||||
await manager.next()
|
await manager.next()
|
||||||
|
|
||||||
|
<<<<<<< HEAD
|
||||||
|
|
||||||
async def change_registration(
|
async def change_registration(
|
||||||
callback: CallbackQuery,
|
callback: CallbackQuery,
|
||||||
@@ -39,3 +40,7 @@ async def change_registration(
|
|||||||
await register_user_to_event(
|
await register_user_to_event(
|
||||||
manager.middleware_data["session"], user.id, event_id
|
manager.middleware_data["session"], user.id, event_id
|
||||||
)
|
)
|
||||||
|
=======
|
||||||
|
async def change_registration():
|
||||||
|
...
|
||||||
|
>>>>>>> 7e5939394de1e40064ccf364bcfabbbd117d5d32
|
||||||
|
|||||||
@@ -104,6 +104,7 @@ async def update_event(
|
|||||||
event.end_date = end_date
|
event.end_date = end_date
|
||||||
await session.commit()
|
await session.commit()
|
||||||
return event
|
return event
|
||||||
|
<<<<<<< HEAD
|
||||||
|
|
||||||
|
|
||||||
async def register_user_to_event(session: AsyncSession, user_id: int, event_id: int):
|
async def register_user_to_event(session: AsyncSession, user_id: int, event_id: int):
|
||||||
@@ -133,3 +134,5 @@ async def unregister_user_to_event(session: AsyncSession, user_id: int, event_id
|
|||||||
).scalar_one()
|
).scalar_one()
|
||||||
user_event.status = UserEventStatus.CANCELLED.value
|
user_event.status = UserEventStatus.CANCELLED.value
|
||||||
await session.commit()
|
await session.commit()
|
||||||
|
=======
|
||||||
|
>>>>>>> 7e5939394de1e40064ccf364bcfabbbd117d5d32
|
||||||
|
|||||||
Reference in New Issue
Block a user