def save_solution(assignment, path): code = Code() solution = Solution() if current_user.role.name in ["teacher", "admin"]: solution = Solution.query.filter_by( assignment_id=assignment.id, is_default=True).first() if not solution: solution = Solution() solution.is_default = True else: solution = Solution.query.filter_by( assignment_id=assignment.id, is_default=False, is_submitted=False, user_id=current_user.id).first() if not solution: solution = Solution() solution.is_default = False solution.set_user(current_user) solution.set_assignment(assignment) # no multiple solutions only one code.. if solution and solution.code: code = solution.code code.path = path solution.set_code(code) db.session.add(assignment) db.session.add(code) db.session.add(solution) db.session.commit()
def save_template(assignment, path): code = Code() if assignment.template: template = assignment.template if template.code: code = template.code else: code.path = path else: template = Template() assignment.set_template(template) code.path = path template.set_code(code) db.session.add(code) db.session.add(template) db.session.add(assignment) db.session.commit()
def save_test(assignment, path): code = Code() if assignment.test: test = assignment.test if test.code: code = test.code else: code.path = path else: test = Test() assignment.set_test(test) code.path = path test.set_code(code) db.session.add(code) db.session.add(test) db.session.add(assignment) db.session.commit()