Commit 376575de by Ned Batchelder

Make system.xblock_model_data more explicit to fix the problem where error…

Make system.xblock_model_data more explicit to fix the problem where error descriptors can't get any data because the schema and the data don't match.
parent 532285e5
...@@ -454,9 +454,9 @@ def preview_module_system(request, preview_id, descriptor): ...@@ -454,9 +454,9 @@ def preview_module_system(request, preview_id, descriptor):
descriptor: An XModuleDescriptor descriptor: An XModuleDescriptor
""" """
def preview_model_data(model_data): def preview_model_data(descriptor):
return DbModel( return DbModel(
SessionKeyValueStore(request, model_data), SessionKeyValueStore(request, descriptor._model_data),
descriptor.module_class, descriptor.module_class,
preview_id, preview_id,
MongoUsage(preview_id, descriptor.location.url()), MongoUsage(preview_id, descriptor.location.url()),
......
...@@ -31,7 +31,7 @@ i4xs = ModuleSystem( ...@@ -31,7 +31,7 @@ i4xs = ModuleSystem(
xqueue={'interface':None, 'callback_url':'/', 'default_queuename': 'testqueue', 'waittime': 10}, xqueue={'interface':None, 'callback_url':'/', 'default_queuename': 'testqueue', 'waittime': 10},
node_path=os.environ.get("NODE_PATH", "/usr/local/lib/node_modules"), node_path=os.environ.get("NODE_PATH", "/usr/local/lib/node_modules"),
anonymous_student_id = 'student', anonymous_student_id = 'student',
xblock_model_data = lambda x: x, xblock_model_data = lambda descriptor: descriptor._model_data,
) )
......
...@@ -362,7 +362,7 @@ class XModuleDescriptor(HTMLSnippet, ResourceTemplates, XBlock): ...@@ -362,7 +362,7 @@ class XModuleDescriptor(HTMLSnippet, ResourceTemplates, XBlock):
system, system,
self.location, self.location,
self, self,
system.xblock_model_data(self._model_data), system.xblock_model_data(self),
) )
def has_dynamic_children(self): def has_dynamic_children(self):
......
...@@ -203,9 +203,9 @@ def _get_module(user, request, location, student_module_cache, course_id, positi ...@@ -203,9 +203,9 @@ def _get_module(user, request, location, student_module_cache, course_id, positi
return get_module(user, request, location, return get_module(user, request, location,
student_module_cache, course_id, position) student_module_cache, course_id, position)
def xblock_model_data(descriptor_model_data): def xblock_model_data(descriptor):
return DbModel( return DbModel(
LmsKeyValueStore(course_id, user, descriptor_model_data, student_module_cache), LmsKeyValueStore(course_id, user, descriptor._model_data, student_module_cache),
descriptor.module_class, descriptor.module_class,
user.id, user.id,
LmsUsage(location, location) LmsUsage(location, location)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment