Commit a2d9e666 by Vik Paruchuri

Centralized rubric now displays properly

parent 9fa16b07
......@@ -519,20 +519,23 @@ class CombinedOpenEndedV1Module():
Input: AJAX get dictionary
Output: Dictionary to be rendered via ajax that contains the result html.
"""
task_number = int(get['task_number'])
self.update_task_states()
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))
rubric_scores = [rd['rubric_scores'] for rd in all_responses]
grader_types = [rd['grader_types'] for rd in all_responses]
feedback_items = [rd['feedback_items'] 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 if len(rd['grader_types'])>0]
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,
grader_types, feedback_items)
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)
return {'html': html, 'success': True}
......@@ -545,7 +548,12 @@ class CombinedOpenEndedV1Module():
task_number = int(get['task_number'])
self.update_task_states()
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)
return {'html': html, 'success': True}
......@@ -563,7 +571,8 @@ class CombinedOpenEndedV1Module():
handlers = {
'next_problem': self.next_problem,
'reset': self.reset,
'get_results': self.get_results
'get_results': self.get_results,
'get_combined_rubric': self.get_rubric,
}
if dispatch not in handlers:
......
......@@ -64,6 +64,7 @@ class @CombinedOpenEnded
@submit_evaluation_button.click @message_post
@results_container = $('.result-container')
@combined_rubric_container = $('.combined-rubric-container')
# Where to put the rubric once we load it
@el = $(element).find('section.open-ended-child')
......@@ -122,6 +123,13 @@ class @CombinedOpenEnded
else
@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)=>
Logger.log 'message_post', @answers
external_grader_message=$(event.target).parent().parent().parent()
......@@ -163,6 +171,9 @@ class @CombinedOpenEnded
@next_problem_button.hide()
@hide_file_upload()
@hint_area.attr('disabled', false)
if @task_number>1
@show_combined_rubric_current()
if @task_number==1 and @child_state=='assessing'
@prompt_hide()
if @child_state == 'done'
......
......@@ -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' : []}
fail = {'valid': False, 'score': 0, 'feedback': '', 'rubric_scores' : [], 'grader_types' : [], 'feedback_items' : []}
try:
score_result = json.loads(score_msg)
except (TypeError, ValueError):
......
<div class="result-container">
<h4>Results from ${task_name}</h4>
<div class="${class_name}">
<h4>${task_name}</h4>
${results | n}
</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