Commit 3aecaba7 by Calen Pennington

Merge pull request #3168 from cpennington/fix-lms-2489

Fix bad interaction between pluggable InputTypes and Microsites
parents 363702ea c54972e8
...@@ -15,11 +15,14 @@ class DynamicTemplateLookup(TemplateLookup): ...@@ -15,11 +15,14 @@ class DynamicTemplateLookup(TemplateLookup):
A specialization of the standard mako `TemplateLookup` class which allows A specialization of the standard mako `TemplateLookup` class which allows
for adding directories progressively. 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. 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): def clear_lookups(namespace):
...@@ -29,7 +32,7 @@ def clear_lookups(namespace): ...@@ -29,7 +32,7 @@ def clear_lookups(namespace):
if namespace in LOOKUP: if namespace in LOOKUP:
del LOOKUP[namespace] 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. Adds a new mako template lookup directory to the given namespace.
...@@ -48,7 +51,7 @@ def add_lookup(namespace, directory, package=None): ...@@ -48,7 +51,7 @@ def add_lookup(namespace, directory, package=None):
) )
if package: if package:
directory = pkg_resources.resource_filename(package, directory) directory = pkg_resources.resource_filename(package, directory)
templates.add_directory(directory) templates.add_directory(directory, prepend=prepend)
def lookup_template(namespace, name): def lookup_template(namespace, name):
......
...@@ -52,8 +52,7 @@ def enable_theme(): ...@@ -52,8 +52,7 @@ def enable_theme():
# Include the theme's templates in the template search paths # Include the theme's templates in the template search paths
settings.TEMPLATE_DIRS.insert(0, theme_root / 'templates') settings.TEMPLATE_DIRS.insert(0, theme_root / 'templates')
settings.MAKO_TEMPLATES['main'].insert(0, theme_root / 'templates') edxmako.paths.add_lookup('main', theme_root / 'templates', prepend=True)
edxmako.startup.run()
# Namespace the theme's static files to 'themes/<theme_name>' to # Namespace the theme's static files to 'themes/<theme_name>' to
# avoid collisions with default edX static files # avoid collisions with default edX static files
...@@ -98,8 +97,7 @@ def enable_microsites(): ...@@ -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 we have any valid microsites defined, let's wire in the Mako and STATIC_FILES search paths
if microsite_config_dict: if microsite_config_dict:
settings.TEMPLATE_DIRS.append(microsites_root) settings.TEMPLATE_DIRS.append(microsites_root)
settings.MAKO_TEMPLATES['main'].append(microsites_root) edxmako.paths.add_lookup('main', microsites_root)
edxmako.startup.run()
settings.STATICFILES_DIRS.insert(0, microsites_root) settings.STATICFILES_DIRS.insert(0, microsites_root)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment