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)