fix: course list page performance

This commit is contained in:
Jannat Patel
2022-09-29 13:19:09 +05:30
parent 0704d7f4a4
commit 41a9e422d5
3 changed files with 115 additions and 107 deletions

View File

@@ -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": []
}

View File

@@ -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

View File

@@ -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>