From 6b67a76689a7204d9361b82179304bc68eb37d8c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=AC=A2=E4=B9=90=E9=A9=AC?= <38058090+SkywalkerSpace@users.noreply.github.com> Date: Tue, 19 Mar 2024 10:52:04 +0800 Subject: [PATCH] update profile user (#5985) --- seahub/api2/endpoints/user.py | 4 ++-- seahub/base/accounts.py | 9 ++++----- tests/api/endpoints/test_user.py | 4 ++-- 3 files changed, 8 insertions(+), 9 deletions(-) diff --git a/seahub/api2/endpoints/user.py b/seahub/api2/endpoints/user.py index dce13b8541..ba97df9602 100644 --- a/seahub/api2/endpoints/user.py +++ b/seahub/api2/endpoints/user.py @@ -34,8 +34,8 @@ class User(APIView): info = {} info['email'] = email - info['name'] = email2nickname(email) - info['contact_email'] = email2contact_email(email) + info['name'] = profile.nickname if profile and profile.nickname else '' + info['contact_email'] = profile.contact_email if profile and profile.contact_email else '' info['telephone'] = d_profile.telephone if d_profile else '' info['login_id'] = profile.login_id if profile else '' info['list_in_address_book'] = profile.list_in_address_book if profile else False diff --git a/seahub/base/accounts.py b/seahub/base/accounts.py index 92462240a6..e1786f3126 100644 --- a/seahub/base/accounts.py +++ b/seahub/base/accounts.py @@ -1013,12 +1013,11 @@ class CustomLDAPBackend(object): username = user.username if LDAP_UPDATE_USER_WHEN_LOGIN: - profile_kwargs = { - 'nickname': nickname, - 'contact_email': contact_email, - } try: - Profile.objects.add_or_update(username, **profile_kwargs) + if nickname: + Profile.objects.add_or_update(username, nickname=nickname) + if contact_email: + Profile.objects.add_or_update(username, contact_email=contact_email) except Exception as e: logger.error(f'update ldap user failed {e}') diff --git a/tests/api/endpoints/test_user.py b/tests/api/endpoints/test_user.py index fc5af285c3..5678d51fb3 100644 --- a/tests/api/endpoints/test_user.py +++ b/tests/api/endpoints/test_user.py @@ -73,8 +73,8 @@ class AccountTest(BaseTestCase): resp = self.client.get(self.url) json_resp = json.loads(resp.content) assert json_resp['email'] == self.user_name - assert json_resp['name'] == email2nickname(self.user_name) - assert json_resp['contact_email'] == email2contact_email(self.user_name) + assert json_resp['name'] == (profile.nickname if profile.nickname else '') + assert json_resp['contact_email'] == (profile.contact_email if profile.contact_email else '') assert json_resp['telephone'] == d_profile.telephone assert json_resp['login_id'] == profile.login_id assert 'list_in_address_book' in json_resp