def submit_answers(): assignment_id = request.form.get('assignment_id', None) course_id = request.values.get('course_id', g.course.id if 'course' in g else None) if None in (assignment_id, course_id): return jsonify(success=False, message="No Assignment ID or Course ID given!") assignment_version = int(request.form.get('version', -1)) answer = request.form.get('submissions', '') Submission.save_code(g.user.id, int(assignment_id), int(course_id), answer, assignment_version) answer = float(request.form.get('score', '0')) return jsonify(success=True)
def save_code(lti=lti): assignment_id = request.values.get('assignment_id', None) assignment_version = int(request.values.get('version', -1)) course_id = request.values.get('course_id', g.course.id if 'course' in g else None) if None in (assignment_id, course_id) or course_id == "": return failure("No Assignment ID or Course ID given!") code = request.values.get('code', '') timestamp = request.values.get('timestamp', '') filename = request.values.get('filename', '__main__') is_version_correct = True if filename == "__main__": submission, is_version_correct = Submission.save_code( g.user.id, assignment_id, int(course_id), code, assignment_version, timestamp=timestamp) elif g.user.is_instructor(int(course_id)): if filename == "give_feedback": Assignment.edit(assignment_id=assignment_id, give_feedback=code) elif filename == "on_change": Assignment.edit(assignment_id=assignment_id, on_step=code) elif filename == "starting_code": Assignment.edit(assignment_id=assignment_id, starting_code=code) log = Log.new('instructor', filename, assignment_id, g.user.id, body=code, timestamp=timestamp) return jsonify(success=True, is_version_correct=is_version_correct, ip=request.remote_addr)
def save_code(lti=lti): assignment_id = request.form.get('assignment_id', None) assignment_version = int(request.form.get('version', -1)) course_id = request.form.get('course_id', g.course.id) if None in (assignment_id, course_id): return jsonify(success=False, message="No Assignment ID or Course ID given!") code = request.form.get('code', '') filename = request.form.get('filename', '__main__') is_version_correct = True if filename == "__main__": submission, is_version_correct = Submission.save_code(g.user.id, assignment_id, int(course_id), code, assignment_version) elif g.user.is_instructor(int(course_id)): if filename == "give_feedback": Assignment.edit(assignment_id=assignment_id, give_feedback=code) elif filename == "on_change": Assignment.edit(assignment_id=assignment_id, on_step=code) elif filename == "starting_code": Assignment.edit(assignment_id=assignment_id, starting_code=code) return jsonify(success=True, is_version_correct=is_version_correct)
def save_code(lti=lti): assignment_id = request.form.get('question_id', None) assignment_version = int(request.form.get('version', -1)) if assignment_id is None: return jsonify(success=False, message="No Assignment ID given!") code = request.form.get('code', '') filename = request.form.get('filename', '__main__') user = User.from_lti("canvas", session["pylti_user_id"], session.get("user_email", ""), session.get("lis_person_name_given", ""), session.get("lis_person_name_family", "")) is_version_correct = True if filename == "__main__": submission, is_version_correct = Submission.save_code(user.id, assignment_id, code, assignment_version) elif User.is_lti_instructor(session["roles"]): if filename == "on_run": Assignment.edit(assignment_id=assignment_id, on_run=code) elif filename == "on_change": Assignment.edit(assignment_id=assignment_id, on_step=code) elif filename == "starting_code": Assignment.edit(assignment_id=assignment_id, on_start=code) return jsonify(success=True, is_version_correct=is_version_correct)
def save_code(lti=lti): assignment_id = request.form.get('question_id', None) assignment_version = int(request.form.get('version', -1)) if assignment_id is None: return jsonify(success=False, message="No Assignment ID given!") code = request.form.get('code', '') filename = request.form.get('filename', '__main__') user = User.from_lti("canvas", session["pylti_user_id"], session.get("user_email", ""), session.get("lis_person_name_given", ""), session.get("lis_person_name_family", "")) is_version_correct = True if filename == "__main__": submission, is_version_correct = Submission.save_code( user.id, assignment_id, code, assignment_version) elif User.is_lti_instructor(session["roles"]): if filename == "on_run": Assignment.edit(assignment_id=assignment_id, on_run=code) elif filename == "on_change": Assignment.edit(assignment_id=assignment_id, on_step=code) elif filename == "starting_code": Assignment.edit(assignment_id=assignment_id, on_start=code) return jsonify(success=True, is_version_correct=is_version_correct)