From 1bb1ef8033aed7774cd03ab85817f95a3106cde1 Mon Sep 17 00:00:00 2001 From: lian Date: Fri, 25 Aug 2017 15:32:35 +0800 Subject: [PATCH] update search user in org mode --- seahub/api2/endpoints/search_user.py | 38 ++++++++++++---------------- 1 file changed, 16 insertions(+), 22 deletions(-) diff --git a/seahub/api2/endpoints/search_user.py b/seahub/api2/endpoints/search_user.py index b49666701b..0d1dd30958 100644 --- a/seahub/api2/endpoints/search_user.py +++ b/seahub/api2/endpoints/search_user.py @@ -11,6 +11,8 @@ from rest_framework import status import seaserv +from seaserv import ccnet_api + from seahub.api2.authentication import TokenAuthentication from seahub.api2.throttling import UserRateThrottle from seahub.api2.utils import api_error @@ -54,16 +56,22 @@ class SearchUser(APIView): # if current user can use global address book if CLOUD_MODE: if is_org_context(request): - # search from org - email_list += search_user_from_org(request, q) + + # get all org users + url_prefix = request.user.org.url_prefix + # TODO all_org_users = ccnet_api.get_org_users_by_url_prefix(url_prefix, -1, -1) + all_org_users = seaserv.get_org_users_by_url_prefix(url_prefix, -1, -1) + + limited_emails = [] + for org_user in all_org_users: + # prepare limited emails for search from profile + limited_emails.append(org_user.email) + + # search user from org users + if q in org_user.email: + email_list.append(org_user.email) # search from profile, limit search range in all org users - limited_emails = [] - url_prefix = request.user.org.url_prefix - all_org_users = seaserv.get_org_users_by_url_prefix(url_prefix, -1, -1) - for user in all_org_users: - limited_emails.append(user.email) - email_list += search_user_from_profile_with_limits(q, limited_emails) elif ENABLE_GLOBAL_ADDRESSBOOK: @@ -139,20 +147,6 @@ def format_searched_user_result(request, users, size): return results -def search_user_from_org(request, q): - - # get all org users - url_prefix = request.user.org.url_prefix - all_org_users = seaserv.get_org_users_by_url_prefix(url_prefix, -1, -1) - - # search user from org users - email_list = [] - for org_user in all_org_users: - if q in org_user.email: - email_list.append(org_user.email) - - return email_list - def search_user_from_ccnet(q): users = []