Merge pull request #11492 from edx/ormsbee/inline_capa
Move rendering of capa problems inline
This commit is contained in:
@@ -19,6 +19,8 @@ from django.template.context import _builtin_context_processors
|
||||
from django.utils.module_loading import import_string
|
||||
from util.request import safe_get_host
|
||||
|
||||
from request_cache.middleware import RequestCache
|
||||
|
||||
REQUEST_CONTEXT = threading.local()
|
||||
|
||||
|
||||
@@ -51,6 +53,12 @@ def get_template_request_context():
|
||||
request = getattr(REQUEST_CONTEXT, "request", None)
|
||||
if not request:
|
||||
return None
|
||||
|
||||
request_cache_dict = RequestCache.get_request_cache().data
|
||||
cache_key = "edxmako_request_context"
|
||||
if cache_key in request_cache_dict:
|
||||
return request_cache_dict[cache_key]
|
||||
|
||||
context = RequestContext(request)
|
||||
context['is_secure'] = request.is_secure()
|
||||
context['site'] = safe_get_host(request)
|
||||
@@ -62,4 +70,6 @@ def get_template_request_context():
|
||||
for processor in get_template_context_processors():
|
||||
context.update(processor(request))
|
||||
|
||||
request_cache_dict[cache_key] = context
|
||||
|
||||
return context
|
||||
|
||||
@@ -33,7 +33,6 @@ def marketing_link(name):
|
||||
possible URLs for certain links. This function is to decides
|
||||
which URL should be provided.
|
||||
"""
|
||||
|
||||
# link_map maps URLs from the marketing site to the old equivalent on
|
||||
# the Django site
|
||||
link_map = settings.MKTG_URL_LINK_MAP
|
||||
|
||||
@@ -399,6 +399,7 @@ class CapaMixin(CapaFields):
|
||||
'ajax_url': self.runtime.ajax_url,
|
||||
'progress_status': Progress.to_js_status_str(progress),
|
||||
'progress_detail': Progress.to_js_detail_str(progress),
|
||||
'content': self.get_problem_html(encapsulate=False)
|
||||
})
|
||||
|
||||
def check_button_name(self):
|
||||
|
||||
@@ -5,6 +5,7 @@ class @Problem
|
||||
@id = @el.data('problem-id')
|
||||
@element_id = @el.attr('id')
|
||||
@url = @el.data('url')
|
||||
@content = @el.data('content')
|
||||
|
||||
# has_timed_out and has_response are used to ensure that are used to
|
||||
# ensure that we wait a minimum of ~ 1s before transitioning the check
|
||||
@@ -12,7 +13,7 @@ class @Problem
|
||||
@has_timed_out = false
|
||||
@has_response = false
|
||||
|
||||
@render()
|
||||
@render(@content)
|
||||
|
||||
$: (selector) ->
|
||||
$(selector, @el)
|
||||
|
||||
@@ -1 +1 @@
|
||||
<div id="problem_${element_id}" class="problems-wrapper" data-problem-id="${id}" data-url="${ajax_url}" data-progress_status="${progress_status}" data-progress_detail="${progress_detail}"></div>
|
||||
<div id="problem_${element_id}" class="problems-wrapper" data-problem-id="${id}" data-url="${ajax_url}" data-progress_status="${progress_status}" data-progress_detail="${progress_detail}" data-content="${content | h}"></div>
|
||||
|
||||
Reference in New Issue
Block a user