1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-09-20 02:48:51 +00:00

reshare repo to user/group/pub when admin transfer a repo

This commit is contained in:
lian
2016-08-18 17:49:12 +08:00
parent d1a2d5c825
commit b66e1b8364
6 changed files with 80 additions and 36 deletions

View File

@@ -1528,11 +1528,13 @@ def sys_repo_transfer(request):
messages.error(request, _(u'Can not transfer organization library'))
return HttpResponseRedirect(next)
if ccnet_threaded_rpc.get_orgs_by_user(new_owner):
if ccnet_api.get_orgs_by_user(new_owner):
messages.error(request, _(u'Can not transfer library to organization user %s') % new_owner)
return HttpResponseRedirect(next)
except SearpcError: # XXX: ignore rpc not found error
pass
except Exception as e:
logger.error(e)
messages.error(request, 'Internal Server Error')
return HttpResponseRedirect(next)
repo_owner = seafile_api.get_repo_owner(repo_id)
@@ -1543,8 +1545,9 @@ def sys_repo_transfer(request):
repo_owner, repo_id)
# get all pub repos
pub_repos = seaserv.seafserv_threaded_rpc.list_inner_pub_repos_by_owner(
repo_owner)
pub_repos = []
if not request.cloud_mode:
pub_repos = seafile_api.list_inner_pub_repos_by_owner(repo_owner)
# transfer repo
seafile_api.set_repo_owner(repo_id, new_owner)