Do not include the name of the new owner when sending the confirmation email

pull/22352/head
Yansong Zhang 10 months ago
parent f9ee2df7ab
commit c96197c97c

@ -175,7 +175,7 @@ class SendOwnerTransferEmailApi(Resource):
@login_required @login_required
@account_initialization_required @account_initialization_required
@is_allow_transfer_owner @is_allow_transfer_owner
def post(self, member_id): def post(self):
parser = reqparse.RequestParser() parser = reqparse.RequestParser()
parser.add_argument("language", type=str, required=False, location="json") parser.add_argument("language", type=str, required=False, location="json")
args = parser.parse_args() args = parser.parse_args()
@ -187,9 +187,6 @@ class SendOwnerTransferEmailApi(Resource):
if not TenantService.is_owner(current_user, current_user.current_tenant): if not TenantService.is_owner(current_user, current_user.current_tenant):
raise NotOwnerError() raise NotOwnerError()
if current_user.id == str(member_id):
raise CannotTransferOwnerToSelfError()
if args["language"] is not None and args["language"] == "zh-Hans": if args["language"] is not None and args["language"] == "zh-Hans":
language = "zh-Hans" language = "zh-Hans"
else: else:
@ -324,7 +321,7 @@ api.add_resource(MemberUpdateRoleApi, "/workspaces/current/members/<uuid:member_
api.add_resource(DatasetOperatorMemberListApi, "/workspaces/current/dataset-operators") api.add_resource(DatasetOperatorMemberListApi, "/workspaces/current/dataset-operators")
# owner transfer # owner transfer
api.add_resource( api.add_resource(
SendOwnerTransferEmailApi, "/workspaces/current/members/<uuid:member_id>/send-owner-transfer-confirm-email" SendOwnerTransferEmailApi, "/workspaces/current/members/send-owner-transfer-confirm-email"
) )
api.add_resource(OwnerTransferCheckApi, "/workspaces/current/members/owner-transfer-check") api.add_resource(OwnerTransferCheckApi, "/workspaces/current/members/owner-transfer-check")
api.add_resource(OwnerTransfer, "/workspaces/current/members/<uuid:member_id>/owner-transfer") api.add_resource(OwnerTransfer, "/workspaces/current/members/<uuid:member_id>/owner-transfer")

@ -466,7 +466,6 @@ class AccountService:
email: Optional[str] = None, email: Optional[str] = None,
language: Optional[str] = "en-US", language: Optional[str] = "en-US",
workspace_name: Optional[str] = "", workspace_name: Optional[str] = "",
member_name: Optional[str] = "",
): ):
account_email = account.email if account else email account_email = account.email if account else email
if account_email is None: if account_email is None:
@ -484,7 +483,6 @@ class AccountService:
to=account_email, to=account_email,
code=code, code=code,
workspace=workspace_name, workspace=workspace_name,
member=member_name,
) )
cls.owner_transfer_rate_limiter.increment_rate_limit(account_email) cls.owner_transfer_rate_limiter.increment_rate_limit(account_email)
return token return token

