fix: course list page performance
This commit is contained in:
@@ -198,7 +198,8 @@ jinja = {
|
|||||||
"lms.lms.utils.has_course_instructor_role",
|
"lms.lms.utils.has_course_instructor_role",
|
||||||
"lms.lms.utils.has_course_moderator_role",
|
"lms.lms.utils.has_course_moderator_role",
|
||||||
"lms.lms.utils.get_certificates",
|
"lms.lms.utils.get_certificates",
|
||||||
"lms.lms.utils.format_number"
|
"lms.lms.utils.format_number",
|
||||||
|
"lms.lms.utils.get_lesson_count"
|
||||||
],
|
],
|
||||||
"filters": []
|
"filters": []
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -508,4 +508,10 @@ def create_notification_log(doc, method):
|
|||||||
make_notification_logs(notification, users)
|
make_notification_logs(notification, users)
|
||||||
|
|
||||||
|
|
||||||
|
def get_lesson_count(course):
|
||||||
|
lesson_count = 0
|
||||||
|
chapters = frappe.get_all("Chapter Reference", {"parent": course}, ["chapter"])
|
||||||
|
for chapter in chapters:
|
||||||
|
lesson_count += frappe.db.count("Lesson Reference", {"parent": chapter.chapter})
|
||||||
|
|
||||||
|
return lesson_count
|
||||||
|
|||||||
@@ -16,12 +16,13 @@
|
|||||||
|
|
||||||
<div class="course-card-content">
|
<div class="course-card-content">
|
||||||
<div class="course-card-meta">
|
<div class="course-card-meta">
|
||||||
{% if get_lessons(course.name) | length %}
|
{% set lesson_count = get_lesson_count(course.name) %}
|
||||||
|
{% if lesson_count %}
|
||||||
<div class="vertically-center">
|
<div class="vertically-center">
|
||||||
<svg class="icon icon-md">
|
<svg class="icon icon-md">
|
||||||
<use href="#icon-education"></use>
|
<use href="#icon-education"></use>
|
||||||
</svg>
|
</svg>
|
||||||
{{ get_lessons(course.name) | length }}
|
{{ lesson_count }}
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user