Bugfix/invitemailmultilangs (#2257)

Co-authored-by: crazywoola <427733928@qq.com>
This commit is contained in:
Benjamin
2024-01-28 19:56:09 +08:00
committed by GitHub
parent 5a6cb69951
commit 7076d41b29
3 changed files with 15 additions and 10 deletions

View File

@ -56,6 +56,7 @@ class MemberInviteEmailApi(Resource):
invitee_emails = args['emails']
invitee_role = args['role']
interface_language = args['language']
if invitee_role not in ['admin', 'normal']:
return {'code': 'invalid-role', 'message': 'Invalid role'}, 400
@ -64,8 +65,7 @@ class MemberInviteEmailApi(Resource):
console_web_url = current_app.config.get("CONSOLE_WEB_URL")
for invitee_email in invitee_emails:
try:
token = RegisterService.invite_new_member(inviter.current_tenant, invitee_email, role=invitee_role,
inviter=inviter)
token = RegisterService.invite_new_member(inviter.current_tenant, invitee_email, interface_language, role=invitee_role, inviter=inviter)
invitation_results.append({
'status': 'success',
'email': invitee_email,

View File

@ -138,8 +138,9 @@ class AccountService:
return account
@staticmethod
def create_account(email: str, name: str, password: str = None,
interface_language: str = languages[0], interface_theme: str = 'light',
def create_account(email: str, name: str, interface_language: str,
password: str = None,
interface_theme: str = 'light',
timezone: str = 'America/New_York', ) -> Account:
"""create account"""
account = Account()
@ -429,7 +430,7 @@ class RegisterService:
db.session.begin_nested()
"""Register account"""
try:
account = AccountService.create_account(email, name, password)
account = AccountService.create_account(email, name, interface_language=languages[0], password=password)
account.status = AccountStatus.ACTIVE.value
account.initialized_at = datetime.utcnow()
@ -452,15 +453,14 @@ class RegisterService:
return account
@classmethod
def invite_new_member(cls, tenant: Tenant, email: str, role: str = 'normal',
inviter: Account = None) -> str:
def invite_new_member(cls, tenant: Tenant, email: str, language: str, role: str = 'normal', inviter: Account = None) -> str:
"""Invite new member"""
account = Account.query.filter_by(email=email).first()
if not account:
TenantService.check_member_permission(tenant, inviter, None, 'add')
name = email.split('@')[0]
account = AccountService.create_account(email, name)
account = AccountService.create_account(email, name, interface_language=language)
account.status = AccountStatus.PENDING.value
db.session.commit()