mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-21 11:27:18 +00:00
[sysadmin] add search user by name & contact email
This commit is contained in:
@@ -11,6 +11,7 @@ import csv, chardet, StringIO
|
||||
import time
|
||||
from constance import config
|
||||
|
||||
from django.db.models import Q
|
||||
from django.conf import settings as dj_settings
|
||||
from django.core.urlresolvers import reverse
|
||||
from django.contrib import messages
|
||||
@@ -22,7 +23,7 @@ from django.utils.translation import ugettext as _
|
||||
|
||||
import seaserv
|
||||
from seaserv import ccnet_threaded_rpc, seafserv_threaded_rpc, \
|
||||
seafile_api, get_group, get_group_members
|
||||
seafile_api, get_group, get_group_members, ccnet_api
|
||||
from pysearpc import SearpcError
|
||||
|
||||
from seahub.base.accounts import User
|
||||
@@ -1767,10 +1768,24 @@ def user_search(request):
|
||||
"""
|
||||
email = request.GET.get('email', '')
|
||||
|
||||
users = ccnet_threaded_rpc.search_emailusers('DB', email, -1, -1)
|
||||
ldap_users = ccnet_threaded_rpc.search_emailusers('LDAP', email, -1, -1)
|
||||
# search user from ccnet db
|
||||
users = ccnet_api.search_emailusers('DB', email, -1, -1)
|
||||
|
||||
# search user from ccnet ldap
|
||||
ldap_users = ccnet_api.search_emailusers('LDAP', email, -1, -1)
|
||||
users.extend(ldap_users)
|
||||
|
||||
# search user from profile
|
||||
users_from_profile = Profile.objects.filter((Q(nickname__icontains=email)) |
|
||||
Q(contact_email__icontains=email))
|
||||
|
||||
for user in users_from_profile:
|
||||
try:
|
||||
user_obj = User.objects.get(email=user.user)
|
||||
except User.DoesNotExist:
|
||||
continue
|
||||
users.append(user_obj)
|
||||
|
||||
last_logins = UserLastLogin.objects.filter(username__in=[x.email for x in users])
|
||||
if ENABLE_TRIAL_ACCOUNT:
|
||||
trial_users = TrialAccount.objects.filter(user_or_org__in=[x.email for x in users])
|
||||
|
Reference in New Issue
Block a user