diff --git a/zesje/pregrader.py b/zesje/pregrader.py index a70fbf141a52e039d29fc6dd5fbc7ef557e8796f..c425d5d508ca424ba6bde7e811da13c14cb5e712 100644 --- a/zesje/pregrader.py +++ b/zesje/pregrader.py @@ -9,7 +9,7 @@ # coupled feedback cannot be deleted -from zesje.database import db, Exam, Submission, Solution +from zesje.database import db, Exam, Submission, Solution, Problem def pregrade(exam_token, image): @@ -39,17 +39,17 @@ def add_feedback_to_solution(page_img, barcode): exam = Exam.query.filter(Exam.token == barcode.token).first() sub = Submission.query.filter(Submission.copy_number == barcode.copy, Submission.exam_id == exam.id).one_or_none() - problems_on_page = [p for p in exam.problems if p.widget.page == barcode.page] + problems_on_page = Problem.query.filter(Problem.widget.page == barcode.page).all() for problem in problems_on_page: for mc_option in problem.mc_options: box = (mc_option.x, mc_option.y) - sol = [s for s in sub.solutions if s.submission_id == sub.id] + sol = Solution.query.filter(Solution.submission_id == sub.id).one_or_none() # check if box is filled if box_is_filled(box, page_img): - sol.feedback = mc_option.feedback + sol.feedback.append(mc_option.feedback) db.session.commit()