diff --git a/lms/lms/utils.py b/lms/lms/utils.py index f7ecaa72..d472e6cf 100644 --- a/lms/lms/utils.py +++ b/lms/lms/utils.py @@ -282,10 +282,13 @@ def get_slugified_chapter_title(chapter): return slugify(chapter) -def get_progress(course, lesson): +def get_progress(course, lesson, member=None): + if not member: + member = frappe.session.user + return frappe.db.get_value( "LMS Course Progress", - {"course": course, "owner": frappe.session.user, "lesson": lesson}, + {"course": course, "owner": member, "lesson": lesson}, ["status"], ) diff --git a/lms/www/classes/class.html b/lms/www/classes/class.html index 0239d298..df151536 100644 --- a/lms/www/classes/class.html +++ b/lms/www/classes/class.html @@ -570,6 +570,13 @@ {{ lesson.title }} + + {% if get_membership(lesson.course, current_student.name) %} + {% set lesson_progress = get_progress(lesson.course, lesson.name, current_student.name) %} + + + + {% endif %}
{{ frappe.utils.format_date(lesson.date, "medium") }} diff --git a/lms/www/classes/class.py b/lms/www/classes/class.py index b57aa904..589d6db0 100644 --- a/lms/www/classes/class.py +++ b/lms/www/classes/class.py @@ -221,16 +221,11 @@ def get_scheduled_flow(class_name): ) for lesson in lessons: - lesson.update( - frappe.db.get_value( - "Course Lesson", lesson.lesson, ["title", "body", "course", "chapter"], as_dict=True - ) - ) - lesson.index = get_lesson_index(lesson.lesson) - lesson.url = get_lesson_url(lesson.course, lesson.index) + "?class=" + class_name - lesson.icon = get_lesson_icon(lesson.body) + lesson = get_lesson_details(lesson, class_name) + chapter_exists = [ + chapter for chapter in chapters if chapter.chapter == lesson.chapter + ] - chapter_exists = list(filter(lambda x: x.chapter == lesson.chapter, chapters)) if len(chapter_exists) == 0: chapters.append( frappe._dict( @@ -247,6 +242,21 @@ def get_scheduled_flow(class_name): return chapters +def get_lesson_details(lesson, class_name): + lesson.update( + frappe.db.get_value( + "Course Lesson", + lesson.lesson, + ["name", "title", "body", "course", "chapter"], + as_dict=True, + ) + ) + lesson.index = get_lesson_index(lesson.lesson) + lesson.url = get_lesson_url(lesson.course, lesson.index) + "?class=" + class_name + lesson.icon = get_lesson_icon(lesson.body) + return lesson + + def get_current_student_details(class_courses, class_name): student_details = frappe._dict() student_details.courses = frappe._dict()