Exemplo n.º 1
0
def get_user_current_goals():
    student = models.UserData.current() or models.UserData.pre_phantom()

    user_override = request.request_user_data("email")
    if user_override and user_override.key_email != student.key_email:
        if not user_override.is_visible_to(student):
            return api_unauthorized_response("Cannot view this profile")
        else:
            # Allow access to this student's profile
            student = user_override

    goals = GoalList.get_current_goals(student)
    return [g.get_visible_data() for g in goals]
Exemplo n.º 2
0
    user_data_coach = get_user_data_coach_from_request()

    try:
        students = get_students_data_from_request(user_data_coach)
    except Exception, e:
        return api_invalid_param_response(e.message)

    students = sorted(students, key=lambda student: student.nickname)
    user_exercise_graphs = models.UserExerciseGraph.get(students)

    return_data = []
    for student, uex_graph in izip(students, user_exercise_graphs):
        student_data = {}
        student_data['email'] = student.email
        student_data['nickname'] = student.nickname
        goals = GoalList.get_current_goals(student)
        student_data['goals'] = [g.get_visible_data(uex_graph) for g in goals]
        return_data.append(student_data)

    return return_data

@route("/api/v1/user/goals", methods=["POST"])
@oauth_optional()
@api_create_phantom
@jsonp
@jsonify
def create_user_goal():
    user_data = models.UserData.current()
    if not user_data:
        return api_invalid_param_response("User is not logged in.")