mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-20 10:58:33 +00:00
optimize getting group repos
This commit is contained in:
@@ -986,56 +986,42 @@ def get_groups_by_user(request):
|
|||||||
username = request.user.username
|
username = request.user.username
|
||||||
if is_org_context(request):
|
if is_org_context(request):
|
||||||
org_id = request.user.org.org_id
|
org_id = request.user.org.org_id
|
||||||
return seaserv.get_org_groups_by_user(org_id, username)
|
return ccnet_api.get_org_groups_by_user(org_id, username)
|
||||||
else:
|
else:
|
||||||
return seaserv.get_personal_groups_by_user(username)
|
return ccnet_api.get_personal_groups_by_user(username)
|
||||||
|
|
||||||
def get_group_repos(request, groups):
|
def get_group_repos(request, groups):
|
||||||
"""Get repos shared to groups.
|
"""Get repos shared to groups.
|
||||||
"""
|
"""
|
||||||
group_repos = []
|
|
||||||
|
all_group_repos = []
|
||||||
if is_org_context(request):
|
if is_org_context(request):
|
||||||
org_id = request.user.org.org_id
|
org_id = request.user.org.org_id
|
||||||
# For each group I joined...
|
for group in groups:
|
||||||
for grp in groups:
|
org_group_repos = seafile_api.get_org_group_repos(org_id, group.id)
|
||||||
# Get group repos, and for each group repos...
|
for repo in org_group_repos:
|
||||||
for r_id in seafile_api.get_org_group_repoids(org_id, grp.id):
|
|
||||||
repo_owner = seafile_api.get_org_repo_owner(r_id)
|
|
||||||
# Convert repo properties due to the different collumns in Repo
|
# Convert repo properties due to the different collumns in Repo
|
||||||
# and SharedRepo
|
# and SharedRepo
|
||||||
r = get_repo(r_id)
|
repo.share_type = 'group'
|
||||||
if not r:
|
repo.user = seafile_api.get_org_repo_owner(repo.repo_id)
|
||||||
continue
|
repo.user_perm = check_folder_permission(request, repo.repo_id, '/')
|
||||||
r.repo_id = r.id
|
repo.group = group
|
||||||
r.repo_name = r.name
|
|
||||||
r.repo_desc = r.desc
|
all_group_repos.append(repo)
|
||||||
r.last_modified = get_repo_last_modify(r)
|
|
||||||
r.share_type = 'group'
|
|
||||||
r.user = repo_owner
|
|
||||||
r.user_perm = check_folder_permission(request, r_id, '/')
|
|
||||||
r.group = grp
|
|
||||||
group_repos.append(r)
|
|
||||||
else:
|
else:
|
||||||
# For each group I joined...
|
for group in groups:
|
||||||
for grp in groups:
|
group_repos = seafile_api.get_repos_by_group(group.id)
|
||||||
# Get group repos, and for each group repos...
|
for repo in group_repos:
|
||||||
for r_id in seafile_api.get_group_repoids(grp.id):
|
|
||||||
repo_owner = seafile_api.get_repo_owner(r_id)
|
|
||||||
# Convert repo properties due to the different collumns in Repo
|
# Convert repo properties due to the different collumns in Repo
|
||||||
# and SharedRepo
|
# and SharedRepo
|
||||||
r = get_repo(r_id)
|
repo.share_type = 'group'
|
||||||
if not r:
|
repo.user = seafile_api.get_repo_owner(repo.repo_id)
|
||||||
continue
|
repo.user_perm = check_folder_permission(request, repo.repo_id, '/')
|
||||||
r.repo_id = r.id
|
repo.group = group
|
||||||
r.repo_name = r.name
|
|
||||||
r.repo_desc = r.desc
|
all_group_repos.append(repo)
|
||||||
r.last_modified = get_repo_last_modify(r)
|
|
||||||
r.share_type = 'group'
|
return all_group_repos
|
||||||
r.user = repo_owner
|
|
||||||
r.user_perm = check_folder_permission(request, r_id, '/')
|
|
||||||
r.group = grp
|
|
||||||
group_repos.append(r)
|
|
||||||
return group_repos
|
|
||||||
|
|
||||||
def get_file_upload_url_ul(request, token):
|
def get_file_upload_url_ul(request, token):
|
||||||
"""Get file upload url in dir upload link.
|
"""Get file upload url in dir upload link.
|
||||||
|
Reference in New Issue
Block a user