diff --git a/common/lib/xmodule/setup.py b/common/lib/xmodule/setup.py index d3889bc388..34e4e658c9 100644 --- a/common/lib/xmodule/setup.py +++ b/common/lib/xmodule/setup.py @@ -19,6 +19,7 @@ setup( "abtest = xmodule.abtest_module:ABTestDescriptor", "book = xmodule.backcompat_module:TranslateCustomTagDescriptor", "chapter = xmodule.seq_module:SequenceDescriptor", + "combinedopenended = xmodule.combined_open_ended_module:CombinedOpenEndedDescriptor" "course = xmodule.course_module:CourseDescriptor", "customtag = xmodule.template_module:CustomTagDescriptor", "discuss = xmodule.backcompat_module:TranslateCustomTagDescriptor", diff --git a/common/lib/xmodule/xmodule/combined_open_ended_module.py b/common/lib/xmodule/xmodule/combined_open_ended_module.py index c85552d442..cbbfe156c3 100644 --- a/common/lib/xmodule/xmodule/combined_open_ended_module.py +++ b/common/lib/xmodule/xmodule/combined_open_ended_module.py @@ -42,7 +42,7 @@ class CombinedOpenEndedModule(XModule): TASK_TYPES=["self", "ml", "instructor", "peer"] js = {'coffee': [resource_string(__name__, 'js/src/selfassessment/display.coffee')]} - js_module_name = "SelfAssessment" + js_module_name = "CombinedOpenEnded" def __init__(self, system, location, definition, descriptor, instance_state=None, shared_state=None, **kwargs): @@ -54,7 +54,7 @@ class CombinedOpenEndedModule(XModule): Sample file: - + @@ -68,15 +68,14 @@ class CombinedOpenEndedModule(XModule): else: instance_state = {} - instance_state = self.convert_state_to_current_format(instance_state) - # History is a list of tuples of (answer, score, hint), where hint may be # None for any element, and score and hint can be None for the last (current) # element. # Scores are on scale from 0 to max_score - self.history = instance_state.get('history', []) + self.current_task = instance_state.get('current_task', 0) self.state = instance_state.get('state', 'initial') + self.problems = instance_state.get('problems', []) self.attempts = instance_state.get('attempts', 0) self.max_attempts = int(self.metadata.get('attempts', MAX_ATTEMPTS)) @@ -85,10 +84,16 @@ class CombinedOpenEndedModule(XModule): # completion (doesn't matter if you self-assessed correct/incorrect). self._max_score = int(self.metadata.get('max_score', MAX_SCORE)) - self.rubric = definition['rubric'] - self.prompt = definition['prompt'] - self.submit_message = definition['submitmessage'] - self.hint_prompt = definition['hintprompt'] + self.tasks=definition['tasks'] + log.debug(self.tasks) + + def setup_next_task(self): + pass + + def get_html(self): + html = "" + + return rewrite_links(html, self.rewrite_content_links) class CombinedOpenEndedDescriptor(XmlDescriptor, EditingDescriptor): """ @@ -125,9 +130,9 @@ class CombinedOpenEndedDescriptor(XmlDescriptor, EditingDescriptor): def parse(k): """Assumes that xml_object has child k""" - return stringify_children(xml_object.xpath(k)[0]) + return [stringify_children(xml_object.xpath(k)[i]) for i in xrange(0,len(xml_object.xpath(k)))] - return {'task': parse('task')} + return {'tasks': parse('task')} def definition_to_xml(self, resource_fs):