From 61f547733c6b6f2a42785924c65fef9280984d9c Mon Sep 17 00:00:00 2001 From: Fahid Latheef Alungal Date: Wed, 23 Jul 2025 01:22:33 +0530 Subject: [PATCH] fix: Continue Learning button not working for SCORM Chapters --- frontend/src/pages/Lesson.vue | 9 +++++++++ lms/lms/utils.py | 12 ++++++++++-- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/frontend/src/pages/Lesson.vue b/frontend/src/pages/Lesson.vue index bbf5a96f..5e59b7da 100644 --- a/frontend/src/pages/Lesson.vue +++ b/frontend/src/pages/Lesson.vue @@ -425,6 +425,15 @@ const setupLesson = (data) => { }) return } + if (data.is_scorm_package) { + router.push({ + name: 'SCORMChapter', + params: { + courseName: props.courseName, + chapterName: data.chapter_name, + }, + }) + } lessonProgress.value = data.membership?.progress if (data.content) editor.value = renderEditor('editor', data.content) if ( diff --git a/lms/lms/utils.py b/lms/lms/utils.py index 9f6ef546..5adde244 100644 --- a/lms/lms/utils.py +++ b/lms/lms/utils.py @@ -1222,14 +1222,22 @@ def get_course_outline(course, progress=False): @frappe.whitelist(allow_guest=True) def get_lesson(course, chapter, lesson): chapter_name = frappe.db.get_value("Chapter Reference", {"parent": course, "idx": chapter}, "chapter") + is_scorm_chapter = frappe.db.get_value("Course Chapter", chapter_name, "is_scorm_package") lesson_name = frappe.db.get_value("Lesson Reference", {"parent": chapter_name, "idx": lesson}, "lesson") lesson_details = frappe.db.get_value( "Course Lesson", lesson_name, - ["include_in_preview", "title", "is_scorm_package"], + ["include_in_preview", "title"], as_dict=1, ) - if not lesson_details or lesson_details.is_scorm_package: + + if is_scorm_chapter: + return { + "is_scorm_package": True, + "chapter_name": chapter_name, + } + + if not lesson_details: return {} membership = get_membership(course)