fix: show progress on class schedule
This commit is contained in:
@@ -282,10 +282,13 @@ def get_slugified_chapter_title(chapter):
|
|||||||
return slugify(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(
|
return frappe.db.get_value(
|
||||||
"LMS Course Progress",
|
"LMS Course Progress",
|
||||||
{"course": course, "owner": frappe.session.user, "lesson": lesson},
|
{"course": course, "owner": member, "lesson": lesson},
|
||||||
["status"],
|
["status"],
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -570,6 +570,13 @@
|
|||||||
</svg>
|
</svg>
|
||||||
|
|
||||||
{{ lesson.title }}
|
{{ 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>
|
</a>
|
||||||
<div class="w-25">
|
<div class="w-25">
|
||||||
{{ frappe.utils.format_date(lesson.date, "medium") }}
|
{{ frappe.utils.format_date(lesson.date, "medium") }}
|
||||||
|
|||||||
@@ -221,16 +221,11 @@ def get_scheduled_flow(class_name):
|
|||||||
)
|
)
|
||||||
|
|
||||||
for lesson in lessons:
|
for lesson in lessons:
|
||||||
lesson.update(
|
lesson = get_lesson_details(lesson, class_name)
|
||||||
frappe.db.get_value(
|
chapter_exists = [
|
||||||
"Course Lesson", lesson.lesson, ["title", "body", "course", "chapter"], as_dict=True
|
chapter for chapter in chapters if chapter.chapter == lesson.chapter
|
||||||
)
|
]
|
||||||
)
|
|
||||||
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)
|
|
||||||
|
|
||||||
chapter_exists = list(filter(lambda x: x.chapter == lesson.chapter, chapters))
|
|
||||||
if len(chapter_exists) == 0:
|
if len(chapter_exists) == 0:
|
||||||
chapters.append(
|
chapters.append(
|
||||||
frappe._dict(
|
frappe._dict(
|
||||||
@@ -247,6 +242,21 @@ def get_scheduled_flow(class_name):
|
|||||||
return chapters
|
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):
|
def get_current_student_details(class_courses, class_name):
|
||||||
student_details = frappe._dict()
|
student_details = frappe._dict()
|
||||||
student_details.courses = frappe._dict()
|
student_details.courses = frappe._dict()
|
||||||
|
|||||||
Reference in New Issue
Block a user