From 982d6c9045d06b73c51c8244ccbb2cf148cb4cae Mon Sep 17 00:00:00 2001 From: Jannat Patel Date: Fri, 18 Aug 2023 12:39:19 +0530 Subject: [PATCH] fix: popularity filter for enrolled and authored courses --- lms/overrides/user.py | 4 ++++ lms/www/profiles/profile.html | 20 +++++++++++--------- lms/www/profiles/profile.py | 12 +++++++++++- 3 files changed, 26 insertions(+), 10 deletions(-) diff --git a/lms/overrides/user.py b/lms/overrides/user.py index 17e55859..def4ac3d 100644 --- a/lms/overrides/user.py +++ b/lms/overrides/user.py @@ -123,6 +123,9 @@ def get_enrolled_courses(): else: completed.append(course) + in_progress.sort(key=lambda x: x.enrollment_count, reverse=True) + completed.sort(key=lambda x: x.enrollment_count, reverse=True) + return {"in_progress": in_progress, "completed": completed} @@ -171,6 +174,7 @@ def get_authored_courses(member=None, only_published=True): detail.avg_rating = get_average_rating(detail.name) or 0 course_details.append(detail) + course_details.sort(key=lambda x: x.enrollment_count, reverse=True) return course_details diff --git a/lms/www/profiles/profile.html b/lms/www/profiles/profile.html index 44a3f010..640493db 100644 --- a/lms/www/profiles/profile.html +++ b/lms/www/profiles/profile.html @@ -5,11 +5,6 @@ {% block content %} -{% set read_only = member.name != frappe.session.user %} -{% set user = member.name %} -{% set courses_created = get_authored_courses(member.name, True) %} -{% set certificates = get_certificates(user) %} -
{{ ProfileBanner(member) }}
@@ -82,14 +77,19 @@ {% if not read_only %}
- {% include "lms/lms/web_template/courses_enrolled/courses_enrolled.html" %} + {% set courses = enrolled_courses %} + {% set title = _("Enrolled Courses") %} + {% set classes = "enrolled-courses" %} + {% include "lms/templates/course_list.html" %}
{% endif %} {% if courses_created | length %} - {% set only_published = True %}
- {% include "lms/templates/courses_created.html" %} + {% set courses = courses_created %} + {% set title = _("Created Courses") %} + {% set classes = "created-courses" %} + {% include "lms/templates/course_list.html" %}
{% endif %} @@ -249,7 +249,9 @@ {% macro CareerPreference(member) %} {% if member.preferred_functions or member.preferred_industries or member.preferred_location or member.dream_companies %} -
{{ _("Career Preference") }}
+
+ {{ _("Career Preference") }} +
{% if member.preferred_functions | length %} diff --git a/lms/www/profiles/profile.py b/lms/www/profiles/profile.py index a4af31a0..6bd97e70 100644 --- a/lms/www/profiles/profile.py +++ b/lms/www/profiles/profile.py @@ -1,7 +1,8 @@ import frappe -from lms.lms.utils import get_lesson_index +from lms.lms.utils import get_lesson_index, get_certificates from lms.page_renderers import get_profile_url_prefix +from lms.overrides.user import get_authored_courses, get_enrolled_courses def get_context(context): @@ -9,14 +10,23 @@ def get_context(context): try: username = frappe.form_dict["username"] + print("username", username) except KeyError: username = frappe.db.get_value("User", frappe.session.user, ["username"]) + print("except", username) if username: frappe.local.flags.redirect_location = get_profile_url_prefix() + username raise frappe.Redirect try: + print(username) context.member = frappe.get_doc("User", {"username": username}) + context.courses_created = get_authored_courses(context.member.name, True) + context.enrolled_courses = ( + get_enrolled_courses()["in_progress"] + get_enrolled_courses()["completed"] + ) + context.read_only = frappe.session.user != context.member.name + context.certificates = get_certificates(context.member.name) except Exception: context.template = "www/404.html" return