Commit 85776fbe by Vik Paruchuri

Fix reset in open ended

parent 79fdb79e
...@@ -484,7 +484,6 @@ class OpenEndedModule(): ...@@ -484,7 +484,6 @@ class OpenEndedModule():
log.debug(get) log.debug(get)
handlers = { handlers = {
'problem_get': self.get_problem, 'problem_get': self.get_problem,
'problem_reset': self.reset_problem,
'save_answer': self.save_answer, 'save_answer': self.save_answer,
'score_update': self.update_score, 'score_update': self.update_score,
'save_post_assessment' : self.message_post, 'save_post_assessment' : self.message_post,
...@@ -509,6 +508,16 @@ class OpenEndedModule(): ...@@ -509,6 +508,16 @@ class OpenEndedModule():
self.change_state(self.INITIAL) self.change_state(self.INITIAL)
return {'success': True} return {'success': True}
def out_of_sync_error(self, get, msg=''):
"""
return dict out-of-sync error message, and also log.
"""
log.warning("Assessment module state out sync. state: %r, get: %r. %s",
self.state, get, msg)
return {'success': False,
'error': 'The problem state got out-of-sync'}
def save_answer(self, get, system): def save_answer(self, get, system):
if self.attempts > self.max_attempts: if self.attempts > self.max_attempts:
# If too many attempts, prevent student from saving answer and # If too many attempts, prevent student from saving answer and
...@@ -658,6 +667,16 @@ class OpenEndedModule(): ...@@ -658,6 +667,16 @@ class OpenEndedModule():
return None return None
return None return None
def reset(self, system):
"""
If resetting is allowed, reset the state.
Returns {'success': bool, 'error': msg}
(error only present if not success)
"""
self.change_state(self.INITIAL)
return {'success': True}
class OpenEndedDescriptor(XmlDescriptor, EditingDescriptor): class OpenEndedDescriptor(XmlDescriptor, EditingDescriptor):
""" """
......
...@@ -283,7 +283,6 @@ class SelfAssessmentModule(): ...@@ -283,7 +283,6 @@ class SelfAssessmentModule():
'save_answer': self.save_answer, 'save_answer': self.save_answer,
'save_assessment': self.save_assessment, 'save_assessment': self.save_assessment,
'save_post_assessment': self.save_hint, 'save_post_assessment': self.save_hint,
'reset': self.reset,
} }
if dispatch not in handlers: if dispatch not in handlers:
......
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