From cee69bb765099db31590572a2d2885aa085571dc Mon Sep 17 00:00:00 2001 From: Vik Paruchuri Date: Wed, 23 Jan 2013 12:46:21 -0500 Subject: [PATCH] Fix return of score to progress tab --- .../xmodule/combined_open_ended_module.py | 28 ++++++++++++++++--- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/common/lib/xmodule/xmodule/combined_open_ended_module.py b/common/lib/xmodule/xmodule/combined_open_ended_module.py index 3bc57dd121..44c8583067 100644 --- a/common/lib/xmodule/xmodule/combined_open_ended_module.py +++ b/common/lib/xmodule/xmodule/combined_open_ended_module.py @@ -578,14 +578,19 @@ class CombinedOpenEndedModule(XModule): 'total': get_max_score()} """ max_score = None + score = None if (self.state == self.DONE or self.allow_reset) and self.is_scored: - last_response = self.get_last_response(self.current_task_number -1) + last_response = self.get_last_response(self.current_task_number) max_score = last_response['max_score'] score = last_response['score'] - return { + log.debug(last_response) + + score_dict = { 'score' : score, 'total' : max_score, - } + } + + return score_dict def max_score(self): ''' Maximum score. Two notes: @@ -595,10 +600,25 @@ class CombinedOpenEndedModule(XModule): ''' max_score = None if (self.state == self.DONE or self.allow_reset) and self.is_scored: - last_response = self.get_last_response(self.current_task_number -1) + last_response = self.get_last_response(self.current_task_number) max_score = last_response['max_score'] return max_score + def get_progress(self): + ''' Return a progress.Progress object that represents how far the + student has gone in this module. Must be implemented to get correct + progress tracking behavior in nesting modules like sequence and + vertical. + + If this module has no notion of progress, return None. + ''' + progress_object = None + if (self.state == self.DONE or self.allow_reset) and self.is_scored: + score_dict = self.get_score() + progress_object = Progress(score_dict['score'], score_dict['total']) + + return progress_object + class CombinedOpenEndedDescriptor(XmlDescriptor, EditingDescriptor): """