def setUp(self): self.login_as(self.admin) # create group for admin user self.admin_group_1_name = randstring(6) self.admin_group_1_id = ccnet_threaded_rpc.create_group(self.admin_group_1_name, self.admin.email) # create another group for admin user self.admin_group_2_name = randstring(6) self.admin_group_2_id = ccnet_threaded_rpc.create_group(self.admin_group_2_name, self.admin.email) # create repo for admin user self.admin_repo_name = randstring(6) r = seafile_api.get_repo(self.create_repo(name=self.admin_repo_name, desc='', username=self.admin.email, passwd=None)) self.admin_repo_id = r.id # set common user as staff in admin user's group ccnet_threaded_rpc.group_add_member(self.admin_group_1_id, self.admin.email, self.user.email) ccnet_threaded_rpc.group_set_admin(self.admin_group_1_id, self.user.email) # add common user to admin user's another group ccnet_threaded_rpc.group_add_member(self.admin_group_2_id, self.admin.email, self.user.email) # share admin user's repo to common user seafile_api.share_repo(self.admin_repo_id, self.admin.email, self.user.email, 'rw')
def group_add_admin(request, group_id): """ Add group admin. """ group_id = int(group_id) # Checked by URL Conf if request.method != 'POST' or not request.is_ajax(): raise Http404 result = {} content_type = 'application/json; charset=utf-8' member_name_str = request.POST.get('user_name', '') member_list = string2list(member_name_str) for member_name in member_list: # Add user to contacts. mail_sended.send(sender=None, user=request.user.username, email=member_name) if not is_registered_user(member_name): err_msg = _(u'Failed to add, %s is not registrated.') % member_name result['error'] = err_msg return HttpResponse(json.dumps(result), status=400, content_type=content_type) # Check whether user is in the group if is_group_user(group_id, member_name): try: ccnet_threaded_rpc.group_set_admin(group_id, member_name) except SearpcError, e: result['error'] = _(e.msg) return HttpResponse(json.dumps(result), status=500, content_type=content_type) else: try: ccnet_threaded_rpc.group_add_member(group_id, request.user.username, member_name) ccnet_threaded_rpc.group_set_admin(group_id, member_name) except SearpcError, e: result['error'] = _(e.msg) return HttpResponse(json.dumps(result), status=500, content_type=content_type)
def setUp(self): self.login_as(self.admin) # create group for admin user self.admin_group_1_name = randstring(6) self.admin_group_1_id = ccnet_threaded_rpc.create_group( self.admin_group_1_name, self.admin.email) # create another group for admin user self.admin_group_2_name = randstring(6) self.admin_group_2_id = ccnet_threaded_rpc.create_group( self.admin_group_2_name, self.admin.email) # create repo for admin user self.admin_repo_name = randstring(6) r = seafile_api.get_repo( self.create_repo(name=self.admin_repo_name, desc='', username=self.admin.email, passwd=None)) self.admin_repo_id = r.id # set common user as staff in admin user's group ccnet_threaded_rpc.group_add_member(self.admin_group_1_id, self.admin.email, self.user.email) ccnet_threaded_rpc.group_set_admin(self.admin_group_1_id, self.user.email) # add common user to admin user's another group ccnet_threaded_rpc.group_add_member(self.admin_group_2_id, self.admin.email, self.user.email) # share admin user's repo to common user seafile_api.share_repo(self.admin_repo_id, self.admin.email, self.user.email, 'rw')