Commit 4ea9c738 by Vik Paruchuri

Fix state transitions

parent ae0623ab
...@@ -114,12 +114,13 @@ class CombinedOpenEndedModule(XModule): ...@@ -114,12 +114,13 @@ class CombinedOpenEndedModule(XModule):
return True return True
def get_html(self): def get_html(self):
self.update_task_states()
html = self.current_task.get_html(self.system) html = self.current_task.get_html(self.system)
return_html = rewrite_links(html, self.rewrite_content_links) return_html = rewrite_links(html, self.rewrite_content_links)
self.update_task_states()
return return_html return return_html
def update_task_states(self): def update_task_states(self):
changed=False
self.task_states[len(self.task_states)-1] = self.current_task.get_instance_state() self.task_states[len(self.task_states)-1] = self.current_task.get_instance_state()
current_task_state=json.loads(self.task_states[len(self.task_states)-1]) current_task_state=json.loads(self.task_states[len(self.task_states)-1])
if current_task_state['state']==self.DONE: if current_task_state['state']==self.DONE:
...@@ -129,13 +130,19 @@ class CombinedOpenEndedModule(XModule): ...@@ -129,13 +130,19 @@ class CombinedOpenEndedModule(XModule):
self.current_task_number=self.current_task_number-1 self.current_task_number=self.current_task_number-1
else: else:
self.state=self.INTERMEDIATE_DONE self.state=self.INTERMEDIATE_DONE
changed=True
self.setup_next_task() self.setup_next_task()
return changed
def update_task_states_ajax(self,return_html):
changed=self.update_task_states()
if changed():
return_html=self.get_html()
return return_html
def handle_ajax(self, dispatch, get): def handle_ajax(self, dispatch, get):
return_html = self.current_task.handle_ajax(dispatch,get, self.system) return_html = self.current_task.handle_ajax(dispatch,get, self.system)
self.update_task_states() return self.update_task_states_ajax(return_html)
return return_html
def get_instance_state(self): def get_instance_state(self):
""" """
......
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