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

Modified sys list orphan repos

This commit is contained in:
zhengxie
2013-09-28 16:50:34 +08:00
parent 9830804c01
commit b790f7b3d3
6 changed files with 135 additions and 45 deletions

View File

@@ -69,33 +69,12 @@ def sys_repo_admin(request):
},
context_instance=RequestContext(request))
def list_orphan_repos_by_name(repo_name):
ret_list = []
try:
repos = seafile_api.get_orphan_repo_list()
for e in repos:
if e.name == repo_name:
e.owner = seafile_api.get_repo_owner(e.id)
ret_list.append(e)
except Exception as e:
logger.error(e)
return ret_list
def list_orphan_repos():
try:
repos = seafile_api.get_orphan_repo_list()
for e in repos:
e.owner = seafile_api.get_repo_owner(e.id)
return repos
except Exception as e:
logger.error(e)
return []
def list_repos_by_name_and_owner(repo_name, owner):
repos = []
owned_repos = seafile_api.get_owned_repo_list(owner)
for repo in owned_repos:
if repo.name == repo_name:
if repo_name in repo.name:
repo.owner = owner
repos.append(repo)
return repos
@@ -104,7 +83,7 @@ def list_repos_by_name(repo_name):
repos = []
repos_all = seafile_api.get_repo_list(-1, -1)
for repo in repos_all:
if repo.name == repo_name:
if repo_name in repo.name:
try:
repo.owner = seafile_api.get_repo_owner(repo.id)
except SearpcError:
@@ -125,27 +104,19 @@ def sys_repo_search(request):
"""
repo_name = request.GET.get('name', '')
owner = request.GET.get('owner', '')
orphan = request.GET.get('orphan', 'no')
repos = []
if orphan == 'yes':
if repo_name:
repos = list_orphan_repos_by_name(repo_name)
else:
repos = list_orphan_repos()
else:
if repo_name and owner : # search by name and owner
repos = list_repos_by_name_and_owner(repo_name, owner)
elif repo_name: # search by name
repos = list_repos_by_name(repo_name)
elif owner: # search by owner
repos = list_repos_by_owner(owner)
if repo_name and owner : # search by name and owner
repos = list_repos_by_name_and_owner(repo_name, owner)
elif repo_name: # search by name
repos = list_repos_by_name(repo_name)
elif owner: # search by owner
repos = list_repos_by_owner(owner)
return render_to_response('sysadmin/sys_repo_search.html', {
'repos': repos,
'name': repo_name,
'owner': owner,
'orphan': orphan,
}, context_instance=RequestContext(request))
@login_required
@@ -553,4 +524,16 @@ def sys_repo_transfer(request):
messages.error(request, _(u'Failed to transfer, invalid arguments.'))
return HttpResponseRedirect(reverse(sys_repo_admin))
@login_required
@sys_staff_required
def sys_list_orphan(request):
try:
repos = seafile_api.get_orphan_repo_list()
return repos
except Exception as e:
logger.error(e)
repos = []
return render_to_response('sysadmin/sys_list_orphan.html', {
'repos': repos,
}, context_instance=RequestContext(request))