Commit 85776fbe by Vik Paruchuri

Fix reset in open ended

parent 79fdb79e
......@@ -484,7 +484,6 @@ class OpenEndedModule():
log.debug(get)
handlers = {
'problem_get': self.get_problem,
'problem_reset': self.reset_problem,
'save_answer': self.save_answer,
'score_update': self.update_score,
'save_post_assessment' : self.message_post,
......@@ -509,6 +508,16 @@ class OpenEndedModule():
self.change_state(self.INITIAL)
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):
if self.attempts > self.max_attempts:
# If too many attempts, prevent student from saving answer and
......@@ -658,6 +667,16 @@ class OpenEndedModule():
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):
"""
......
......@@ -283,7 +283,6 @@ class SelfAssessmentModule():
'save_answer': self.save_answer,
'save_assessment': self.save_assessment,
'save_post_assessment': self.save_hint,
'reset': self.reset,
}
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