From 2e3c5de1a50fb7631dc948e0339ce4992d409eea Mon Sep 17 00:00:00 2001 From: kimth Date: Tue, 31 Jul 2012 14:08:02 -0400 Subject: [PATCH] Remove hardcoding of LMS callback URL and default queuename --- common/lib/capa/capa/responsetypes.py | 2 +- common/lib/xmodule/xmodule/x_module.py | 3 ++- lms/djangoapps/courseware/module_render.py | 9 +++++++-- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/common/lib/capa/capa/responsetypes.py b/common/lib/capa/capa/responsetypes.py index 9694e3ea6d..75ed92ab3e 100644 --- a/common/lib/capa/capa/responsetypes.py +++ b/common/lib/capa/capa/responsetypes.py @@ -811,7 +811,7 @@ class CodeResponse(LoncapaResponse): def setup_response(self): xml = self.xml self.url = xml.get('url', "http://107.20.215.194/xqueue/submit/") # FIXME -- hardcoded url - self.queue_name = xml.get('queuename', 'python') # TODO: Default queue_name should be course-specific + self.queue_name = xml.get('queuename', self.system.xqueue_default_queuename) answer = xml.find('answer') if answer is not None: diff --git a/common/lib/xmodule/xmodule/x_module.py b/common/lib/xmodule/xmodule/x_module.py index 3406bcb99c..7bb98dcdc5 100644 --- a/common/lib/xmodule/xmodule/x_module.py +++ b/common/lib/xmodule/xmodule/x_module.py @@ -587,7 +587,7 @@ class ModuleSystem(object): def __init__(self, ajax_url, track_function, get_module, render_template, replace_urls, user=None, filestore=None, debug=False, - xqueue_callback_url=None): + xqueue_callback_url=None, xqueue_default_queuename="null"): ''' Create a closure around the system environment. @@ -616,6 +616,7 @@ class ModuleSystem(object): ''' self.ajax_url = ajax_url self.xqueue_callback_url = xqueue_callback_url + self.xqueue_default_queuename = xqueue_default_queuename self.track_function = track_function self.filestore = filestore self.get_module = get_module diff --git a/lms/djangoapps/courseware/module_render.py b/lms/djangoapps/courseware/module_render.py index beb9155670..80a4ef90fc 100644 --- a/lms/djangoapps/courseware/module_render.py +++ b/lms/djangoapps/courseware/module_render.py @@ -141,12 +141,16 @@ def get_module(user, request, location, student_module_cache, position=None): # Setup system context for module instance ajax_url = settings.MITX_ROOT_URL + '/modx/' + descriptor.location.url() + '/' - # Fully qualified callback URL for xqueue + # Fully qualified callback URL for external queueing system xqueue_callback_url = (request.build_absolute_uri('/') + settings.MITX_ROOT_URL + - #xqueue_callback_url = ('http://18.189.52.120:8000/' + settings.MITX_ROOT_URL + # Sandbox URL 'xqueue/' + str(user.id) + '/' + descriptor.location.url() + '/' + 'score_update') + # Default queuename is course-specific and is derived from the course that + # contains the current module. + # TODO: Queuename should be derived from 'course_settings.json' of each course + xqueue_default_queuename = descriptor.location.org + '-' + descriptor.location.course + def _get_module(location): (module, _, _, _) = get_module(user, request, location, student_module_cache, position) @@ -159,6 +163,7 @@ def get_module(user, request, location, student_module_cache, position=None): render_template=render_to_string, ajax_url=ajax_url, xqueue_callback_url=xqueue_callback_url, + xqueue_default_queuename=xqueue_default_queuename.replace(' ','_'), # TODO (cpennington): Figure out how to share info between systems filestore=descriptor.system.resources_fs, get_module=_get_module,