diff --git a/lms/hooks.py b/lms/hooks.py index 6eadb4a5..2a6e7f15 100644 --- a/lms/hooks.py +++ b/lms/hooks.py @@ -139,6 +139,7 @@ website_route_rules = [ {"from_route": "/sketches/", "to_route": "sketches/sketch"}, {"from_route": "/courses/", "to_route": "courses/course"}, {"from_route": "/courses//edit", "to_route": "courses/create"}, + {"from_route": "/courses//outline", "to_route": "courses/outline"}, {"from_route": "/courses//", "to_route": "courses/certificate"}, {"from_route": "/courses//learn", "to_route": "batch/learn"}, { diff --git a/lms/lms/utils.py b/lms/lms/utils.py index 4086e111..a7c0870b 100644 --- a/lms/lms/utils.py +++ b/lms/lms/utils.py @@ -502,12 +502,17 @@ def can_create_courses(member=None): if not member: member = frappe.session.user + if frappe.session.user == "Guest": + return False + + if has_course_instructor_role(member) or has_course_moderator_role(member): + return True + portal_course_creation = frappe.db.get_single_value( "LMS Settings", "portal_course_creation" ) - return frappe.session.user != "Guest" and ( - portal_course_creation == "Anyone" or has_course_instructor_role(member) - ) + + return portal_course_creation == "Anyone" def has_course_moderator_role(member=None): @@ -618,15 +623,17 @@ def get_filtered_membership(course, memberships): def show_start_learing_cta(course, membership): - return ( - not course.disable_self_learning - and not membership - and not course.upcoming - and not check_profile_restriction() - and not is_instructor(course.name) - and course.status == "Approved" - and has_lessons(course) - ) + + if course.disable_self_learning or course.upcoming: + return False + if is_instructor(course.name): + return False + if course.status != "Approved": + return False + if not has_lessons(course): + return False + if not membership: + return True def has_lessons(course): diff --git a/lms/lms/widgets/CourseOutline.html b/lms/lms/widgets/CourseOutline.html index 69ac09c8..f7da14a6 100644 --- a/lms/lms/widgets/CourseOutline.html +++ b/lms/lms/widgets/CourseOutline.html @@ -4,6 +4,7 @@ {% if chapters | length %}
+ {% if not lesson_page %}
{{ _("Course Content") }}
@@ -16,9 +17,10 @@ . {{ get_lessons(course.name, None, False) }} lessons
+ {% endif %} {% if chapters | length %} -
+
{% for chapter in chapters %} {% set lessons = get_lessons(course.name, chapter) %} @@ -41,7 +43,7 @@