diff --git a/common/lib/xmodule/xmodule/open_ended_grading_classes/peer_grading_service.py b/common/lib/xmodule/xmodule/open_ended_grading_classes/peer_grading_service.py index 7721c3b96c..81c24bc021 100644 --- a/common/lib/xmodule/xmodule/open_ended_grading_classes/peer_grading_service.py +++ b/common/lib/xmodule/xmodule/open_ended_grading_classes/peer_grading_service.py @@ -54,16 +54,9 @@ class PeerGradingService(GradingService): response = self.get(self.show_calibration_essay_url, params) return self.try_to_decode(self._render_rubric(response)) - def save_calibration_essay(self, problem_location, grader_id, calibration_essay_id, submission_key, - score, feedback, rubric_scores): - data = {'location': problem_location, - 'student_id': grader_id, - 'calibration_essay_id': calibration_essay_id, - 'submission_key': submission_key, - 'score': score, - 'feedback': feedback, - 'rubric_scores[]': rubric_scores, - 'rubric_scores_complete': True} + def save_calibration_essay(self, **kwargs): + data = kwargs + data.update({'rubric_scores_complete' : True}) return self.try_to_decode(self.post(self.save_calibration_essay_url, data)) def get_problem_list(self, course_id, grader_id): @@ -115,9 +108,7 @@ class MockPeerGradingService(object): 'rubric': 'fake rubric', 'max_score': 4} - def save_calibration_essay(self, problem_location, grader_id, - calibration_essay_id, submission_key, score, - feedback, rubric_scores): + def save_calibration_essay(self, **kwargs): return {'success': True, 'actual_score': 2} def get_problem_list(self, course_id, grader_id): diff --git a/common/lib/xmodule/xmodule/peer_grading_module.py b/common/lib/xmodule/xmodule/peer_grading_module.py index c6c5d2e3f2..c97ec0c4f0 100644 --- a/common/lib/xmodule/xmodule/peer_grading_module.py +++ b/common/lib/xmodule/xmodule/peer_grading_module.py @@ -442,27 +442,20 @@ class PeerGradingModule(PeerGradingFields, XModule): success, message = self._check_required(data, required) if not success: return self._err_response(message) - grader_id = self.system.anonymous_student_id - location = data.get('location') - calibration_essay_id = data.get('submission_id') - submission_key = data.get('submission_key') - score = data.get('score') - feedback = data.get('feedback') - rubric_scores = data.getlist('rubric_scores[]') + data_dict = {k:data.get(k) for k in required} + data_dict['rubric_scores'] = data_dict['rubric_scores[]'] + data_dict['grader_id'] = self.system.anonymous_student_id try: - response = self.peer_gs.save_calibration_essay(location, grader_id, calibration_essay_id, - submission_key, score, feedback, rubric_scores) + response = self.peer_gs.save_calibration_essay(**data_dict) if 'actual_rubric' in response: rubric_renderer = combined_open_ended_rubric.CombinedOpenEndedRubric(self.system, True) response['actual_rubric'] = rubric_renderer.render_rubric(response['actual_rubric'])['html'] return response except GradingServiceError: # This is a dev_facing_error - log.exception( - "Error saving calibration grade, location: {0}, submission_key: {1}, grader_id: {2}".format( - location, submission_key, grader_id)) + log.exception("Error saving calibration grade") # This is a student_facing_error return self._err_response('There was an error saving your score. Please notify course staff.')