Standardize how static urls are replaced by modules in their own html
This commit is contained in:
@@ -355,7 +355,7 @@ class CapaModule(XModule):
|
||||
id=self.location.html_id(), ajax_url=self.system.ajax_url) + html + "</div>"
|
||||
|
||||
# now do the substitutions which are filesystem based, e.g. '/static/' prefixes
|
||||
return self.system.replace_urls(html, self.metadata['data_dir'], course_namespace=self.location)
|
||||
return self.system.replace_urls(html)
|
||||
|
||||
def handle_ajax(self, dispatch, get):
|
||||
'''
|
||||
@@ -460,7 +460,7 @@ class CapaModule(XModule):
|
||||
new_answers = dict()
|
||||
for answer_id in answers:
|
||||
try:
|
||||
new_answer = {answer_id: self.system.replace_urls(answers[answer_id], self.metadata['data_dir'], course_namespace=self.location)}
|
||||
new_answer = {answer_id: self.system.replace_urls(answers[answer_id])}
|
||||
except TypeError:
|
||||
log.debug('Unable to perform URL substitution on answers[%s]: %s' % (answer_id, answers[answer_id]))
|
||||
new_answer = {answer_id: answers[answer_id]}
|
||||
|
||||
@@ -244,7 +244,11 @@ def _get_module(user, request, descriptor, student_module_cache, course_id,
|
||||
# TODO (cpennington): This should be removed when all html from
|
||||
# a module is coming through get_html and is therefore covered
|
||||
# by the replace_static_urls code below
|
||||
replace_urls=replace_urls,
|
||||
replace_urls=partial(
|
||||
replace_urls,
|
||||
staticfiles_prefix='/static/' + module.metadata.get('data_dir', ''),
|
||||
course_namespace=module.location._replace(category=None, name=None),
|
||||
),
|
||||
node_path=settings.NODE_PATH,
|
||||
anonymous_student_id=unique_id_for_user(user),
|
||||
course_id=course_id,
|
||||
@@ -280,7 +284,7 @@ def _get_module(user, request, descriptor, student_module_cache, course_id,
|
||||
|
||||
module.get_html = replace_static_urls(
|
||||
_get_html,
|
||||
'/static/' + module.metadata['data_dir'] if 'data_dir' in module.metadata else '',
|
||||
'/static/' + module.metadata.get('data_dir', ''),
|
||||
course_namespace = module.location._replace(category=None, name=None))
|
||||
|
||||
# Allow URLs of the form '/course/' refer to the root of multicourse directory
|
||||
|
||||
Reference in New Issue
Block a user