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_moderator_role",
|
||||
"lms.lms.utils.get_certificates",
|
||||
"lms.lms.utils.format_number"
|
||||
"lms.lms.utils.format_number",
|
||||
"lms.lms.utils.get_lesson_count"
|
||||
],
|
||||
"filters": []
|
||||
}
|
||||
|
||||
@@ -508,4 +508,10 @@ def create_notification_log(doc, method):
|
||||
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
|
||||
|
||||
@@ -14,14 +14,15 @@
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
<div class="course-card-content">
|
||||
<div class="course-card-content">
|
||||
<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">
|
||||
<svg class="icon icon-md">
|
||||
<use href="#icon-education"></use>
|
||||
</svg>
|
||||
{{ get_lessons(course.name) | length }}
|
||||
{{ lesson_count }}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
@@ -125,5 +126,5 @@
|
||||
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user