import frappe from frappe.utils.jinja import render_template from lms.lms.utils import get_instructors def get_context(context): context.no_cache = 1 try: course_name = frappe.form_dict["course"] certificate_name = frappe.form_dict["certificate"] except KeyError: redirect_to_course_list() context.certificate = frappe.db.get_value( "LMS Certificate", certificate_name, ["name", "member", "issue_date", "expiry_date", "course"], as_dict=True, ) if context.certificate.course != course_name: redirect_to_course_list() context.course = frappe.db.get_value( "LMS Course", course_name, ["title", "name", "image"], as_dict=True ) context.instructors = (", ").join([x.full_name for x in get_instructors(course_name)]) context.member = frappe.db.get_value( "User", context.certificate.member, ["full_name"], as_dict=True ) context.logo = frappe.db.get_single_value("Website Settings", "banner_image") template_name = frappe.db.get_single_value( "LMS Settings", "custom_certificate_template" ) context.custom_certificate_template = frappe.db.get_value( "Web Template", template_name, "template" ) context.custom_template = render_template(context.custom_certificate_template, context) def redirect_to_course_list(): frappe.local.flags.redirect_location = "/courses" raise frappe.Redirect