feat: quiz validations and marks

This commit is contained in:
Jannat Patel
2023-10-16 19:52:36 +05:30
parent 174ea1ddd4
commit 12bec14c92
10 changed files with 140 additions and 47 deletions

View File

@@ -109,7 +109,28 @@ def quiz_renderer(quiz_name):
)
+"</div>"
quiz = frappe.get_doc("LMS Quiz", quiz_name)
quiz = frappe.db.get_value(
"LMS Quiz",
quiz_name,
["name", "title", "max_attempts", "show_answers", "show_submission_history"],
as_dict=True,
)
quiz.questions = []
fields = ["name", "question", "type", "multiple"]
for num in range(1, 5):
fields.append(f"option_{num}")
fields.append(f"is_correct_{num}")
fields.append(f"explanation_{num}")
fields.append(f"possibility_{num}")
questions = frappe.get_all(
"LMS Quiz Question", {"parent": quiz.name}, pluck="question", order_by="idx"
)
for question in questions:
details = frappe.db.get_value("LMS Question", question, fields, as_dict=1)
quiz.questions.append(details)
no_of_attempts = frappe.db.count(
"LMS Quiz Submission", {"owner": frappe.session.user, "quiz": quiz_name}
)