Merge pull request #1369 from FahidLatheef/fix/continue-learning
fix: fixed issue with Lesson Render for SCORM Chapters
This commit is contained in:
@@ -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 (
|
||||
|
||||
@@ -1020,7 +1020,7 @@ def upsert_chapter(title, course, is_scorm_package, scorm_package, name=None):
|
||||
chapter.save()
|
||||
|
||||
if is_scorm_package and not len(chapter.lessons):
|
||||
add_lesson(title, chapter.name, course)
|
||||
add_lesson(title, chapter.name, course, 1)
|
||||
|
||||
return chapter
|
||||
|
||||
@@ -1092,7 +1092,7 @@ def get_launch_file(extract_path):
|
||||
return launch_file
|
||||
|
||||
|
||||
def add_lesson(title, chapter, course):
|
||||
def add_lesson(title, chapter, course, idx):
|
||||
lesson = frappe.new_doc("Course Lesson")
|
||||
lesson.update(
|
||||
{
|
||||
@@ -1107,6 +1107,7 @@ def add_lesson(title, chapter, course):
|
||||
lesson_reference.update(
|
||||
{
|
||||
"lesson": lesson.name,
|
||||
"idx": idx,
|
||||
"parent": chapter,
|
||||
"parenttype": "Course Chapter",
|
||||
"parentfield": "lessons",
|
||||
|
||||
@@ -1229,9 +1229,16 @@ def get_lesson(course, chapter, lesson):
|
||||
["include_in_preview", "title", "is_scorm_package"],
|
||||
as_dict=1,
|
||||
)
|
||||
if not lesson_details or lesson_details.is_scorm_package:
|
||||
|
||||
if not lesson_details:
|
||||
return {}
|
||||
|
||||
if lesson_details.is_scorm_package:
|
||||
return {
|
||||
"is_scorm_package": True,
|
||||
"chapter_name": chapter_name,
|
||||
}
|
||||
|
||||
membership = get_membership(course)
|
||||
course_info = frappe.db.get_value(
|
||||
"LMS Course",
|
||||
|
||||
@@ -110,4 +110,5 @@ lms.patches.v2_0.link_zoom_account_to_batch
|
||||
lms.patches.v2_0.sidebar_for_certified_members
|
||||
lms.patches.v2_0.move_batch_instructors_to_evaluators
|
||||
lms.patches.v2_0.enable_programming_exercises_in_sidebar
|
||||
lms.patches.v2_0.count_in_program
|
||||
lms.patches.v2_0.count_in_program
|
||||
lms.patches.v2_0.fix_scorm_lesson_reference_idx
|
||||
|
||||
13
lms/patches/v2_0/fix_scorm_lesson_reference_idx.py
Normal file
13
lms/patches/v2_0/fix_scorm_lesson_reference_idx.py
Normal file
@@ -0,0 +1,13 @@
|
||||
import frappe
|
||||
|
||||
|
||||
def execute():
|
||||
scorm_lessons = frappe.get_all("Course Lesson", filters={"is_scorm_package": 1}, pluck="name")
|
||||
table = frappe.qb.DocType("Lesson Reference")
|
||||
|
||||
q = frappe.qb.from_(table).select(table.name).where(table.lesson.isin(scorm_lessons) & table.idx == 0)
|
||||
wrong_idx_lesson_references = q.run(pluck=True)
|
||||
|
||||
for lesson_reference in wrong_idx_lesson_references:
|
||||
# For SCORM, there is only 1 lesson per chapter, so directly setting 1 is fine
|
||||
frappe.db.set_value("Lesson Reference", lesson_reference, "idx", 1)
|
||||
Reference in New Issue
Block a user