Skip to content

Commit efbd279

Browse files
raizasafeelmergify[bot]
authored andcommitted
fix(quiz): save current answer before submitting exam-mode quiz
(cherry picked from commit 538edbb)
1 parent b8e13e8 commit efbd279

2 files changed

Lines changed: 7 additions & 5 deletions

File tree

frontend/src/components/Quiz.vue

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -512,7 +512,7 @@ const handlePageHide = () => {
512512
if (activeQuestion.value > 0 && !quizSubmission.data) {
513513
const params = new URLSearchParams({
514514
quiz: quiz.data.name,
515-
results: localStorage.getItem(quiz.data.title),
515+
results: localStorage.getItem(quiz.data.title) || '[]',
516516
})
517517
518518
navigator.sendBeacon(
@@ -648,7 +648,7 @@ const quizSubmission = createResource({
648648
makeParams(values) {
649649
return {
650650
quiz: quiz.data.name,
651-
results: localStorage.getItem(quiz.data.title),
651+
results: localStorage.getItem(quiz.data.title) || '[]',
652652
}
653653
},
654654
})
@@ -833,7 +833,9 @@ const resetQuestion = () => {
833833
834834
const submitQuiz = () => {
835835
if (!quiz.data.show_answers) {
836-
if (questionDetails.data.type == 'Open Ended') addToLocalStorage()
836+
if (questionDetails.data.type == 'Open Ended' || getAnswers().length) {
837+
addToLocalStorage()
838+
}
837839
setTimeout(() => {
838840
createSubmission()
839841
}, 500)

lms/lms/doctype/lms_quiz/lms_quiz.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -101,8 +101,8 @@ def set_total_marks(questions: list) -> int:
101101

102102

103103
@frappe.whitelist()
104-
def submit_quiz(quiz: str, results: str):
105-
results = results and json.loads(results)
104+
def submit_quiz(quiz: str, results: str | None = None):
105+
results = json.loads(results) if results else []
106106
percentage = 0
107107

108108
quiz_details = frappe.db.get_value(

0 commit comments

Comments
 (0)