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:
@@ -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
|
||||
|
@@ -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:
|
||||
|
Reference in New Issue
Block a user