mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-17 15:53:28 +00:00
Merge pull request #1780 from haiwen/search-user
update search user in org mode
This commit is contained in:
@@ -11,6 +11,8 @@ from rest_framework import status
|
|||||||
|
|
||||||
import seaserv
|
import seaserv
|
||||||
|
|
||||||
|
from seaserv import ccnet_api
|
||||||
|
|
||||||
from seahub.api2.authentication import TokenAuthentication
|
from seahub.api2.authentication import TokenAuthentication
|
||||||
from seahub.api2.throttling import UserRateThrottle
|
from seahub.api2.throttling import UserRateThrottle
|
||||||
from seahub.api2.utils import api_error
|
from seahub.api2.utils import api_error
|
||||||
@@ -54,16 +56,22 @@ class SearchUser(APIView):
|
|||||||
# if current user can use global address book
|
# if current user can use global address book
|
||||||
if CLOUD_MODE:
|
if CLOUD_MODE:
|
||||||
if is_org_context(request):
|
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
|
# 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)
|
email_list += search_user_from_profile_with_limits(q, limited_emails)
|
||||||
|
|
||||||
elif ENABLE_GLOBAL_ADDRESSBOOK:
|
elif ENABLE_GLOBAL_ADDRESSBOOK:
|
||||||
@@ -139,20 +147,6 @@ def format_searched_user_result(request, users, size):
|
|||||||
|
|
||||||
return results
|
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):
|
def search_user_from_ccnet(q):
|
||||||
users = []
|
users = []
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user