From d9ea0fcda06712c65bb10f01d217f0ee55af6893 Mon Sep 17 00:00:00 2001 From: Vik Paruchuri Date: Mon, 7 Jan 2013 17:47:34 -0500 Subject: [PATCH] display feedback in status box --- common/lib/xmodule/xmodule/combined_open_ended_module.py | 4 +++- common/lib/xmodule/xmodule/open_ended_module.py | 9 +++++++-- common/lib/xmodule/xmodule/openendedchild.py | 7 +++++++ lms/templates/combined_open_ended_status.html | 6 ++++-- 4 files changed, 21 insertions(+), 5 deletions(-) diff --git a/common/lib/xmodule/xmodule/combined_open_ended_module.py b/common/lib/xmodule/xmodule/combined_open_ended_module.py index 2c2e9b57f5..b0fb365d73 100644 --- a/common/lib/xmodule/xmodule/combined_open_ended_module.py +++ b/common/lib/xmodule/xmodule/combined_open_ended_module.py @@ -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 diff --git a/common/lib/xmodule/xmodule/open_ended_module.py b/common/lib/xmodule/xmodule/open_ended_module.py index 351f098c50..c5cc01964e 100644 --- a/common/lib/xmodule/xmodule/open_ended_module.py +++ b/common/lib/xmodule/xmodule/open_ended_module.py @@ -381,12 +381,17 @@ 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', "")) - return feedback_dict['feedback'] if feedback_dict['valid'] else '' + 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 diff --git a/common/lib/xmodule/xmodule/openendedchild.py b/common/lib/xmodule/xmodule/openendedchild.py index 2e3a5b8e02..236bd03c4c 100644 --- a/common/lib/xmodule/xmodule/openendedchild.py +++ b/common/lib/xmodule/xmodule/openendedchild.py @@ -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): """ diff --git a/lms/templates/combined_open_ended_status.html b/lms/templates/combined_open_ended_status.html index 6450f5a43e..5b8ac5fcbe 100644 --- a/lms/templates/combined_open_ended_status.html +++ b/lms/templates/combined_open_ended_status.html @@ -1,9 +1,11 @@
%for status in status_list:
- 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": - ${status['post_assessment']} +
+ ${status['post_assessment']} +
%endif
%endfor