Merge pull request #3168 from cpennington/fix-lms-2489
Fix bad interaction between pluggable InputTypes and Microsites
This commit is contained in:
@@ -15,11 +15,14 @@ class DynamicTemplateLookup(TemplateLookup):
|
||||
A specialization of the standard mako `TemplateLookup` class which allows
|
||||
for adding directories progressively.
|
||||
"""
|
||||
def add_directory(self, directory):
|
||||
def add_directory(self, directory, prepend=False):
|
||||
"""
|
||||
Add a new directory to the template lookup path.
|
||||
"""
|
||||
self.directories.append(os.path.normpath(directory))
|
||||
if prepend:
|
||||
self.directories.insert(0, os.path.normpath(directory))
|
||||
else:
|
||||
self.directories.append(os.path.normpath(directory))
|
||||
|
||||
|
||||
def clear_lookups(namespace):
|
||||
@@ -29,7 +32,7 @@ def clear_lookups(namespace):
|
||||
if namespace in LOOKUP:
|
||||
del LOOKUP[namespace]
|
||||
|
||||
def add_lookup(namespace, directory, package=None):
|
||||
def add_lookup(namespace, directory, package=None, prepend=False):
|
||||
"""
|
||||
Adds a new mako template lookup directory to the given namespace.
|
||||
|
||||
@@ -48,7 +51,7 @@ def add_lookup(namespace, directory, package=None):
|
||||
)
|
||||
if package:
|
||||
directory = pkg_resources.resource_filename(package, directory)
|
||||
templates.add_directory(directory)
|
||||
templates.add_directory(directory, prepend=prepend)
|
||||
|
||||
|
||||
def lookup_template(namespace, name):
|
||||
|
||||
@@ -52,8 +52,7 @@ def enable_theme():
|
||||
|
||||
# Include the theme's templates in the template search paths
|
||||
settings.TEMPLATE_DIRS.insert(0, theme_root / 'templates')
|
||||
settings.MAKO_TEMPLATES['main'].insert(0, theme_root / 'templates')
|
||||
edxmako.startup.run()
|
||||
edxmako.paths.add_lookup('main', theme_root / 'templates', prepend=True)
|
||||
|
||||
# Namespace the theme's static files to 'themes/<theme_name>' to
|
||||
# avoid collisions with default edX static files
|
||||
@@ -98,8 +97,7 @@ def enable_microsites():
|
||||
# if we have any valid microsites defined, let's wire in the Mako and STATIC_FILES search paths
|
||||
if microsite_config_dict:
|
||||
settings.TEMPLATE_DIRS.append(microsites_root)
|
||||
settings.MAKO_TEMPLATES['main'].append(microsites_root)
|
||||
edxmako.startup.run()
|
||||
edxmako.paths.add_lookup('main', microsites_root)
|
||||
|
||||
settings.STATICFILES_DIRS.insert(0, microsites_root)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user