def update_task(_id, field): if field == 'tags': tags_model.set(_id, g.user, json.loads(request.form['value'])) else: task_model.update(_id, field, request.form['value']) if field == 'assignee': events.mediator('assigned', task_id=_id, user_id=request.form['value']) if field == 'status': events.mediator('status_update', task_id=_id) return Response(status=200)
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)
def add_user_to_org(org_id, username): role = request.form['role'] if not (permission_model.permitted(g.user, org_id, PermissionTags.EDIT_USER) and permission_model.role_gte(g.user, org_id, role)): raise InsufficientPermission() user_id = user_model.id_from('email', username) if user_id: org_model.add_user(org_id, user_id, role=role) events.mediator('added_to_project', email=username, project=org_id) else: # Add user to waiting list user_model.add_to_waiting_list(username, org_id, role) events.mediator('invite', email=username, org_id=org_id) org = org_model.get(org_id) return Response(json.dumps(org), status=200, content_type='application/json')
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')