mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-16 15:19:06 +00:00
unset admin after transfer success
This commit is contained in:
@@ -10,7 +10,7 @@ from rest_framework.views import APIView
|
|||||||
from rest_framework import status
|
from rest_framework import status
|
||||||
|
|
||||||
import seaserv
|
import seaserv
|
||||||
from seaserv import seafile_api
|
from seaserv import seafile_api, ccnet_api
|
||||||
from pysearpc import SearpcError
|
from pysearpc import SearpcError
|
||||||
|
|
||||||
from seahub.api2.utils import api_error
|
from seahub.api2.utils import api_error
|
||||||
@@ -256,12 +256,13 @@ class Group(APIView):
|
|||||||
|
|
||||||
# transfer a group
|
# transfer a group
|
||||||
if not is_group_member(group_id, new_owner):
|
if not is_group_member(group_id, new_owner):
|
||||||
seaserv.ccnet_threaded_rpc.group_add_member(group_id, username, new_owner)
|
ccnet_api.group_add_member(group_id, username, new_owner)
|
||||||
|
|
||||||
if not is_group_admin(group_id, new_owner):
|
if not is_group_admin(group_id, new_owner):
|
||||||
seaserv.ccnet_threaded_rpc.group_set_admin(group_id, new_owner)
|
ccnet_api.group_set_admin(group_id, new_owner)
|
||||||
|
|
||||||
seaserv.ccnet_threaded_rpc.set_group_creator(group_id, new_owner)
|
ccnet_api.set_group_creator(group_id, new_owner)
|
||||||
|
ccnet_api.group_unset_admin(group_id, username)
|
||||||
|
|
||||||
except SearpcError as e:
|
except SearpcError as e:
|
||||||
logger.error(e)
|
logger.error(e)
|
||||||
|
@@ -124,7 +124,10 @@ class GroupsTest(BaseTestCase):
|
|||||||
self.assertEqual(200, resp.status_code)
|
self.assertEqual(200, resp.status_code)
|
||||||
|
|
||||||
json_resp = json.loads(resp.content)
|
json_resp = json.loads(resp.content)
|
||||||
|
|
||||||
assert json_resp['owner'] == new_creator
|
assert json_resp['owner'] == new_creator
|
||||||
|
assert new_creator in json_resp['admins']
|
||||||
|
assert self.user.email not in json_resp['admins']
|
||||||
|
|
||||||
def test_can_not_transfer_group_to_group_owner(self):
|
def test_can_not_transfer_group_to_group_owner(self):
|
||||||
new_creator = self.user.email
|
new_creator = self.user.email
|
||||||
|
Reference in New Issue
Block a user