From 028c0725c3502d6c0d68acdc87068e22d5bb5c5d Mon Sep 17 00:00:00 2001 From: Jannat Patel Date: Mon, 12 Dec 2022 11:17:51 +0530 Subject: [PATCH 1/2] fix: hide start learning when no lesson in course --- lms/lms/utils.py | 15 +++++++++++++++ lms/lms/widgets/CourseCard.html | 21 ++++++++++----------- 2 files changed, 25 insertions(+), 11 deletions(-) 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 %} From a78d1277020f2403b799c2bfaad9fe3fa586366f Mon Sep 17 00:00:00 2001 From: Jannat Patel Date: Mon, 12 Dec 2022 11:28:38 +0530 Subject: [PATCH 2/2] fix: formatting --- lms/lms/utils.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lms/lms/utils.py b/lms/lms/utils.py index 0dde3cfb..3a22fbdf 100644 --- a/lms/lms/utils.py +++ b/lms/lms/utils.py @@ -624,14 +624,14 @@ def show_start_learing_cta(course, membership): def has_lessons(course): lesson_exists = False - chapter_exists = frappe.db.get_value("Chapter Reference", { - "parent": course.name - }, ["name", "chapter"], as_dict=True) + 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 - }) + lesson_exists = frappe.db.exists( + "Lesson Reference", {"parent": chapter_exists.chapter} + ) return lesson_exists