Merge pull request #295 from anandology/context-in-page-extensions
This commit is contained in:
@@ -24,6 +24,11 @@ class PageExtension:
|
||||
`render_footer()` methods to inject whatever styles/scripts into
|
||||
the webpage.
|
||||
"""
|
||||
def __init__(self):
|
||||
self.context = frappe._dict()
|
||||
|
||||
def set_context(self, context):
|
||||
self.context = context
|
||||
|
||||
def render_header(self):
|
||||
"""Returns the HTML snippet to be included in the head section
|
||||
|
||||
@@ -31,7 +31,7 @@ def get_context(context):
|
||||
"description": meta_info
|
||||
}
|
||||
|
||||
context.page_extensions = get_page_extensions()
|
||||
context.page_extensions = get_page_extensions(context)
|
||||
context.page_context = {
|
||||
"course": context.course.name,
|
||||
"batch": context.get("batch") and context.batch.name,
|
||||
@@ -52,8 +52,10 @@ def get_lesson_index(course, batch, user):
|
||||
lesson = batch.get_current_lesson(user)
|
||||
return lesson and course.get_lesson_index(lesson)
|
||||
|
||||
def get_page_extensions():
|
||||
def get_page_extensions(context):
|
||||
default_value = ["school.plugins.PageExtension"]
|
||||
classnames = frappe.get_hooks("school_lesson_page_extensions") or default_value
|
||||
extensions = [frappe.get_attr(name)() for name in classnames]
|
||||
for e in extensions:
|
||||
e.set_context(context)
|
||||
return extensions
|
||||
|
||||
Reference in New Issue
Block a user