From 562456ade7f1d26bf8e2509c84a006b9017ee1b5 Mon Sep 17 00:00:00 2001 From: Julian Arni Date: Fri, 2 Aug 2013 15:36:15 -0400 Subject: [PATCH 1/3] Make descriptorsystem inherit from Runtime --- common/lib/xmodule/xmodule/x_module.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/lib/xmodule/xmodule/x_module.py b/common/lib/xmodule/xmodule/x_module.py index d399001a6a07..7e4802d2080f 100644 --- a/common/lib/xmodule/xmodule/x_module.py +++ b/common/lib/xmodule/xmodule/x_module.py @@ -808,7 +808,7 @@ def studio_view(self, context): return Fragment(self.get_html()) -class DescriptorSystem(object): +class DescriptorSystem(Runtime): def __init__(self, load_item, resources_fs, error_tracker, **kwargs): """ load_item: Takes a Location and returns an XModuleDescriptor From 7bfb0804f8034dcad9381f600356705c7c064b2c Mon Sep 17 00:00:00 2001 From: Julian Arni Date: Fri, 2 Aug 2013 16:09:29 -0400 Subject: [PATCH 2/3] Switch to studio_view --- cms/djangoapps/contentstore/views/preview.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/cms/djangoapps/contentstore/views/preview.py b/cms/djangoapps/contentstore/views/preview.py index f2a07abe3226..2a0d71d56909 100644 --- a/cms/djangoapps/contentstore/views/preview.py +++ b/cms/djangoapps/contentstore/views/preview.py @@ -75,9 +75,13 @@ def preview_component(request, location): component = modulestore().get_item(location) + # wrap_xmodule expects a function, so make a constant function + def get_render(): + return component.runtime.render(component, None, "studio_view").content + return render_to_response('component.html', { 'preview': get_module_previews(request, component)[0], - 'editor': wrap_xmodule(component.get_html, component, 'xmodule_edit.html')(), + 'editor': wrap_xmodule(get_render, component, 'xmodule_edit.html')(), }) From b38750e15d41e8830f484f14ba5e5f577cea1075 Mon Sep 17 00:00:00 2001 From: Julian Arni Date: Mon, 5 Aug 2013 11:09:43 -0400 Subject: [PATCH 3/3] Refactor wrap_xmodule call --- cms/djangoapps/contentstore/views/preview.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/cms/djangoapps/contentstore/views/preview.py b/cms/djangoapps/contentstore/views/preview.py index 2a0d71d56909..e801faa4f1b9 100644 --- a/cms/djangoapps/contentstore/views/preview.py +++ b/cms/djangoapps/contentstore/views/preview.py @@ -75,13 +75,15 @@ def preview_component(request, location): component = modulestore().get_item(location) - # wrap_xmodule expects a function, so make a constant function - def get_render(): - return component.runtime.render(component, None, "studio_view").content + component.get_html = wrap_xmodule( + component.get_html, + component, + 'xmodule_edit.html' + ) return render_to_response('component.html', { 'preview': get_module_previews(request, component)[0], - 'editor': wrap_xmodule(get_render, component, 'xmodule_edit.html')(), + 'editor': component.runtime.render(component, None, 'studio_view').content, })