mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-04 00:20:07 +00:00
[api2] Fix group repos
This commit is contained in:
@@ -3110,15 +3110,14 @@ class GroupRepos(APIView):
|
|||||||
repo = seafile_api.get_repo(repo_id)
|
repo = seafile_api.get_repo(repo_id)
|
||||||
seafile_api.set_group_repo(repo.id, group.id, username, permission)
|
seafile_api.set_group_repo(repo.id, group.id, username, permission)
|
||||||
|
|
||||||
calculate_repos_last_modify([repo])
|
|
||||||
group_repo = {
|
group_repo = {
|
||||||
"id": repo.id,
|
"id": repo.id,
|
||||||
"name": repo.name,
|
"name": repo.name,
|
||||||
"desc": repo.desc,
|
"desc": repo.desc,
|
||||||
"size": repo.size,
|
"size": repo.size,
|
||||||
"size_formatted": filesizeformat(repo.size),
|
"size_formatted": filesizeformat(repo.size),
|
||||||
"mtime": repo.latest_modify,
|
"mtime": repo.last_modified,
|
||||||
"mtime_relative": translate_seahub_time(repo.latest_modify),
|
"mtime_relative": translate_seahub_time(repo.last_modified),
|
||||||
"encrypted": repo.encrypted,
|
"encrypted": repo.encrypted,
|
||||||
"permission": 'rw', # Always have read-write permission to owned repo
|
"permission": 'rw', # Always have read-write permission to owned repo
|
||||||
"owner": username,
|
"owner": username,
|
||||||
@@ -3147,17 +3146,21 @@ class GroupRepos(APIView):
|
|||||||
"desc": r.desc,
|
"desc": r.desc,
|
||||||
"size": r.size,
|
"size": r.size,
|
||||||
"size_formatted": filesizeformat(r.size),
|
"size_formatted": filesizeformat(r.size),
|
||||||
"mtime": r.latest_modify,
|
"mtime": r.last_modified,
|
||||||
"mtime_relative": translate_seahub_time(r.latest_modify),
|
"mtime_relative": translate_seahub_time(r.last_modified),
|
||||||
"encrypted": r.encrypted,
|
"encrypted": r.encrypted,
|
||||||
"permission": check_permission(r.id, username),
|
"permission": r.permission,
|
||||||
"owner": r.user,
|
"owner": r.user,
|
||||||
"owner_nickname": email2nickname(r.user),
|
"owner_nickname": email2nickname(r.user),
|
||||||
"share_from_me": True if username == r.user else False,
|
"share_from_me": True if username == r.user else False,
|
||||||
}
|
}
|
||||||
repos_json.append(repo)
|
repos_json.append(repo)
|
||||||
|
|
||||||
return Response({"is_staff": group.is_staff, "repos": repos_json})
|
req_from = request.GET.get('from', "")
|
||||||
|
if req_from == 'web':
|
||||||
|
return Response({"is_staff": group.is_staff, "repos": repos_json})
|
||||||
|
else:
|
||||||
|
return Response(repos_json)
|
||||||
|
|
||||||
class GroupRepo(APIView):
|
class GroupRepo(APIView):
|
||||||
authentication_classes = (TokenAuthentication, SessionAuthentication)
|
authentication_classes = (TokenAuthentication, SessionAuthentication)
|
||||||
|
@@ -11,7 +11,7 @@ define([
|
|||||||
comparator: -'mtime',
|
comparator: -'mtime',
|
||||||
|
|
||||||
url: function() {
|
url: function() {
|
||||||
return Common.getUrl({name: 'group_repos', group_id: this.group_id});
|
return Common.getUrl({name: 'group_repos', group_id: this.group_id})+'?from=web';
|
||||||
},
|
},
|
||||||
|
|
||||||
parse: function(data) {
|
parse: function(data) {
|
||||||
|
@@ -18,7 +18,13 @@ class GroupRepoTest(ApiTestBase):
|
|||||||
resp = self.create_group_repo(group.group_id)
|
resp = self.create_group_repo(group.group_id)
|
||||||
|
|
||||||
assert resp.status_code == 200
|
assert resp.status_code == 200
|
||||||
assert len(resp.json()) == 9
|
resp_json = resp.json()
|
||||||
|
assert len(resp_json['id']) == 36
|
||||||
|
assert resp_json['name'] == 'grepo-test'
|
||||||
|
assert resp_json['size'] >= 0
|
||||||
|
assert resp_json['mtime'] > 0
|
||||||
|
assert resp_json['permission'] == 'rw'
|
||||||
|
assert '</time>' in resp_json['mtime_relative']
|
||||||
|
|
||||||
def test_add_with_wrong_perm(self):
|
def test_add_with_wrong_perm(self):
|
||||||
with self.get_tmp_group() as group:
|
with self.get_tmp_group() as group:
|
||||||
@@ -36,6 +42,14 @@ class GroupRepoTest(ApiTestBase):
|
|||||||
assert resp.status_code == 200
|
assert resp.status_code == 200
|
||||||
assert len(resp.json()) == 1
|
assert len(resp.json()) == 1
|
||||||
|
|
||||||
|
resp_repo = resp.json()[0]
|
||||||
|
assert len(resp_repo['id']) == 36
|
||||||
|
assert resp_repo['name'] == 'grepo-test'
|
||||||
|
assert resp_repo['size'] >= 0
|
||||||
|
assert resp_repo['mtime'] > 0
|
||||||
|
assert resp_repo['permission'] in ('r', 'rw')
|
||||||
|
assert '</time>' in resp_repo['mtime_relative']
|
||||||
|
|
||||||
def test_can_delete(self):
|
def test_can_delete(self):
|
||||||
with self.get_tmp_group() as group:
|
with self.get_tmp_group() as group:
|
||||||
resp = self.create_group_repo(group.group_id)
|
resp = self.create_group_repo(group.group_id)
|
||||||
|
Reference in New Issue
Block a user