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