From 448c8121c332d2517e8f96b3e0716fe68262a12e Mon Sep 17 00:00:00 2001 From: Vik Paruchuri Date: Tue, 9 Apr 2013 13:37:37 -0400 Subject: [PATCH] Patch combinedopenended to work if self assessment is not first --- .../combined_open_ended_modulev1.py | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/common/lib/xmodule/xmodule/open_ended_grading_classes/combined_open_ended_modulev1.py b/common/lib/xmodule/xmodule/open_ended_grading_classes/combined_open_ended_modulev1.py index 59df481954..5fa6e737d2 100644 --- a/common/lib/xmodule/xmodule/open_ended_grading_classes/combined_open_ended_modulev1.py +++ b/common/lib/xmodule/xmodule/open_ended_grading_classes/combined_open_ended_modulev1.py @@ -417,13 +417,16 @@ class CombinedOpenEndedV1Module(): else: last_post_evaluation = task.format_feedback_with_evaluation(self.system, last_post_assessment) last_post_assessment = last_post_evaluation - rubric_data = task._parse_score_msg(task.child_history[-1].get('post_assessment', ""), self.system) - rubric_scores = rubric_data['rubric_scores'] - grader_types = rubric_data['grader_types'] - feedback_items = rubric_data['feedback_items'] - feedback_dicts = rubric_data['feedback_dicts'] - grader_ids = rubric_data['grader_ids'] - submission_ids = rubric_data['submission_ids'] + try: + rubric_data = task._parse_score_msg(task.child_history[-1].get('post_assessment', ""), self.system) + except: + rubric_data = {} + rubric_scores = rubric_data.get('rubric_scores') + grader_types = rubric_data.get('grader_types') + feedback_items = rubric_data.get('feedback_items') + feedback_dicts = rubric_data.get('feedback_dicts') + grader_ids = rubric_data.get('grader_ids') + submission_ids = rubric_data.get('submission_ids') elif task_type == "selfassessment": rubric_scores = last_post_assessment grader_types = ['SA'] @@ -441,7 +444,7 @@ class CombinedOpenEndedV1Module(): human_state = task.HUMAN_NAMES[state] else: human_state = state - if len(grader_types) > 0: + if grader_types is not None and len(grader_types) > 0: grader_type = grader_types[0] else: grader_type = "IN"