Files
lms/lms/www/courses/index.py
2022-12-28 15:10:01 +05:30

61 lines
1.6 KiB
Python

import frappe
from frappe import _
from lms.lms.utils import (
can_create_courses,
check_profile_restriction,
get_restriction_details,
has_course_moderator_role,
get_courses_under_review,
)
from lms.overrides.user import get_enrolled_courses, get_authored_courses
def get_context(context):
context.no_cache = 1
context.live_courses, context.upcoming_courses = get_courses()
context.enrolled_courses = (
get_enrolled_courses()["in_progress"] + get_enrolled_courses()["completed"]
)
context.created_courses = get_authored_courses(None, False)
context.review_courses = get_courses_under_review()
context.restriction = check_profile_restriction()
context.show_creators_section = can_create_courses()
context.show_review_section = (
has_course_moderator_role() and frappe.session.user != "Guest"
)
if context.restriction:
context.restriction_details = get_restriction_details()
context.metatags = {
"title": _("Course List"),
"image": frappe.db.get_single_value("Website Settings", "banner_image"),
"description": "This page lists all the courses published on our website",
"keywords": "All Courses, Courses, Learn",
}
def get_courses():
courses = frappe.get_all(
"LMS Course",
filters={"published": True},
fields=[
"name",
"upcoming",
"title",
"image",
"enable_certification",
"paid_certificate",
"price_certificate",
"currency",
],
)
live_courses, upcoming_courses = [], []
for course in courses:
if course.upcoming:
upcoming_courses.append(course)
else:
live_courses.append(course)
return live_courses, upcoming_courses