From 8088a464ad12fb7aa41ab2a78df9def2c5236888 Mon Sep 17 00:00:00 2001 From: Jannat Patel Date: Mon, 5 Sep 2022 09:16:57 +0530 Subject: [PATCH] fix: dashboard creators section issue --- lms/lms/doctype/lms_course/lms_course.py | 9 ++++----- lms/lms/utils.py | 2 +- lms/overrides/user.py | 18 ++++++++++-------- 3 files changed, 15 insertions(+), 14 deletions(-) diff --git a/lms/lms/doctype/lms_course/lms_course.py b/lms/lms/doctype/lms_course/lms_course.py index 1d8096a4..0f497eb3 100644 --- a/lms/lms/doctype/lms_course/lms_course.py +++ b/lms/lms/doctype/lms_course/lms_course.py @@ -34,11 +34,10 @@ class LMSCourse(Document): self.send_email_to_interested_users() def send_email_to_interested_users(self): - interested_users = frappe.get_all("LMS Course Interest", - { - "course": self.name - }, - ["name", "user"]) + interested_users = frappe.get_all("LMS Course Interest", { + "course": self.name + }, + ["name", "user"]) subject = self.title + " is available!" args = { "title": self.title, diff --git a/lms/lms/utils.py b/lms/lms/utils.py index 30b201a0..5fd64ca3 100644 --- a/lms/lms/utils.py +++ b/lms/lms/utils.py @@ -239,7 +239,7 @@ def get_progress(course, lesson): def render_html(body, youtube, quiz_id): - if "/" in youtube: + if youtube and "/" in youtube: youtube = youtube.split("/")[-1] quiz_id = "{{ Quiz('" + quiz_id + "') }}" if quiz_id else "" diff --git a/lms/overrides/user.py b/lms/overrides/user.py index 324cf83c..00805c7a 100644 --- a/lms/overrides/user.py +++ b/lms/overrides/user.py @@ -128,6 +128,7 @@ def get_enrolled_courses(): in_progress = [] completed = [] memberships = get_course_membership(frappe.session.user, member_type="Student") + for membership in memberships: course = frappe.db.get_value("LMS Course", membership.course, ["name", "upcoming", "title", "image", "enable_certification", "paid_certificate", "price_certificate", "currency", "published"], as_dict=True) @@ -146,6 +147,7 @@ def get_enrolled_courses(): def get_course_membership(member, member_type=None): """ Returns all memberships of the user. """ + filters = { "member": member } @@ -158,20 +160,20 @@ def get_course_membership(member, member_type=None): def get_authored_courses(member, only_published=True): """ Returns the number of courses authored by this user. """ course_details = [] - - filters = { + courses = frappe.get_all("Course Instructor", { "instructor": member - } - if only_published: - filters["published"] = True - courses = frappe.get_all('LMS Course', filters) + }, ["parent"]) for course in courses: - course_details.append(frappe.db.get_value("LMS Course", course, - ["name", "upcoming", "title", "image", "enable_certification", "status"], as_dict=True)) + detail = frappe.db.get_value("LMS Course", course.parent, + ["name", "upcoming", "title", "image", "enable_certification", "status", "published"], as_dict=True) + if only_published and not detail.published: + continue + course_details.append(detail) return course_details + def get_palette(full_name): """ Returns a color unique to each member for Avatar """