diff --git a/lms/lms/doctype/lms_course/lms_course.py b/lms/lms/doctype/lms_course/lms_course.py index 001c440a..ad3fae22 100644 --- a/lms/lms/doctype/lms_course/lms_course.py +++ b/lms/lms/doctype/lms_course/lms_course.py @@ -258,6 +258,7 @@ def save_chapter(course, title, chapter_description, idx, chapter): return doc.name + @frappe.whitelist() def save_lesson(title, body, chapter, preview, idx, lesson): if lesson: diff --git a/lms/lms/doctype/lms_quiz/lms_quiz.py b/lms/lms/doctype/lms_quiz/lms_quiz.py index 22d19337..7cb5e101 100644 --- a/lms/lms/doctype/lms_quiz/lms_quiz.py +++ b/lms/lms/doctype/lms_quiz/lms_quiz.py @@ -5,6 +5,7 @@ import frappe from frappe.model.document import Document import json from frappe import _ +from frappe.utils import cstr class LMSQuiz(Document): def validate(self): @@ -77,3 +78,31 @@ def quiz_summary(quiz, results): }).save(ignore_permissions=True) return score + + +@frappe.whitelist() +def save_quiz(quiz_title, questions): + doc = frappe.get_doc({ + "doctype": "LMS Quiz", + "title": quiz_title + }) + doc.save(ignore_permissions=True) + for index, row in enumerate(json.loads(questions)): + question_details = { + "doctype": "LMS Quiz Question", + "parent": doc.name, + "question": row["question"], + "parenttype": "LMS Quiz", + "parentfield": "questions", + "idx": index + 1 + } + + for num in range(1,5): + question_details["option_" + cstr(num)] = row["option_" + cstr(num)] + question_details["explanation_" + cstr(num)] = row["explanation_" + cstr(num)] + question_details["is_correct_" + cstr(num)] = row["is_correct_" + cstr(num)] + + question_doc = frappe.get_doc(question_details) + question_doc.save(ignore_permissions=True) + + return doc.name diff --git a/lms/public/js/common_functions.js b/lms/public/js/common_functions.js index dedd0250..c44dcb9e 100644 --- a/lms/public/js/common_functions.js +++ b/lms/public/js/common_functions.js @@ -135,9 +135,6 @@ const scroll_to_chapter_container = () => { const save_chapter = (e) => { let target = $(e.currentTarget); let parent = target.closest(".chapter-parent"); - console.log(parent) - console.log(parent.find(".chapter-description")) - debugger; frappe.call({ method: "lms.lms.doctype.lms_course.lms_course.save_chapter", args: { diff --git a/lms/www/batch/quiz.js b/lms/www/batch/quiz.js index 86b98ddd..09ba2404 100644 --- a/lms/www/batch/quiz.js +++ b/lms/www/batch/quiz.js @@ -12,7 +12,7 @@ frappe.ready(() => { const add_question = (e) => { - let add_after = $(".quiz-card").length ? $(".quiz-card") : $("#quiz-title"); + let add_after = $(".quiz-card").length ? $(".quiz-card:last") : $("#quiz-title"); let question_template = `