From b730c25056b5cac9b5633eead2e1bfdf8672babc Mon Sep 17 00:00:00 2001 From: Vik Paruchuri Date: Tue, 29 Jan 2013 21:51:48 -0500 Subject: [PATCH] Fix rubric rendering --- common/lib/xmodule/xmodule/combined_open_ended_rubric.py | 4 +++- common/lib/xmodule/xmodule/open_ended_module.py | 2 +- common/lib/xmodule/xmodule/self_assessment_module.py | 2 +- lms/djangoapps/open_ended_grading/grading_service.py | 2 +- 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/common/lib/xmodule/xmodule/combined_open_ended_rubric.py b/common/lib/xmodule/xmodule/combined_open_ended_rubric.py index 4380e32d5b..3159849643 100644 --- a/common/lib/xmodule/xmodule/combined_open_ended_rubric.py +++ b/common/lib/xmodule/xmodule/combined_open_ended_rubric.py @@ -23,15 +23,17 @@ class CombinedOpenEndedRubric(object): Output: html: the html that corresponds to the xml given ''' + success = False try: rubric_categories = self.extract_categories(rubric_xml) html = self.system.render_template('open_ended_rubric.html', {'categories' : rubric_categories, 'has_score': self.has_score, 'view_only': self.view_only}) + success = True except: raise RubricParsingError("[render_rubric] Could not parse the rubric with xml: {0}".format(rubric_xml)) - return html + return success, html def extract_categories(self, element): ''' diff --git a/common/lib/xmodule/xmodule/open_ended_module.py b/common/lib/xmodule/xmodule/open_ended_module.py index 5b6e6d4a4b..a3eeceb517 100644 --- a/common/lib/xmodule/xmodule/open_ended_module.py +++ b/common/lib/xmodule/xmodule/open_ended_module.py @@ -382,7 +382,7 @@ class OpenEndedModule(openendedchild.OpenEndedChild): feedback = self._convert_longform_feedback_to_html(response_items) if response_items['rubric_scores_complete']==True: rubric_renderer = CombinedOpenEndedRubric(system, True) - rubric_feedback = rubric_renderer.render_rubric(response_items['rubric_xml']) + success, rubric_feedback = rubric_renderer.render_rubric(response_items['rubric_xml']) if not response_items['success']: return system.render_template("open_ended_error.html", diff --git a/common/lib/xmodule/xmodule/self_assessment_module.py b/common/lib/xmodule/xmodule/self_assessment_module.py index 9893c14fe3..efc25f841b 100644 --- a/common/lib/xmodule/xmodule/self_assessment_module.py +++ b/common/lib/xmodule/xmodule/self_assessment_module.py @@ -124,7 +124,7 @@ class SelfAssessmentModule(openendedchild.OpenEndedChild): return '' rubric_renderer = CombinedOpenEndedRubric(system, True) - rubric_html = rubric_renderer.render_rubric(self.rubric) + success, rubric_html = rubric_renderer.render_rubric(self.rubric) # we'll render it context = {'rubric': rubric_html, diff --git a/lms/djangoapps/open_ended_grading/grading_service.py b/lms/djangoapps/open_ended_grading/grading_service.py index f65554a9d6..63febb105f 100644 --- a/lms/djangoapps/open_ended_grading/grading_service.py +++ b/lms/djangoapps/open_ended_grading/grading_service.py @@ -116,7 +116,7 @@ class GradingService(object): if 'rubric' in response_json: rubric = response_json['rubric'] rubric_renderer = CombinedOpenEndedRubric(self.system, False) - rubric_html = rubric_renderer.render_rubric(rubric) + success, rubric_html = rubric_renderer.render_rubric(rubric) response_json['rubric'] = rubric_html return response_json # if we can't parse the rubric into HTML,