diff --git a/common/lib/xmodule/xmodule/js/src/combinedopenended/display.coffee b/common/lib/xmodule/xmodule/js/src/combinedopenended/display.coffee index 6022bdd4cc..db41288324 100644 --- a/common/lib/xmodule/xmodule/js/src/combinedopenended/display.coffee +++ b/common/lib/xmodule/xmodule/js/src/combinedopenended/display.coffee @@ -622,4 +622,10 @@ class @CombinedOpenEnded toggle_rubric: (event) => info_rubric_elements = @$(@info_rubric_elements_sel) info_rubric_elements.slideToggle() + @rubric_header = @$(@rubric_collapse_sel) + if @rubric_header.text() == "(Hide)" + new_text = "(Show)" + else + new_text = "(Hide)" + @rubric_header.text(new_text) return false 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 3ceafdca65..d9d296175e 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 @@ -503,27 +503,35 @@ class CombinedOpenEndedV1Module(): """ all_responses = [] loop_up_to_task = self.current_task_number + 1 + contexts = [] for i in xrange(0, loop_up_to_task): - all_responses.append(self.get_last_response(i)) - rubric_scores = [all_responses[i]['rubric_scores'] for i in xrange(0, len(all_responses)) if - len(all_responses[i]['rubric_scores']) > 0 and all_responses[i]['grader_types'][ - 0] in HUMAN_GRADER_TYPE.keys()] - grader_types = [all_responses[i]['grader_types'] for i in xrange(0, len(all_responses)) if - len(all_responses[i]['grader_types']) > 0 and all_responses[i]['grader_types'][ - 0] in HUMAN_GRADER_TYPE.keys()] - feedback_items = [all_responses[i]['feedback_items'] for i in xrange(0, len(all_responses)) if - len(all_responses[i]['feedback_items']) > 0 and all_responses[i]['grader_types'][ - 0] in HUMAN_GRADER_TYPE.keys()] - rubric_html = self.rubric_renderer.render_combined_rubric(stringify_children(self.static_data['rubric']), - rubric_scores, - grader_types, feedback_items) + response = self.get_last_response(i) + rubric_scores = None + if len(response['rubric_scores']) > 0 and response['grader_types'][0] in HUMAN_GRADER_TYPE.keys(): + rubric_scores = [response['rubric_scores']] + grader_types = None + if len(response['grader_types']) > 0 and response['grader_types'][0] in HUMAN_GRADER_TYPE.keys(): + grader_types = [response['grader_types']] + feedback_items = None + if len(response['feedback_items']) > 0 and response['grader_types'][0] in HUMAN_GRADER_TYPE.keys(): + feedback_items = [response['feedback_items']] + if feedback_items is not None and grader_types is not None and rubric_scores is not None: + rubric_html = self.rubric_renderer.render_combined_rubric(stringify_children(self.static_data['rubric']), + rubric_scores, + grader_types, feedback_items) + contexts.append({ + 'result': rubric_html, + 'task_name': 'Scored Rubric', + 'class_name': 'combined-rubric-container' + }) - response_dict = all_responses[-1] context = { - 'results': rubric_html, - 'task_name': 'Scored Rubric', - 'class_name': 'combined-rubric-container' + 'results': contexts, + 'name' : 'name', } + + log.info(contexts) + html = self.system.render_template('{0}/combined_open_ended_results.html'.format(self.TEMPLATE_DIR), context) return {'html': html, 'success': True} diff --git a/lms/templates/combinedopenended/combined_open_ended_results.html b/lms/templates/combinedopenended/combined_open_ended_results.html index f1e9289221..90fca863b1 100644 --- a/lms/templates/combinedopenended/combined_open_ended_results.html +++ b/lms/templates/combinedopenended/combined_open_ended_results.html @@ -1,4 +1,7 @@ -
-

${task_name}

(Show) - ${results | n} -
+ +% for (i,result) in enumerate(results): +
+

${result['task_name']}(Hide)

+ ${result['result'] | n} +
+% endfor