feat: course and lesson completion count

This commit is contained in:
Jannat Patel
2022-11-09 15:21:08 +05:30
parent d3ea923da7
commit 94e7f6a1f4
7 changed files with 88 additions and 24 deletions

View File

@@ -5,6 +5,8 @@
"editable_grid": 1,
"engine": "InnoDB",
"field_order": [
"member",
"member_name",
"status",
"column_break_3",
"lesson",
@@ -26,7 +28,6 @@
"fetch_from": "lesson.chapter",
"fieldname": "chapter",
"fieldtype": "Link",
"in_list_view": 1,
"label": "Chapter",
"options": "Course Chapter",
"read_only": 1
@@ -49,11 +50,24 @@
{
"fieldname": "column_break_3",
"fieldtype": "Column Break"
},
{
"fieldname": "member",
"fieldtype": "Link",
"label": "Member",
"options": "User"
},
{
"fetch_from": "member.full_name",
"fieldname": "member_name",
"fieldtype": "Data",
"label": "Member Name",
"read_only": 1
}
],
"index_web_pages_for_search": 1,
"links": [],
"modified": "2021-09-30 13:07:54.246863",
"modified": "2022-11-09 14:24:06.312623",
"modified_by": "Administrator",
"module": "LMS",
"name": "LMS Course Progress",
@@ -74,5 +88,7 @@
],
"sort_field": "modified",
"sort_order": "DESC",
"states": [],
"title_field": "member_name",
"track_changes": 1
}

View File

@@ -34,3 +34,4 @@ lms.patches.v0_0.create_course_instructor_role #29-08-2022
lms.patches.v0_0.create_course_moderator_role
lms.patches.v0_0.set_dashboard #11-10-2022
lms.patches.v0_0.set_courses_page_as_home
lms.patches.v0_0.set_member_in_progress

View File

@@ -0,0 +1,9 @@
import frappe
def execute():
progress_records = frappe.get_all("LMS Course Progress", fields=["name", "owner"])
for progress in progress_records:
full_name = frappe.db.get_value("User", progress.owner, "full_name")
frappe.db.set_value("LMS Course Progress", progress.name, "member", progress.owner)
frappe.db.set_value("LMS Course Progress", progress.name, "member_name", full_name)

View File

@@ -1216,9 +1216,9 @@ pre {
}
.preview-video {
width: 100%;
height: 190px;
border: none;
width: 100%;
height: 190px;
border: none;
}
.course-body-container {
@@ -1715,6 +1715,11 @@ li {
grid-gap: 2rem;
}
.tab-pane .stats-parent {
grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
grid-gap: 1rem;
}
.stats-label {
color: var(--gray-900);
font-weight: 500;
@@ -1770,8 +1775,8 @@ li {
.frappe-chart .title {
font-size: 1rem;
font-weight: bold;
color: var(--gray-900);
font-weight: 500;
fill: var(--gray-900);
}
.course-description-section {
@@ -1799,3 +1804,7 @@ select {
appearance: none;
-webkit-appearance: none;
}
.course-list-cta {
float: right;
}

View File

@@ -33,17 +33,43 @@
{% endif %}
{% if enrollment_count %}
<div class="common-card-style p-4 flex-column">
<div class="stats-label">
{{ _("Enrollment Count") }}
</div>
<div class="stats-value">
{{ frappe.utils.fmt_money(
{% if enrollment_count %}
<div class="common-card-style p-4 flex-column">
<div class="stats-label">
{{ _("Enrollment Count") }}
</div>
<div class="stats-value">
{{ frappe.utils.fmt_money(
frappe.db.count("LMS Batch Membership")
, 0) }}
</div>
</div>
{% endif %}
</div>
</div>
{% endif %}
{% if course_completion %}
{% set course_completion_count = frappe.db.count("LMS Batch Membership", {
"progress":["=","100"]
}) %}
<div class="common-card-style p-4 flex-column">
<div class="stats-label">
{{ _("Courses Completed") }}
</div>
<div class="stats-value">
{{ frappe.utils.fmt_money(course_completion_count, 0) }}
</div>
</div>
{% endif %}
{% if lesson_completion %}
{% set lesson_completion_count = frappe.db.count("LMS Course Progress") %}
<div class="common-card-style p-4 flex-column">
<div class="stats-label">
{{ _("Lessons Completed") }}
</div>
<div class="stats-value">
{{ frappe.utils.fmt_money(lesson_completion_count, 0) }}
</div>
</div>
{% endif %}
</div>

View File

@@ -1,6 +1,9 @@
{% set published_courses = True %}
{% set total_signups = True %}
{% set enrollment_count = True %}
{% set course_completion = True %}
{% set lesson_completion = True %}
{% set quiz_completion = True %}
<div class="mt-10">
{% include "lms/templates/statistics.html" %}

View File

@@ -29,24 +29,24 @@
<!-- {% include "lms/templates/search_course/search_course.html" %} -->
<div class="course-home-headings">
{{ _("All Courses") }}
</div>
<div class="pull-right">
<div class="course-list-cta">
{% if frappe.session.user != "Guest" %}
<a class="btn btn-secondary btn-sm" href="/users">
<a class="btn btn-default btn-sm" href="/users">
{{ _("My Profile") }}
</a>
{% endif %}
{% if show_creators_section %}
<a class="btn btn-secondary btn-sm ml-2" href="/courses/new-course">
<a class="btn btn-default btn-sm ml-2" href="/courses/new-course">
{{ _("Create a Course") }}
</a>
{% endif %}
</div>
<div class="course-home-headings">
{{ _("All Courses") }}
</div>
<ul class="nav lms-nav" id="courses-tab">
<li class="nav-item">
<a class="nav-link active" data-toggle="tab" href="#live">