@ -10,13 +10,12 @@ from services.feature_service import FeatureService
@shared_task(queue="mail") @shared_task(queue="mail")
def send_owner_transfer_confirm_task(language: str, to: str, code: str, workspace: str, member: str): def send_owner_transfer_confirm_task(language: str, to: str, code: str, workspace: str):
""" """
Async Send owner transfer confirm mail Async Send owner transfer confirm mail
:param language: Language in which the email should be sent (e.g., 'en', 'zh') :param language: Language in which the email should be sent (e.g., 'en', 'zh')
:param to: Recipient email address :param to: Recipient email address
:param workspace: Workspace name :param workspace: Workspace name
:param member: Member name
""" """
if not mail.is_inited(): if not mail.is_inited():
return return
@ -30,20 +29,20 @@ def send_owner_transfer_confirm_task(language: str, to: str, code: str, workspac
system_features = FeatureService.get_system_features() system_features = FeatureService.get_system_features()
if system_features.branding.enabled: if system_features.branding.enabled:
template = "without-brand/transfer_workspace_owner_confirm_template_zh-CN.html" template = "without-brand/transfer_workspace_owner_confirm_template_zh-CN.html"
html_content = render_template(template, to=to, code=code, WorkspaceName=workspace, NewOwner=member) html_content = render_template(template, to=to, code=code, WorkspaceName=workspace)
mail.send(to=to, subject="验证您转移工作空间所有权的请求", html=html_content) mail.send(to=to, subject="验证您转移工作空间所有权的请求", html=html_content)
else: else:
html_content = render_template(template, to=to, code=code, WorkspaceName=workspace, NewOwner=member) html_content = render_template(template, to=to, code=code, WorkspaceName=workspace)
mail.send(to=to, subject="验证您转移工作空间所有权的请求", html=html_content) mail.send(to=to, subject="验证您转移工作空间所有权的请求", html=html_content)
else: else:
template = "transfer_workspace_owner_confirm_template_en-US.html" template = "transfer_workspace_owner_confirm_template_en-US.html"
system_features = FeatureService.get_system_features() system_features = FeatureService.get_system_features()
if system_features.branding.enabled: if system_features.branding.enabled:
template = "without-brand/transfer_workspace_owner_confirm_template_en-US.html" template = "without-brand/transfer_workspace_owner_confirm_template_en-US.html"
html_content = render_template(template, to=to, code=code, WorkspaceName=workspace, NewOwner=member) html_content = render_template(template, to=to, code=code, WorkspaceName=workspace)
mail.send(to=to, subject="Verify Your Request to Transfer Workspace Ownership", html=html_content) mail.send(to=to, subject="Verify Your Request to Transfer Workspace Ownership", html=html_content)
else: else:
html_content = render_template(template, to=to, code=code, WorkspaceName=workspace, NewOwner=member) html_content = render_template(template, to=to, code=code, WorkspaceName=workspace)
mail.send(to=to, subject="Verify Your Request to Transfer Workspace Ownership", html=html_content) mail.send(to=to, subject="Verify Your Request to Transfer Workspace Ownership", html=html_content)
end_at = time.perf_counter() end_at = time.perf_counter()

@ -74,8 +74,7 @@
<img src="https://assets.dify.ai/images/logo.png" alt="Dify Logo" /> <img src="https://assets.dify.ai/images/logo.png" alt="Dify Logo" />
</div> </div>
<p class="title">Verify Your Request to Transfer Workspace Ownership</p> <p class="title">Verify Your Request to Transfer Workspace Ownership</p>
<p class="description">We received a request to transfer ownership of your workspace “{{WorkspaceName}}” to the <p class="description">We received a request to transfer ownership of your workspace “{{WorkspaceName}}”.
member {{NewOwner}}.
To confirm this action, please use the verification code below. To confirm this action, please use the verification code below.
This code will only be valid for the next 5 minutes:</p> This code will only be valid for the next 5 minutes:</p>

@ -74,7 +74,7 @@
<img src="https://assets.dify.ai/images/logo.png" alt="Dify Logo" /> <img src="https://assets.dify.ai/images/logo.png" alt="Dify Logo" />
</div> </div>
<p class="title">验证您的工作空间所有权转移请求</p> <p class="title">验证您的工作空间所有权转移请求</p>
<p class="description">我们收到了将您的工作空间“{{WorkspaceName}}”的所有权转移给成员{{NewOwner}}的请求。 <p class="description">我们收到了将您的工作空间“{{WorkspaceName}}”的所有权转移的请求。
为了确认此操作,请使用以下验证码。 为了确认此操作,请使用以下验证码。
此验证码仅在5分钟内有效</p> 此验证码仅在5分钟内有效</p>

@ -70,8 +70,7 @@
<body> <body>
<div class="container"> <div class="container">
<p class="title">Verify Your Request to Transfer Workspace Ownership</p> <p class="title">Verify Your Request to Transfer Workspace Ownership</p>
<p class="description">We received a request to transfer ownership of your workspace “{{WorkspaceName}}” to the <p class="description">We received a request to transfer ownership of your workspace “{{WorkspaceName}}”.
member {{NewOwner}}.
To confirm this action, please use the verification code below. To confirm this action, please use the verification code below.
This code will only be valid for the next 5 minutes:</p> This code will only be valid for the next 5 minutes:</p>

@ -70,7 +70,7 @@
<body> <body>
<div class="container"> <div class="container">
<p class="title">验证您的工作空间所有权转移请求</p> <p class="title">验证您的工作空间所有权转移请求</p>
<p class="description">我们收到了将您的工作空间“{{WorkspaceName}}”的所有权转移给成员{{NewOwner}}的请求。 <p class="description">我们收到了将您的工作空间“{{WorkspaceName}}”的所有权转移的请求。
为了确认此操作,请使用以下验证码。 为了确认此操作,请使用以下验证码。
此验证码仅在5分钟内有效</p> 此验证码仅在5分钟内有效</p>

Loading…
Cancel
Save