This commit is contained in:
2026-02-28 11:06:29 +03:00
parent 5b6cccc270
commit b9ef6ccf09
4 changed files with 234 additions and 6 deletions
@@ -8,6 +8,7 @@ from dishka.integrations.aiogram_dialog import inject
from dutylog.application.bot.user_dialogs.states import MainMenuSG
from dutylog.infrastructure.database.repositories.users_repository import UsersRepository
from dutylog.infrastructure.database.repositories.residents_repository import ResidentsRepository
from dutylog.infrastructure.database.repositories.rooms_repository import RoomsRepository
from dutylog.infrastructure.database.repositories.hours_transactions_repository import HoursTransactionsRepository
from dutylog.infrastructure.utils.config import Config
@@ -17,6 +18,7 @@ async def get_main_menu_data(
event_from_user: User,
users_repository: FromDishka[UsersRepository],
residents_repository: FromDishka[ResidentsRepository],
rooms_repository: FromDishka[RoomsRepository],
config: FromDishka[Config],
**kwargs,
):
@@ -35,7 +37,14 @@ async def get_main_menu_data(
elif is_admin:
greeting = "👨‍💼 <b>Администратор</b>"
else:
greeting = f"👋 <b>Привет, {event_from_user.first_name}!</b>"
resident = await residents_repository.get_resident_by_user_id(event_from_user.id)
if resident:
room = await rooms_repository.get_room_by_id(resident.room)
room_number = room.number if room else "???"
real_name = resident.real_name if resident.real_name else event_from_user.first_name
greeting = f"👋 <b>Привет, {real_name}!</b>\n🚪 Комната <code>{room_number}</code>"
else:
greeting = f"👋 <b>Привет, {event_from_user.first_name}!</b>"
if not is_admin and not is_creator:
resident = await residents_repository.get_resident_by_user_id(event_from_user.id)