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 %}