diff --git a/frontend/src/components/CourseCard.vue b/frontend/src/components/CourseCard.vue index b4794bcf..d26f5130 100644 --- a/frontend/src/components/CourseCard.vue +++ b/frontend/src/components/CourseCard.vue @@ -16,7 +16,8 @@ {{ __('Featured') }}
{{ tag }} diff --git a/frontend/src/pages/Courses.vue b/frontend/src/pages/Courses.vue index cf52fd37..4512e820 100644 --- a/frontend/src/pages/Courses.vue +++ b/frontend/src/pages/Courses.vue @@ -201,17 +201,19 @@ const updateTabFilter = () => { if (!user.data) { return } + delete filters.value['live'] delete filters.value['created'] delete filters.value['published_on'] delete filters.value['upcoming'] + if (currentTab.value == 'Enrolled' && user.data?.is_student) { filters.value['enrolled'] = 1 delete filters.value['published'] - } else if (user.data?.is_student) { - delete filters.value['enrolled'] } else { delete filters.value['published'] + delete filters.value['enrolled'] + if (currentTab.value == 'Live') { filters.value['published'] = 1 filters.value['upcoming'] = 0 diff --git a/lms/lms/utils.py b/lms/lms/utils.py index 6ccd8ed4..b1a73e86 100644 --- a/lms/lms/utils.py +++ b/lms/lms/utils.py @@ -1006,6 +1006,7 @@ def get_courses(filters=None, start=0, page_length=20): if show_featured: courses = get_featured_courses(filters, or_filters, fields) + courses + courses = get_enrollment_details(courses) courses = get_course_card_details(courses) return courses @@ -1067,6 +1068,24 @@ def update_course_filters(filters): return filters, or_filters, show_featured +def get_enrollment_details(courses): + for course in courses: + filters = { + "course": course.name, + "member": frappe.session.user, + } + + if frappe.db.exists("LMS Enrollment", filters): + course.membership = frappe.db.get_value( + "LMS Enrollment", + filters, + ["name", "course", "current_lesson", "progress", "member"], + as_dict=1, + ) + + return courses + + def get_featured_courses(filters, or_filters, fields): filters.update({"featured": 1}) featured_courses = frappe.get_all(