mirror of
https://github.com/koloideal/DutyLog.git
synced 2026-06-10 10:25:29 +03:00
commit
This commit is contained in:
@@ -1,11 +1,11 @@
|
||||
from aiogram.types import User
|
||||
from aiogram_dialog import Dialog, Window, DialogManager
|
||||
from aiogram_dialog.widgets.text import Format, Const
|
||||
from aiogram_dialog.widgets.kbd import SwitchTo, Back
|
||||
from aiogram_dialog.widgets.kbd import SwitchTo, Back, Start
|
||||
from dishka import FromDishka
|
||||
from dishka.integrations.aiogram_dialog import inject
|
||||
|
||||
from dutylog.application.bot.user_dialogs.states import MainMenuSG
|
||||
from dutylog.application.bot.user_dialogs.states import MainMenuSG, RegistrationSG
|
||||
from dutylog.infrastructure.database.repositories.users_repository import UsersRepository
|
||||
from dutylog.infrastructure.database.repositories.residents_repository import ResidentsRepository
|
||||
from dutylog.infrastructure.database.repositories.hours_transactions_repository import HoursTransactionsRepository
|
||||
@@ -49,6 +49,7 @@ async def get_main_menu_data(
|
||||
Вы еще не привязаны к резиденту.
|
||||
Обратитесь к администратору для регистрации.
|
||||
"""
|
||||
has_resident = False
|
||||
else:
|
||||
content = f"""
|
||||
{greeting}
|
||||
@@ -59,6 +60,7 @@ async def get_main_menu_data(
|
||||
━━━━━━━━━━━━━━━━
|
||||
🔴 Неотработанные часы: <code>{resident.inactive_hours}</code> ч</blockquote>
|
||||
"""
|
||||
has_resident = True
|
||||
else:
|
||||
content = f"""
|
||||
{greeting}
|
||||
@@ -67,11 +69,12 @@ async def get_main_menu_data(
|
||||
|
||||
Добро пожаловать в систему учета дежурств!
|
||||
"""
|
||||
has_resident = False
|
||||
|
||||
return {
|
||||
"content": content,
|
||||
"is_regular_user": not is_admin and not is_creator,
|
||||
"has_resident": resident is not None if not is_admin and not is_creator else False,
|
||||
"has_resident": has_resident,
|
||||
}
|
||||
|
||||
|
||||
@@ -128,6 +131,12 @@ main_menu_dialog = Dialog(
|
||||
state=MainMenuSG.history,
|
||||
when="has_resident",
|
||||
),
|
||||
Start(
|
||||
Const("🔄 Перерегистрация"),
|
||||
id="reregister_btn",
|
||||
state=RegistrationSG.select_floor,
|
||||
when="is_regular_user",
|
||||
),
|
||||
state=MainMenuSG.main,
|
||||
getter=get_main_menu_data,
|
||||
),
|
||||
@@ -138,3 +147,4 @@ main_menu_dialog = Dialog(
|
||||
getter=get_history_data,
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user