Fix reset in open ended

This commit is contained in:
Vik Paruchuri
2013-01-04 15:23:41 -05:00
parent 79fdb79ed4
commit 85776fbe30
2 changed files with 20 additions and 2 deletions

View File

@@ -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):
"""

View File

@@ -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: