Files
lms/community/www/courses/topic.py
Anand Chitipothu 862878462b Added LMS Settings.
The `livecode_url` is now part of LMS settings and not hardcoded in the code.
2021-03-09 09:04:39 +00:00

38 lines
1.1 KiB
Python

import frappe
def get_context(context):
context.no_cache = 1
course_name = get_queryparam("course", '/courses')
context.course = get_course(course_name)
topic_name = get_queryparam("topic", '/courses?course=' + course_name)
context.topic = get_topic(course_name, topic_name)
context.livecode_url = get_livecode_url()
def get_livecode_url():
doc = frappe.get_doc("LMS Settings")
return doc.livecode_url
def get_queryparam(name, redirect_when_not_found):
try:
return frappe.form_dict[name]
except KeyError:
frappe.local.flags.redirect_location = redirect_when_not_found
raise frappe.Redirect
def get_course(name):
try:
course = frappe.get_doc('LMS Course', name)
except frappe.exceptions.DoesNotExistError:
raise frappe.NotFound
return course
def get_topic(course_name, topic_name):
try:
topic = frappe.get_doc('LMS Topic', topic_name)
except frappe.exceptions.DoesNotExistError:
raise frappe.NotFound
if topic.course != course_name:
raise frappe.NotFound
return topic