Skip to content

Commit d0e71e7

Browse files
committed
feat: Add domain_display_name to reset password email for user added
Signed-off-by: lhhyung <[email protected]>
1 parent 4e093c5 commit d0e71e7

8 files changed

+35
-21
lines changed

src/spaceone/identity/manager/email_manager.py

+4-2
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ def send_temporary_password_email(
8181
self.smtp_connector.send_email(email, subject, email_contents)
8282

8383
def send_reset_password_email_when_user_added(
84-
self, user_id, email, reset_password_link, language
84+
self, domain_display_name, user_id, email, reset_password_link, language
8585
):
8686
service_name = self._get_service_name()
8787
language_map_info = LANGUAGE_MAPPER.get(language, "default")
@@ -90,6 +90,7 @@ def send_reset_password_email_when_user_added(
9090
f"reset_pwd_link_when_user_added_{language}.html"
9191
)
9292
email_contents = template.render(
93+
domain_display_name=domain_display_name,
9394
user_name=user_id,
9495
reset_password_link=reset_password_link,
9596
service_name=service_name,
@@ -99,13 +100,14 @@ def send_reset_password_email_when_user_added(
99100
self.smtp_connector.send_email(email, subject, email_contents)
100101

101102
def send_temporary_password_email_when_user_added(
102-
self, user_id, email, console_link, temp_password, language
103+
self, domain_display_name, user_id, email, console_link, temp_password, language
103104
):
104105
service_name = self._get_service_name()
105106
language_map_info = LANGUAGE_MAPPER.get(language, "default")
106107

107108
template = JINJA_ENV.get_template(f"temp_pwd_when_user_added_{language}.html")
108109
email_contents = template.render(
110+
domain_display_name=domain_display_name,
109111
user_name=user_id,
110112
temp_password=temp_password,
111113
service_name=service_name,

src/spaceone/identity/service/user_service.py

+16-4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import copy
22
import logging
3-
import random
3+
import secrets
44
import re
55
import string
66
from typing import Union
@@ -71,6 +71,7 @@ def create_user(self, params: dict) -> User:
7171
auth_type = params["auth_type"]
7272
reset_password = params["reset_password"]
7373
domain_id = params["domain_id"]
74+
domain_display_name = self._get_domain_display_name(domain_id)
7475
email = params.get("email")
7576
language = self._get_domain_default_language(domain_id, params.get("language"))
7677
params["language"] = language
@@ -102,7 +103,7 @@ def create_user(self, params: dict) -> User:
102103
user_vo = self.user_mgr.create_user(params)
103104
user_id = user_vo.user_id
104105
email_manager.send_reset_password_email_when_user_added(
105-
user_id, email, reset_password_link, language
106+
domain_display_name, user_id, email, reset_password_link, language
106107
)
107108
else:
108109
console_link = self._get_console_url(domain_id)
@@ -111,7 +112,7 @@ def create_user(self, params: dict) -> User:
111112
user_id = user_vo.user_id
112113

113114
email_manager.send_temporary_password_email_when_user_added(
114-
user_id, email, console_link, temp_password, language
115+
domain_display_name, user_id, email, console_link, temp_password, language
115116
)
116117
else:
117118
user_vo = self.user_mgr.create_user(params)
@@ -508,7 +509,7 @@ def _check_reset_password_eligibility(user_id: str, auth_type: str, email: str):
508509
def _generate_temporary_password():
509510
while True:
510511
random_password = "".join(
511-
random.choice(
512+
secrets.choice(
512513
string.ascii_uppercase + string.ascii_lowercase + string.digits
513514
)
514515
for _ in range(12)
@@ -558,6 +559,17 @@ def _get_domain_default_language(domain_id: str, language: str = None) -> str:
558559
language = "en"
559560
return language
560561

562+
def _get_domain_display_name(self, domain_id: str, ) -> str:
563+
config_mgr = ConfigManager()
564+
domain_config_data_info = config_mgr.get_auth_config(domain_id)
565+
settings = domain_config_data_info.get("settings", {})
566+
domain_display_name = settings.get("display_name", "")
567+
568+
if not domain_display_name:
569+
domain_display_name = self._get_domain_name(domain_id)
570+
571+
return domain_display_name
572+
561573
@staticmethod
562574
def _get_refresh_timeout_from_config(refresh_timeout: int) -> int:
563575
identity_conf = config.get_global("IDENTITY") or {}

src/spaceone/identity/template/reset_pwd_link_when_user_added_en.html

+3-3
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@
7777
<div
7878
style="height:0px;max-height:0px;border-width:0px;border: 0px;border-color:initial;border-image:initial;visibility:hidden;line-height:0px;font-size:0px;overflow:hidden;display:none;"
7979
>
80-
Reset your password to continue using SpaceONE
80+
Reset your password to continue using {{service_name}}
8181
</div>
8282
<table id="$beacon$">
8383
<tbody>
@@ -173,7 +173,7 @@
173173
<div><br/></div>
174174
<div>
175175
<span style="font-size: 18px;"
176-
>We noticed your account was newly added or updated by your domain administrator. <br><br> To continue using SpaceONE, Please reset your password first. </span
176+
>We noticed your account was newly added or updated in {{domain_display_name}} by your domain administrator. <br><br> To continue using {{service_name}}, Please reset your password first. </span
177177
><span data-metadata=""></span>
178178
</div>
179179
</td>
@@ -321,7 +321,7 @@
321321
<span
322322
style="font-size: 12px; color: #858895;"
323323
class="stb-fore-colored"
324-
>Copyright 2023 © MEGAZONE CLOUD Corp. All Right
324+
>Copyright 2024 © MEGAZONE CLOUD Corp. All Right
325325
Reserved.</span
326326
>
327327
</div>

src/spaceone/identity/template/reset_pwd_link_when_user_added_ja.html

+4-4
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939
<div
4040
style="height:0px;max-height:0px;border-width:0px;border: 0px;border-color:initial;border-image:initial;visibility:hidden;line-height:0px;font-size:0px;overflow:hidden;display:none;"
4141
>
42-
お客様のアカウントが、ドメイン管理者によってSpaceONEに新しく追加または更新されたことを検知しました
42+
お客様のアカウントが、ドメイン管理者によって{{service_name}}に新しく追加または更新されたことを検知しました
4343
</div>
4444
<table id="$beacon$">
4545
<tbody>
@@ -130,7 +130,7 @@
130130
<div><br /></div>
131131
<div>
132132
<span style="font-size: 18px;"
133-
>お客様のアカウントが、ドメイン管理者によってSpaceONEに新しく追加または更新されたことを検知しました<br><br> SpaceONEを引き続きご利用いただくには、まずパスワードをリセットしてください。 </span
133+
>お客様のアカウントが、ドメイン管理者によって{{domain_display_name}}に新しく追加または更新されたことを検知しました<br><br> {{service_name}}を引き続きご利用いただくには、まずパスワードをリセットしてください。 </span
134134
><span data-metadata=""></span>
135135
</div>
136136
</td>
@@ -204,7 +204,7 @@
204204
style="word-break:break-all;text-align:left;margin:0px;;line-height:1.7;word-break:break-word;font-size:16px;font-family:noto sans kr, noto sans cjk kr, noto sans cjk, Malgun Gothic, apple sd gothic neo, nanum gothic, malgun gothic, dotum, arial, helvetica, Meiryo, MS Gothic, sans-serif!important;;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;color:#000000;padding:15px 25px 15px 25px;"
205205
>
206206
<div>
207-
<span style="font-size: 18px;">今後ともSpaceONEをよろしくお願い致します</span>
207+
<span style="font-size: 18px;">今後とも{{service_name}}をよろしくお願い致します</span>
208208
</div>
209209
<div><br /></div>
210210
<div><br /></div>
@@ -278,7 +278,7 @@
278278
<span
279279
style="font-size: 12px; color: #858895;"
280280
class="stb-fore-colored"
281-
>Copyright 2023 © MEGAZONE CLOUD Corp. All Right
281+
>Copyright 2024 © MEGAZONE CLOUD Corp. All Right
282282
Reserved.</span
283283
>
284284
</div>

src/spaceone/identity/template/reset_pwd_link_when_user_added_ko.html

+2-2
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@
138138
<div><br/></div>
139139
<div>
140140
<span style="font-size: 18px;"
141-
>고객님의 계정이 도메인 관리자에 의해 {{service_name}}에 신규 추가 또는 업데이트 되었음이 확인되었습니다. <br><br> 계속해서 SpaceONE을 사용하시려면, 비밀번호를 재설정 후 이용해주세요. </span
141+
>고객님의 계정이 도메인 관리자에 의해 {{domain_display_name}}에 신규 추가 또는 업데이트 되었음이 확인되었습니다. <br><br> 계속해서 {{service_name}}을 사용하시려면, 비밀번호를 재설정 후 이용해주세요. </span
142142
><span data-metadata=""></span>
143143
</div>
144144
</td>
@@ -286,7 +286,7 @@
286286
<span
287287
style="font-size: 12px; color: #858895;"
288288
class="stb-fore-colored"
289-
>Copyright 2023 © MEGAZONE CLOUD Corp. All Right
289+
>Copyright 2024 © MEGAZONE CLOUD Corp. All Right
290290
Reserved.</span
291291
>
292292
</div>

src/spaceone/identity/template/temp_pwd_when_user_added_en.html

+2-2
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@
131131
<div><br /></div>
132132
<div>
133133
<span style="font-size: 18px;">
134-
We noticed your account was newly added or updated by your domain administrator. </span>
134+
We noticed your account was newly added or updated in {{domain_display_name}} by your domain administrator. </span>
135135
<span data-metadata=""></span>
136136
<br>
137137
<span style="font-size: 18px;">Please use the temporary password below to sign in to console and reset it.
@@ -287,7 +287,7 @@
287287
<span
288288
style="font-size: 12px; color: #858895;"
289289
class="stb-fore-colored"
290-
>Copyright 2023 © MEGAZONE CLOUD Corp. All Right
290+
>Copyright 2024 © MEGAZONE CLOUD Corp. All Right
291291
Reserved.</span
292292
>
293293
</div>

src/spaceone/identity/template/temp_pwd_when_user_added_ja.html

+2-2
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@
129129
</div>
130130
<div><br /></div>
131131
<div>
132-
<span style="font-size: 18px;">お客様のアカウントが、ドメイン管理者によって{{service_name}}に新しく追加または更新されたことを検知しました。
132+
<span style="font-size: 18px;">お客様のアカウントが、ドメイン管理者によって{{domain_display_name}}に新しく追加または更新されたことを検知しました。
133133
</span>
134134
</div>
135135
<div></div>
@@ -289,7 +289,7 @@
289289
<span
290290
style="font-size: 12px; color: #858895;"
291291
class="stb-fore-colored"
292-
>Copyright 2023 © MEGAZONE CLOUD Corp. All Right
292+
>Copyright 2024 © MEGAZONE CLOUD Corp. All Right
293293
Reserved.</span
294294
>
295295
</div>

src/spaceone/identity/template/temp_pwd_when_user_added_ko.html

+2-2
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@
130130
<div><br /></div>
131131
<div>
132132
<span style="font-size: 18px;"
133-
>고객님의 계정이 도메인 관리자에 의해 {{service_name}}에 신규 추가 또는 업데이트 되었음이 확인되었습니다.</span
133+
>고객님의 계정이 도메인 관리자에 의해 {{domain_display_name}}에 신규 추가 또는 업데이트 되었음이 확인되었습니다.</span
134134
><span data-metadata=""></span>
135135
</div>
136136

@@ -290,7 +290,7 @@
290290
<span
291291
style="font-size: 12px; color: #858895;"
292292
class="stb-fore-colored"
293-
>Copyright 2023 © MEGAZONE CLOUD Corp. All Right
293+
>Copyright 2024 © MEGAZONE CLOUD Corp. All Right
294294
Reserved.</span
295295
>
296296
</div>

0 commit comments

Comments
 (0)