Commit a2d9e666 by Vik Paruchuri

Centralized rubric now displays properly

parent 9fa16b07
...@@ -519,20 +519,23 @@ class CombinedOpenEndedV1Module(): ...@@ -519,20 +519,23 @@ class CombinedOpenEndedV1Module():
Input: AJAX get dictionary Input: AJAX get dictionary
Output: Dictionary to be rendered via ajax that contains the result html. Output: Dictionary to be rendered via ajax that contains the result html.
""" """
task_number = int(get['task_number'])
self.update_task_states() self.update_task_states()
all_responses = [] all_responses = []
for i in xrange(0,task_number+1): for i in xrange(0,self.current_task_number+1):
all_responses.append(self.get_last_response(i)) all_responses.append(self.get_last_response(i))
rubric_scores = [rd['rubric_scores'] for rd in all_responses] 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] 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] feedback_items = [rd['feedback_items'] for rd in all_responses if len(rd['feedback_items'])>0]
rubric_html = self.rubric_renderer.render_combined_rubric(stringify_children(self.static_data['rubric']), rubric_scores, rubric_html = self.rubric_renderer.render_combined_rubric(stringify_children(self.static_data['rubric']), rubric_scores,
grader_types, feedback_items) grader_types, feedback_items)
response_dict = all_responses[-1] response_dict = all_responses[-1]
context = {'results': rubric_html, 'task_number': task_number + 1, 'task_name' : response_dict['human_task']} context = {
'results': rubric_html,
'task_name' : 'Combined Rubric',
'class_name' : 'combined-rubric-container'
}
html = self.system.render_template('combined_open_ended_results.html', context) html = self.system.render_template('combined_open_ended_results.html', context)
return {'html': html, 'success': True} return {'html': html, 'success': True}
...@@ -545,7 +548,12 @@ class CombinedOpenEndedV1Module(): ...@@ -545,7 +548,12 @@ class CombinedOpenEndedV1Module():
task_number = int(get['task_number']) task_number = int(get['task_number'])
self.update_task_states() self.update_task_states()
response_dict = self.get_last_response(task_number) response_dict = self.get_last_response(task_number)
context = {'results': response_dict['post_assessment'], 'task_number': task_number + 1, 'task_name' : response_dict['human_task']} context = {
'results': response_dict['post_assessment'],
'task_number': task_number + 1,
'task_name' : response_dict['human_task'],
'class_name' : "result-container",
}
html = self.system.render_template('combined_open_ended_results.html', context) html = self.system.render_template('combined_open_ended_results.html', context)
return {'html': html, 'success': True} return {'html': html, 'success': True}
...@@ -563,7 +571,8 @@ class CombinedOpenEndedV1Module(): ...@@ -563,7 +571,8 @@ class CombinedOpenEndedV1Module():
handlers = { handlers = {
'next_problem': self.next_problem, 'next_problem': self.next_problem,
'reset': self.reset, 'reset': self.reset,
'get_results': self.get_results 'get_results': self.get_results,
'get_combined_rubric': self.get_rubric,
} }
if dispatch not in handlers: if dispatch not in handlers:
......
...@@ -64,6 +64,7 @@ class @CombinedOpenEnded ...@@ -64,6 +64,7 @@ class @CombinedOpenEnded
@submit_evaluation_button.click @message_post @submit_evaluation_button.click @message_post
@results_container = $('.result-container') @results_container = $('.result-container')
@combined_rubric_container = $('.combined-rubric-container')
# Where to put the rubric once we load it # Where to put the rubric once we load it
@el = $(element).find('section.open-ended-child') @el = $(element).find('section.open-ended-child')
...@@ -122,6 +123,13 @@ class @CombinedOpenEnded ...@@ -122,6 +123,13 @@ class @CombinedOpenEnded
else else
@gentle_alert response.error @gentle_alert response.error
show_combined_rubric_current: () =>
data = {}
$.postWithPrefix "#{@ajax_url}/get_combined_rubric", data, (response) =>
if response.success
@combined_rubric_container.after(response.html).remove()
@combined_rubric_container= $('div.combined_rubric_container')
message_post: (event)=> message_post: (event)=>
Logger.log 'message_post', @answers Logger.log 'message_post', @answers
external_grader_message=$(event.target).parent().parent().parent() external_grader_message=$(event.target).parent().parent().parent()
...@@ -163,6 +171,9 @@ class @CombinedOpenEnded ...@@ -163,6 +171,9 @@ class @CombinedOpenEnded
@next_problem_button.hide() @next_problem_button.hide()
@hide_file_upload() @hide_file_upload()
@hint_area.attr('disabled', false) @hint_area.attr('disabled', false)
if @task_number>1
@show_combined_rubric_current()
if @task_number==1 and @child_state=='assessing' if @task_number==1 and @child_state=='assessing'
@prompt_hide() @prompt_hide()
if @child_state == 'done' if @child_state == 'done'
......
...@@ -429,7 +429,7 @@ class OpenEndedModule(openendedchild.OpenEndedChild): ...@@ -429,7 +429,7 @@ class OpenEndedModule(openendedchild.OpenEndedChild):
correct: Correctness of submission (Boolean) correct: Correctness of submission (Boolean)
score: Points to be assigned (numeric, can be float) score: Points to be assigned (numeric, can be float)
""" """
fail = {'valid': False, 'score': 0, 'feedback': '', 'rubric_scores' : []} fail = {'valid': False, 'score': 0, 'feedback': '', 'rubric_scores' : [], 'grader_types' : [], 'feedback_items' : []}
try: try:
score_result = json.loads(score_msg) score_result = json.loads(score_msg)
except (TypeError, ValueError): except (TypeError, ValueError):
......
<div class="result-container"> <div class="${class_name}">
<h4>Results from ${task_name}</h4> <h4>${task_name}</h4>
${results | n} ${results | n}
</div> </div>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment