Example #1
0
def post_sole(course_id):
    """Create a new sole.
    """
    # authenticate the user
    user, err = auth.get_user_from_request(db, request)
    if err:
        return json_error(err)

    # validate and format the POST data
    user_id = str(user.get('id'))
    data = json.loads(request.data)
    s = Sole.format_params_for_create(user_id, data)
    err = Sole.validate_params_for_create(s)
    if err:
        return json_error(err)

    # create the sole
    sole_id = Sole.create_new_sole(db, s)

    # format response
    s = Sole.find_by_id(db, sole_id)
    ss = User.update_sole_with_students(db, s)

    # enqueue an email to be sent to the creator
    resq.enqueue(EmailCreator, str(sole_id))

    return json.dumps(ss)