feat: course and lesson completion count
This commit is contained in:
@@ -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
|
||||
}
|
||||
@@ -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
|
||||
|
||||
9
lms/patches/v0_0/set_member_in_progress.py
Normal file
9
lms/patches/v0_0/set_member_in_progress.py
Normal 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)
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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" %}
|
||||
|
||||
@@ -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">
|
||||
|
||||
Reference in New Issue
Block a user