fix: show progress on class schedule
This commit is contained in:
@@ -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"],
|
||||
)
|
||||
|
||||
|
||||
@@ -570,6 +570,13 @@
|
||||
</svg>
|
||||
|
||||
{{ lesson.title }}
|
||||
|
||||
{% if get_membership(lesson.course, current_student.name) %}
|
||||
{% set lesson_progress = get_progress(lesson.course, lesson.name, current_student.name) %}
|
||||
<svg class="icon icon-md lesson-progress-tick ml-3 {% if lesson_progress != 'Complete' %} hide {% endif %}">
|
||||
<use class="" href="#icon-success">
|
||||
</svg>
|
||||
{% endif %}
|
||||
</a>
|
||||
<div class="w-25">
|
||||
{{ frappe.utils.format_date(lesson.date, "medium") }}
|
||||
|
||||
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user