def delete_groups(): """Delete groups.""" group_ids = get_resource_ids(request.json, 'groups') # Check permissions first for group_id in group_ids: get_group_info(group_id, need_admin=True) # Delete groups for group_id in group_ids: local.model.delete_group(group_id) abort(httplib.NO_CONTENT)
def delete_groups(): """Delete groups.""" group_ids = get_resource_ids(request.json, 'groups') # Check permissions first for group_id in group_ids: get_group_info(group_id, need_admin=True) # Delete groups for group_id in group_ids: local.model.delete_group(group_id) abort(http.client.NO_CONTENT)
def fetch_group(group_spec): """Fetch a single group.""" group = get_group_info(group_spec, need_admin=False, access_all_groups=True) load_group_members(group) document = GroupSchema().dump(group).data include_group_relationships(document, [group]) return document
def delete_group_members(group_spec): # For now, both routes will delete a member entirely from the group. user_ids = get_resource_ids(request.json, 'users') group = get_group_info(group_spec, need_admin=True) for user_id in user_ids: local.model.delete_user_in_group(user_id, group['uuid']) abort(http.client.NO_CONTENT)
def fetch_group(group_spec): """Fetch a single group.""" group = get_group_info(group_spec, need_admin=False, access_all_groups=True) load_group_members(group) document = GroupSchema().dump(group).data include_group_relationships(document, [group]) return document
def delete_group_members(group_spec): # For now, both routes will delete a member entirely from the group. user_ids = get_resource_ids(request.json, 'users') group = get_group_info(group_spec, need_admin=True) for user_id in user_ids: local.model.delete_user_in_group(user_id, group['uuid']) abort(httplib.NO_CONTENT)
def add_group_members_helper(group_spec, is_admin): user_ids = get_resource_ids(request.json, 'users') group_uuid = get_group_info(group_spec, need_admin=True)['uuid'] members = set(m['user_id'] for m in local.model.batch_get_user_in_group( user_id=user_ids, group_uuid=group_uuid)) for user_id in user_ids: if user_id in members: local.model.update_user_in_group(user_id, group_uuid, is_admin) else: local.model.add_user_in_group(user_id, group_uuid, is_admin) return request.json
def add_group_members_helper(group_spec, is_admin): user_ids = get_resource_ids(request.json, 'users') group_info = get_group_info(group_spec, need_admin=True, access_all_groups=False) group_uuid = group_info['uuid'] group_owner = group_info['owner_id'] if group_owner in user_ids: raise UsageError("Cannot relegate the group owner into non-admin status") members = set( m['user_id'] for m in local.model.batch_get_user_in_group(user_id=user_ids, group_uuid=group_uuid) ) for user_id in user_ids: if user_id in members: local.model.update_user_in_group(user_id, group_uuid, is_admin) else: local.model.add_user_in_group(user_id, group_uuid, is_admin) return request.json
def add_group_members_helper(group_spec, is_admin): user_ids = get_resource_ids(request.json, 'users') group_info = get_group_info(group_spec, need_admin=True, access_all_groups=False) group_uuid = group_info['uuid'] group_owner = group_info['owner_id'] if group_owner in user_ids: raise UsageError("Cannot relegate the group owner into non-admin status") members = set( m['user_id'] for m in local.model.batch_get_user_in_group(user_id=user_ids, group_uuid=group_uuid) ) for user_id in user_ids: if user_id in members: local.model.update_user_in_group(user_id, group_uuid, is_admin) else: local.model.add_user_in_group(user_id, group_uuid, is_admin) return request.json