From 35babcf5920d8910bbe0dad2da79e694aa8f61ea Mon Sep 17 00:00:00 2001 From: Vik Paruchuri Date: Fri, 8 Feb 2013 22:55:20 -0500 Subject: [PATCH] Properly show status on combined rubric --- .../xmodule/xmodule/combined_open_ended_modulev1.py | 12 ++++++++++-- common/lib/xmodule/xmodule/open_ended_module.py | 2 +- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/common/lib/xmodule/xmodule/combined_open_ended_modulev1.py b/common/lib/xmodule/xmodule/combined_open_ended_modulev1.py index a515ad2553..ef8e8ce4e4 100644 --- a/common/lib/xmodule/xmodule/combined_open_ended_modulev1.py +++ b/common/lib/xmodule/xmodule/combined_open_ended_modulev1.py @@ -534,12 +534,20 @@ class CombinedOpenEndedV1Module(): """ self.update_task_states() all_responses = [] - for i in xrange(0,self.current_task_number+1): + loop_up_to_task = self.current_task_number+1 + if self.state in [self.ASSESSING, self.INITIAL] and self.current_task_number>0: + loop_up_to_task = loop_up_to_task-1 + log.debug(self.state) + log.debug(self.current_task_number) + log.debug(loop_up_to_task) + for i in xrange(0,loop_up_to_task): all_responses.append(self.get_last_response(i)) rubric_scores = [rd['rubric_scores'] for rd in all_responses if len(rd['rubric_scores'])>0] grader_types = [rd['grader_types'] for rd in all_responses if len(rd['grader_types'])>0] feedback_items = [rd['feedback_items'] for rd in all_responses if len(rd['feedback_items'])>0] - + log.debug(rubric_scores) + log.debug(grader_types) + log.debug(feedback_items) rubric_html = self.rubric_renderer.render_combined_rubric(stringify_children(self.static_data['rubric']), rubric_scores, grader_types, feedback_items) diff --git a/common/lib/xmodule/xmodule/open_ended_module.py b/common/lib/xmodule/xmodule/open_ended_module.py index 2feab3e035..c9d12ef75c 100644 --- a/common/lib/xmodule/xmodule/open_ended_module.py +++ b/common/lib/xmodule/xmodule/open_ended_module.py @@ -429,7 +429,7 @@ class OpenEndedModule(openendedchild.OpenEndedChild): correct: Correctness of submission (Boolean) score: Points to be assigned (numeric, can be float) """ - fail = {'valid': False, 'score': 0, 'feedback': '', 'rubric_scores' : [[0,0]], 'grader_types' : [''], 'feedback_items' : ['']} + fail = {'valid': False, 'score': 0, 'feedback': '', 'rubric_scores' : [[0]], 'grader_types' : [''], 'feedback_items' : ['']} try: score_result = json.loads(score_msg) except (TypeError, ValueError):