From af21d33165997dc6514bd739a7667a9162470a77 Mon Sep 17 00:00:00 2001 From: Jannat Patel Date: Wed, 18 May 2022 10:47:49 +0530 Subject: [PATCH] fix: page reload condition --- lms/lms/doctype/lms_quiz/lms_quiz.py | 7 ++++--- lms/templates/quiz.html | 2 +- lms/www/batch/learn.js | 14 ++++++-------- 3 files changed, 11 insertions(+), 12 deletions(-) diff --git a/lms/lms/doctype/lms_quiz/lms_quiz.py b/lms/lms/doctype/lms_quiz/lms_quiz.py index dd0b4809..098fa7e4 100644 --- a/lms/lms/doctype/lms_quiz/lms_quiz.py +++ b/lms/lms/doctype/lms_quiz/lms_quiz.py @@ -46,13 +46,14 @@ class LMSQuiz(Document): @frappe.whitelist() def quiz_summary(quiz, results): score = 0 - results = json.loads(results) + results = results and json.loads(results) for result in results: correct = result["is_correct"][0] result["question"] = frappe.db.get_value("LMS Quiz Question", - {"parent": quiz, "idx": result["question_index"]}, - ["question"]) + {"parent": quiz, + "idx": result["question_index"]}, + ["question"]) for point in result["is_correct"]: correct = correct and point diff --git a/lms/templates/quiz.html b/lms/templates/quiz.html index 882bf135..8674f1ce 100644 --- a/lms/templates/quiz.html +++ b/lms/templates/quiz.html @@ -2,7 +2,7 @@
{{ quiz.title }}
{{ _("You have already exceeded the maximum number of attempts allowed for this quiz.") }}
-
{{ _("You latest score is {0}.").format(last_attempt_score) }}
+
{{ _("Your latest score is {0}.").format(last_attempt_score) }}
{% else %}
{{ quiz.title }}
diff --git a/lms/www/batch/learn.js b/lms/www/batch/learn.js index 387e9319..dc533e7d 100644 --- a/lms/www/batch/learn.js +++ b/lms/www/batch/learn.js @@ -51,11 +51,10 @@ frappe.ready(() => { mark_active_question(); }); - if ($("#quiz-title").data("max-attempts") && $(".active-question").length) { + if ($("#quiz-title").data("max-attempts")) { window.addEventListener("beforeunload", (e) => { - e.preventDefault(); - quiz_summary(); - e.returnValue = ''; + e.returnValue = ""; + $(".active-question").length && quiz_summary(); }); } }); @@ -169,7 +168,6 @@ const quiz_summary = (e=undefined) => { e && e.preventDefault(); var quiz_name = $("#quiz-title").text(); var total_questions = $(".question").length; - frappe.call({ method: "lms.lms.doctype.lms_quiz.lms_quiz.quiz_summary", args: { @@ -177,12 +175,12 @@ const quiz_summary = (e=undefined) => { "results": localStorage.getItem(quiz_name) }, callback: (data) => { - var message = data.message == total_questions ? "Excellent Work" : "You were almost there." + var message = data.message == total_questions ? __("Excellent Work 👏") : __("Better luck next time") $(".question").addClass("hide"); $("#summary").addClass("hide"); $("#quiz-form").parent().prepend( - `

${message} 👏

-
${data.message}/${total_questions} correct.
`); + `

${message}

+
${data.message}/${total_questions}
`); $("#try-again").removeClass("hide"); } })