1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-09-28 08:06:56 +00:00

update args check when search/delete repos

This commit is contained in:
lian
2016-06-13 15:01:50 +08:00
parent 2758713cea
commit 483c29ab92
2 changed files with 45 additions and 20 deletions

View File

@@ -39,15 +39,17 @@ class AdminLibraries(APIView):
permission_classes = (IsAdminUser,)
def get(self, request, format=None):
"""
List 'all' libraries (by name/owner/page)
""" List 'all' libraries (by name/owner/page)
Permission checking:
1. only admin can perform this action.
"""
## search libraries (by name/owner)
# search libraries (by name/owner)
repo_name = request.GET.get('name', '')
owner = request.GET.get('owner', '')
repos = []
if repo_name and owner :
if repo_name and owner:
# search by name and owner
owned_repos = seafile_api.get_owned_repo_list(owner)
for repo in owned_repos:
@@ -57,8 +59,7 @@ class AdminLibraries(APIView):
repo_info = get_repo_info(repo)
repos.append(repo_info)
return Response({
"name": repo_name, "owner": owner, "repos": repos})
return Response({"name": repo_name, "owner": owner, "repos": repos})
elif repo_name:
# search by name(keyword in name)
@@ -70,8 +71,7 @@ class AdminLibraries(APIView):
repo_info = get_repo_info(repo)
repos.append(repo_info)
return Response({
"name": repo_name, "owner": '', "repos": repos})
return Response({"name": repo_name, "owner": '', "repos": repos})
elif owner:
# search by owner
@@ -80,11 +80,9 @@ class AdminLibraries(APIView):
repo_info = get_repo_info(repo)
repos.append(repo_info)
return Response({
"name": '', "owner": owner, "repos": repos})
return Response({"name": '', "owner": owner, "repos": repos})
## get libraries by page
# get libraries by page
try:
current_page = int(request.GET.get('page', '1'))
per_page = int(request.GET.get('per_page', '100'))
@@ -117,6 +115,7 @@ class AdminLibraries(APIView):
'has_next_page': has_next_page,
'current_page': current_page
}
return Response({"page_info": page_info, "repos": return_results})
class AdminLibrary(APIView):
@@ -126,6 +125,11 @@ class AdminLibrary(APIView):
permission_classes = (IsAdminUser,)
def delete(self, request, repo_id, format=None):
""" delete a library
Permission checking:
1. only admin can perform this action.
"""
repo = seafile_api.get_repo(repo_id)
if not repo:
return Response({'success': True})
@@ -145,6 +149,9 @@ class AdminLibrary(APIView):
def put(self, request, repo_id, format=None):
""" transfer a library
Permission checking:
1. only admin can perform this action.
"""
repo = seafile_api.get_repo(repo_id)
if not repo: