Пример #1
0
def kick_user(org_id, user_id):
    if not permission_model.permitted(g.user, org_id, PermissionTags.EDIT_USER):
        raise InsufficientPermission()

    if org_model.has_user(org_id, user_id):
        role = permission_model.get_role(user_id, org_id)
        if not permission_model.role_gte(g.user, org_id, role):
            raise InsufficientPermission()
        org_model.remove_user(org_id, user_id)
        events.mediator('kick', user_id=user_id, org_id=org_id)
    else:
        user_model.remove_from_waiting_list(user_id, org_id)

    return Response(status=204)
Пример #2
0
def create_user():
    user = user_model.create({
        'email': request.form['email'],
        'name': request.form['name'],
        'password': request.form['password'],
    })

    for example_org_name in settings.EXAMPLE_ORGS:
        org_id = org_model.id_from('name', example_org_name)
        if org_id:
            org_model.add_user(org_id, user['id'])

    # Add user to waiting list orgs
    waiting_list = user_model.get_waiting_list_for_email(user['email'])
    if waiting_list:
        added_orgs = []
        for entry in waiting_list:
            org_id, role = entry.split('_')
            org_model.add_user(org_id, user['id'], role=role)
            user_model.remove_from_waiting_list(user['email'], org_id)
    else:
        events.mediator('signed_up', email=user['email'], name=user['name'])

    return Response(json.dumps(user), status=201, content_type='application/json')