1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-09-24 04:48:03 +00:00

login id related (#8238)

1, save login_id when oauth login
2, admin search user via login_id
This commit is contained in:
lian
2025-09-19 09:51:47 +08:00
committed by GitHub
parent 6cb1081957
commit 1cadba71f3
2 changed files with 16 additions and 5 deletions

View File

@@ -1041,8 +1041,11 @@ class AdminSearchUser(APIView):
user.institution = user_institution_dict.get(user.email, '')
# search user from profile
searched_profile = Profile.objects.filter((Q(nickname__icontains=query_str)) | \
Q(contact_email__icontains=query_str))[:10]
searched_profile = Profile.objects.filter(
Q(nickname__icontains=query_str) |
Q(contact_email__icontains=query_str) |
Q(login_id__icontains=query_str)
)[:10]
for profile in searched_profile:
email = profile.user
@@ -1106,9 +1109,12 @@ class AdminSearchUser(APIView):
users = ccnet_users
if len(all_ccnet_users) < page * per_page:
all_profile_users = Profile.objects.filter((Q(nickname__icontains=query_str)) | \
Q(contact_email__icontains=query_str)) \
[0:page*per_page-len(all_ccnet_users)]
all_profile_users = Profile.objects.filter(
Q(nickname__icontains=query_str) |
Q(contact_email__icontains=query_str) |
Q(login_id__icontains=query_str)
)[:page * per_page - len(all_ccnet_users)]
if int(len(all_ccnet_users)/per_page) == page-1:
# need ccnet users + profile users

View File

@@ -236,6 +236,7 @@ def oauth_callback(request):
# update user's profile
name = oauth_user_info.get('name', '')
contact_email = oauth_user_info.get('contact_email', '')
login_id = oauth_user_info.get('login_id', '')
profile = Profile.objects.get_profile_by_user(email)
if not profile:
@@ -249,6 +250,10 @@ def oauth_callback(request):
profile.contact_email = contact_email.strip()
profile.save()
if login_id:
profile.login_id = login_id.strip()
profile.save()
if CUSTOM_GET_USER_ROLE:
remote_role_value = oauth_user_info.get('role', '')
if remote_role_value: