diff --git a/lms/lms/utils.py b/lms/lms/utils.py
index 5d0279f8..0dde3cfb 100644
--- a/lms/lms/utils.py
+++ b/lms/lms/utils.py
@@ -618,9 +618,24 @@ def show_start_learing_cta(course, membership):
and not check_profile_restriction()
and not is_instructor(course.name)
and course.status == "Approved"
+ and has_lessons(course)
)
+def has_lessons(course):
+ lesson_exists = False
+ chapter_exists = frappe.db.get_value("Chapter Reference", {
+ "parent": course.name
+ }, ["name", "chapter"], as_dict=True)
+
+ if chapter_exists:
+ lesson_exists = frappe.db.exists("Lesson Reference", {
+ "parent": chapter_exists.chapter
+ })
+
+ return lesson_exists
+
+
@frappe.whitelist(allow_guest=True)
def get_chart_data(chart_name, timespan, timegrain, from_date, to_date):
chart = frappe.get_doc("Dashboard Chart", chart_name)
diff --git a/lms/lms/widgets/CourseCard.html b/lms/lms/widgets/CourseCard.html
index 8fdf477f..78472396 100644
--- a/lms/lms/widgets/CourseCard.html
+++ b/lms/lms/widgets/CourseCard.html
@@ -1,5 +1,6 @@
{% if frappe.session.user != "Guest" %}
-{% set membership = frappe.db.get_value("LMS Batch Membership", {"member": frappe.session.user},
+{% set membership = frappe.db.get_value("LMS Batch Membership",
+ {"member": frappe.session.user, "course": course.name},
["name", "course", "batch", "current_lesson", "member_type", "progress"], as_dict=1) %}
{% set progress = frappe.utils.cint(membership.progress) %}
{% else %}
@@ -113,19 +114,17 @@
{% if read_only %}
- {% else %}
-
- {% set lesson_index = get_lesson_index(membership.current_lesson) if membership and
- membership.current_lesson else '1.1' %}
- {% set query_parameter = "?batch=" + membership.batch if membership and
- membership.batch else "" %}
-
+ {% else %}
{% if progress != 100 and membership and not course.upcoming %}
-
- {% else %}
-
+ {% set lesson_index = get_lesson_index(membership.current_lesson or "1.1") %}
+ {% set query_parameter = "?batch=" + membership.batch if membership.batch else "" %}
+
+
+
+ {% else %}
+
{% endif %}
{% endif %}