38 lines
922 B
Python
38 lines
922 B
Python
import frappe
|
|
|
|
def get_context(context):
|
|
context.no_cache = 1
|
|
try:
|
|
course_id = frappe.form_dict['course']
|
|
except KeyError:
|
|
frappe.local.flags.redirect_location = '/courses'
|
|
raise frappe.Redirect
|
|
context.course = get_course(course_id)
|
|
context.course_enrolled = has_enrolled(course_id)
|
|
|
|
def get_course(name):
|
|
course = frappe.db.get_value('LMS Course', name,
|
|
['name', 'title', 'description'], as_dict=1)
|
|
course['topics'] = frappe.db.get_all('LMS Topic',
|
|
filters={
|
|
'course': name
|
|
},
|
|
fields=['name', 'title', 'preview'],
|
|
order_by='creation'
|
|
)
|
|
return course
|
|
|
|
@frappe.whitelist()
|
|
def has_enrolled(course):
|
|
print(frappe.db)
|
|
return frappe.db.get_value("LMS Course Enrollment", {"course": course, "owner": frappe.session.user})
|
|
|
|
@frappe.whitelist()
|
|
def enroll(course):
|
|
return frappe.get_doc({
|
|
"doctype": "LMS Course Enrollment",
|
|
"course": course,
|
|
"user": frappe.session.user
|
|
}).save()
|
|
|