fixes
This commit is contained in:
@@ -48,7 +48,7 @@ async def language_menu(
|
||||
inline_keyboard = [
|
||||
[
|
||||
InlineKeyboardButton(
|
||||
text=locale.localized(user.lang),
|
||||
text=locale.localized(user.lang.value),
|
||||
callback_data=ContextData(
|
||||
command=CallbackCommand.SET_LANGUAGE, data=str(locale)
|
||||
).pack(),
|
||||
|
||||
@@ -36,6 +36,8 @@ async def start(
|
||||
item.value for item in LanguageBase.all_members.values()
|
||||
]:
|
||||
lang = LanguageBase(message.from_user.language_code)
|
||||
else:
|
||||
lang = LanguageBase.EN
|
||||
|
||||
user = await User.create(
|
||||
session=db_session,
|
||||
|
||||
@@ -24,7 +24,7 @@ class Config(BaseSettings):
|
||||
def DATABASE_URI(self) -> str:
|
||||
return f"postgresql+asyncpg://{self.DB_USER}:{self.DB_PASSWORD}@{self.DB_HOST}:{self.DB_PORT}/{self.DB_NAME}"
|
||||
|
||||
DOMAIN: str
|
||||
DOMAIN: str = "localhost"
|
||||
|
||||
@computed_field
|
||||
@property
|
||||
|
||||
@@ -20,5 +20,5 @@ class I18nMiddleware(SimpleI18nMiddleware):
|
||||
if db_session and event.model_fields.get("from_user"):
|
||||
user = await self.user_class.get(id=event.from_user.id, session=db_session)
|
||||
if user and user.lang:
|
||||
return user.lang
|
||||
return user.lang.value
|
||||
return await super().get_locale(event=event, data=data)
|
||||
|
||||
@@ -130,13 +130,16 @@ class EnumMember(object):
|
||||
return hash(self.value)
|
||||
|
||||
def localized(self, lang: str = None) -> str:
|
||||
if self.loc_obj and len(self.loc_obj) > 0:
|
||||
if lang and lang in self.loc_obj.keys():
|
||||
return self.loc_obj[lang]
|
||||
else:
|
||||
if self.loc_obj:
|
||||
if not lang:
|
||||
i18n = I18n.get_current()
|
||||
if i18n:
|
||||
return self.loc_obj[i18n.current_locale]
|
||||
lang = i18n.current_locale
|
||||
else:
|
||||
lang = list(self.loc_obj.keys())[0]
|
||||
|
||||
if lang in self.loc_obj.keys():
|
||||
return self.loc_obj[lang]
|
||||
else:
|
||||
return self.loc_obj[list(self.loc_obj.keys())[0]]
|
||||
|
||||
|
||||
@@ -16,6 +16,8 @@ class UserBase(BotEntity, table=False):
|
||||
lang: LanguageBase = Field(sa_type=EnumType(LanguageBase), default=LanguageBase.EN)
|
||||
is_active: bool = True
|
||||
|
||||
name: str
|
||||
|
||||
roles: list[RoleBase] = Field(
|
||||
sa_type=ARRAY(EnumType(RoleBase)), default=[RoleBase.DEFAULT_USER]
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user