Remove hardcoding of LMS callback URL and default queuename
This commit is contained in:
@@ -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:
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user