From 34dc6e63208ace519e2c5dc17c60e7c3fe00ad20 Mon Sep 17 00:00:00 2001 From: Vik Paruchuri Date: Tue, 5 Feb 2013 13:37:55 -0500 Subject: [PATCH] Fix some issues with peer grading service --- .../xmodule/xmodule/peer_grading_service.py | 2 +- common/test/data/toy/peergrading/init.xml | 1 + lms/djangoapps/open_ended_grading/tests.py | 3 +- lms/djangoapps/open_ended_grading/views.py | 61 ++++++++++--------- 4 files changed, 36 insertions(+), 31 deletions(-) create mode 100644 common/test/data/toy/peergrading/init.xml diff --git a/common/lib/xmodule/xmodule/peer_grading_service.py b/common/lib/xmodule/xmodule/peer_grading_service.py index 3d956bdd97..542a8fc861 100644 --- a/common/lib/xmodule/xmodule/peer_grading_service.py +++ b/common/lib/xmodule/xmodule/peer_grading_service.py @@ -25,7 +25,7 @@ class PeerGradingService(GradingService): """ def __init__(self, config, system): config['system'] = system - super(StaffGradingService, self).__init__(config) + super(PeerGradingService, self).__init__(config) self.get_next_submission_url = self.url + '/get_next_submission/' self.save_grade_url = self.url + '/save_grade/' self.is_student_calibrated_url = self.url + '/is_student_calibrated/' diff --git a/common/test/data/toy/peergrading/init.xml b/common/test/data/toy/peergrading/init.xml new file mode 100644 index 0000000000..2fe3a8fd85 --- /dev/null +++ b/common/test/data/toy/peergrading/init.xml @@ -0,0 +1 @@ + diff --git a/lms/djangoapps/open_ended_grading/tests.py b/lms/djangoapps/open_ended_grading/tests.py index 0831ace7d4..5eea3e39a0 100644 --- a/lms/djangoapps/open_ended_grading/tests.py +++ b/lms/djangoapps/open_ended_grading/tests.py @@ -142,7 +142,8 @@ class TestPeerGradingService(ct.PageLoader): self.mock_service = peer_grading_service.MockPeerGradingService() self.system = ModuleSystem(None, None, None, render_to_string, None) self.descriptor = peer_grading_module.PeerGradingDescriptor() - self.peer_module = peer_grading_module.PeerGradingModule(self.system,"","",self.descriptor) + location = "i4x://edX/toy/peergrading/init" + self.peer_module = peer_grading_module.PeerGradingModule(self.system,location,"",self.descriptor) self.peer_module.peer_gs = self.mock_service self.logout() diff --git a/lms/djangoapps/open_ended_grading/views.py b/lms/djangoapps/open_ended_grading/views.py index d6fd88211f..3ab7cc30af 100644 --- a/lms/djangoapps/open_ended_grading/views.py +++ b/lms/djangoapps/open_ended_grading/views.py @@ -118,28 +118,29 @@ def student_problem_list(request, course_id): problem_list = [] base_course_url = reverse('courses') - try: - problem_list_json = controller_qs.get_grading_status_list(course_id, unique_id_for_user(request.user)) - problem_list_dict = json.loads(problem_list_json) - success = problem_list_dict['success'] - if 'error' in problem_list_dict: - error_text = problem_list_dict['error'] - problem_list = [] - else: - problem_list = problem_list_dict['problem_list'] + #try: + problem_list_json = controller_qs.get_grading_status_list(course_id, unique_id_for_user(request.user)) + problem_list_dict = json.loads(problem_list_json) + success = problem_list_dict['success'] + if 'error' in problem_list_dict: + error_text = problem_list_dict['error'] + problem_list = [] + else: + problem_list = problem_list_dict['problem_list'] - for i in xrange(0,len(problem_list)): - problem_url_parts = search.path_to_location(modulestore(), course.id, problem_list[i]['location']) - problem_url = base_course_url + "/" - for z in xrange(0,len(problem_url_parts)): - part = problem_url_parts[z] - if part is not None: - if z==1: - problem_url += "courseware/" - problem_url += part + "/" + for i in xrange(0,len(problem_list)): + problem_url_parts = search.path_to_location(modulestore(), course.id, problem_list[i]['location']) + problem_url = base_course_url + "/" + for z in xrange(0,len(problem_url_parts)): + part = problem_url_parts[z] + if part is not None: + if z==1: + problem_url += "courseware/" + problem_url += part + "/" - problem_list[i].update({'actual_url' : problem_url}) + problem_list[i].update({'actual_url' : problem_url}) + """ except GradingServiceError: error_text = "Error occured while contacting the grading service" success = False @@ -147,6 +148,7 @@ def student_problem_list(request, course_id): except ValueError: error_text = "Could not get problem list" success = False + """ ajax_url = _reverse_with_slash('open_ended_problems', course_id) @@ -193,16 +195,17 @@ def flagged_problem_list(request, course_id): success = False ajax_url = _reverse_with_slash('open_ended_flagged_problems', course_id) - - return render_to_response('open_ended_problems/open_ended_flagged_problems.html', { - 'course': course, - 'course_id': course_id, - 'ajax_url': ajax_url, - 'success': success, - 'problem_list': problem_list, - 'error_text': error_text, - # Checked above - 'staff_access': True, }) + context = { + 'course': course, + 'course_id': course_id, + 'ajax_url': ajax_url, + 'success': success, + 'problem_list': problem_list, + 'error_text': error_text, + # Checked above + 'staff_access': True, + } + return render_to_response('open_ended_problems/open_ended_flagged_problems.html', context) @cache_control(no_cache=True, no_store=True, must_revalidate=True) def combined_notifications(request, course_id):