mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-16 15:19:06 +00:00
Modify page and clean code
This commit is contained in:
@@ -45,7 +45,7 @@ def group_remove(request):
|
||||
try:
|
||||
group_id_int = int(group_id)
|
||||
except ValueError:
|
||||
group_id_int = -1
|
||||
return HttpResponseRedirect(reverse('group_list', args=[]))
|
||||
|
||||
try:
|
||||
ccnet_rpc.remove_group(group_id_int, request.user.username)
|
||||
@@ -128,7 +128,7 @@ def group_remove_member(request):
|
||||
try:
|
||||
group_id_int = int(group_id)
|
||||
except ValueError:
|
||||
raise Http404
|
||||
return go_error(request, u'group id 不是有效参数')
|
||||
try:
|
||||
ccnet_rpc.group_remove_member(group_id_int, request.user.username,
|
||||
member_name)
|
||||
@@ -144,8 +144,8 @@ def group_quit(request):
|
||||
try:
|
||||
group_id_int = int(group_id)
|
||||
except ValueError:
|
||||
raise Http404
|
||||
|
||||
return go_error(request, u'group id 不是有效参数')
|
||||
|
||||
try:
|
||||
ccnet_rpc.quit_group(group_id_int, request.user.username)
|
||||
seafserv_threaded_rpc.remove_repo_group(group_id_int, request.user.username)
|
||||
@@ -153,3 +153,52 @@ def group_quit(request):
|
||||
return go_error(request, e.msg)
|
||||
|
||||
return HttpResponseRedirect(reverse('group_list', args=[]))
|
||||
|
||||
def group_share_repo(request, repo_id, group_id, from_email):
|
||||
"""
|
||||
share a repo to a group
|
||||
|
||||
"""
|
||||
# check whether group exists
|
||||
group = ccnet_rpc.get_group(group_id)
|
||||
if not group:
|
||||
return go_error(request, u'共享失败:小组不存在')
|
||||
|
||||
# check whether user belong to the group
|
||||
joined = False
|
||||
groups = ccnet_rpc.get_groups(request.user.username)
|
||||
for group in groups:
|
||||
if group.props.id == group_id:
|
||||
joined = True
|
||||
if not joined:
|
||||
return go_error(request, u'共享失败:未加入该小组')
|
||||
|
||||
if seafserv_threaded_rpc.group_share_repo(repo_id, group_id, from_email) != 0:
|
||||
return go_error(request, u'共享失败:内部错误')
|
||||
|
||||
def group_unshare_repo(request, repo_id, group_id, from_email):
|
||||
"""
|
||||
unshare a repo to a group
|
||||
|
||||
"""
|
||||
# check whether group exists
|
||||
group = ccnet_rpc.get_group(group_id)
|
||||
if not group:
|
||||
return go_error(request, u'共享失败:小组不存在')
|
||||
|
||||
# check whether user belong to the group
|
||||
joined = False
|
||||
groups = ccnet_rpc.get_groups(from_email)
|
||||
for group in groups:
|
||||
if group.props.id == group_id:
|
||||
joined = True
|
||||
if not joined:
|
||||
return go_error(request, u'共享失败:未加入该小组')
|
||||
|
||||
# check whether user is group staff or the one share the repo
|
||||
if not ccnet_rpc.check_group_staff(group_id, from_email) and \
|
||||
seafserv_threaded_rpc.get_group_repo_share_from(repo_id) != from_email:
|
||||
return go_permission_error(request, u'取消共享失败:只有小组管理员或共享目录发布者有权取消共享')
|
||||
|
||||
if seafserv_threaded_rpc.group_unshare_repo(repo_id, group_id, from_email) != 0:
|
||||
return go_error(request, u'共享失败:内部错误')
|
||||
|
Reference in New Issue
Block a user