Commit d9ea0fcd by Vik Paruchuri

display feedback in status box

parent 573ec68a
......@@ -213,11 +213,13 @@ class CombinedOpenEndedModule(XModule):
last_response=task.latest_answer()
last_score = task.latest_score()
last_post_assessment = task.latest_post_assessment()
if task_type=="openended":
last_post_assessment = task.latest_post_assessment(short_feedback=True)
max_score = task.max_score()
state = task.state
last_response_dict={'response' : last_response, 'score' : last_score,
'post_assessment' : last_post_assessment,
'type' : task_type, 'max_score' : max_score, 'state' : state}
'type' : task_type, 'max_score' : max_score, 'state' : state, 'human_state' : task.HUMAN_NAMES[state]}
return last_response_dict
......
......@@ -381,13 +381,18 @@ class OpenEndedModule(openendedchild.OpenEndedChild):
return {'valid' : True, 'score' : score_result['score'], 'feedback' : feedback}
def latest_post_assessment(self):
def latest_post_assessment(self, short_feedback=False):
"""None if not available"""
if not self.history:
return ""
feedback_dict = self._parse_score_msg(self.history[-1].get('post_assessment', ""))
if not short_feedback:
return feedback_dict['feedback'] if feedback_dict['valid'] else ''
short_feedback = self._convert_longform_feedback_to_html(json.loads(self.history[-1].get('post_assessment', "")))
return short_feedback if feedback_dict['valid'] else ''
def is_submission_correct(self, score):
correct=False
if(isinstance(score,(int, long, float, complex))):
......
......@@ -69,6 +69,13 @@ class OpenEndedChild():
POST_ASSESSMENT = 'post_assessment'
DONE = 'done'
HUMAN_NAMES={
'initial' : 'Started',
'assessing' : 'Being scored',
'post_assessment' : 'Scoring finished',
'done' : 'Problem complete',
}
def __init__(self, system, location, definition, descriptor, static_data,
instance_state=None, shared_state=None, **kwargs):
"""
......
<section id="combined-open-ended-status" class="combined-open-ended-status">
%for status in status_list:
<div class="statusitem">
Step ${status['task_number']} (${status['state']}) : ${status['score']} / ${status['max_score']}
Step ${status['task_number']} (${status['human_state']}) : ${status['score']} / ${status['max_score']}
%if status['type']=="openended":
<div class="collapsible open-ended-short-feedback">
${status['post_assessment']}
</div>
%endif
</div>
%endfor
......
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