From 2191f3e228548119ca624ffb13870c0a3d14123a Mon Sep 17 00:00:00 2001 From: Vik Paruchuri Date: Tue, 22 Jan 2013 10:30:03 -0500 Subject: [PATCH] Add in open ended problems view --- lms/djangoapps/courseware/tabs.py | 2 +- lms/djangoapps/open_ended_grading/views.py | 9 +++-- .../open_ended_problems.html | 36 +++++++++++++++++++ lms/urls.py | 6 +++- 4 files changed, 48 insertions(+), 5 deletions(-) create mode 100644 lms/templates/open_ended_problems/open_ended_problems.html diff --git a/lms/djangoapps/courseware/tabs.py b/lms/djangoapps/courseware/tabs.py index 1850ae3faf..80c353c748 100644 --- a/lms/djangoapps/courseware/tabs.py +++ b/lms/djangoapps/courseware/tabs.py @@ -157,7 +157,7 @@ def _peer_grading(tab, user, course, active_page): def _combined_open_ended_grading(tab, user, course, active_page): if user.is_authenticated: - link = reverse('peer_grading', args=[course.id]) + link = reverse('open_ended_problems', args=[course.id]) peer_grading_url = settings.PEER_GRADING_INTERFACE split_url = peer_grading_url.split("/") controller_url = "http://" + split_url[2] + "/grading_controller" diff --git a/lms/djangoapps/open_ended_grading/views.py b/lms/djangoapps/open_ended_grading/views.py index c92ce21e21..471e00f5f0 100644 --- a/lms/djangoapps/open_ended_grading/views.py +++ b/lms/djangoapps/open_ended_grading/views.py @@ -13,6 +13,7 @@ from courseware.courses import get_course_with_access from peer_grading_service import PeerGradingService from peer_grading_service import MockPeerGradingService +from controller_query_service import ControllerQueryService from grading_service import GradingServiceError import json from .staff_grading import StaffGrading @@ -26,6 +27,8 @@ if settings.MOCK_PEER_GRADING: else: peer_gs = PeerGradingService(settings.PEER_GRADING_INTERFACE) +controller_qs = ControllerQueryService(settings.PEER_GRADING_INTERFACE) + """ Reverses the URL from the name and the course id, and then adds a trailing slash if it does not exist yet @@ -127,7 +130,7 @@ def student_problem_list(request, course_id, student_id): error_text = "" problem_list = [] try: - problem_list_json = peer_gs.get_problem_list(course_id, unique_id_for_user(request.user)) + 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: @@ -143,9 +146,9 @@ def student_problem_list(request, course_id, student_id): error_text = "Could not get problem list" success = False - ajax_url = _reverse_with_slash('peer_grading', course_id) + ajax_url = _reverse_with_slash('open_ended_problems', course_id) - return render_to_response('peer_grading/peer_grading.html', { + return render_to_response('open_ended_problems/open_ended_problems.html', { 'course': course, 'course_id': course_id, 'ajax_url': ajax_url, diff --git a/lms/templates/open_ended_problems/open_ended_problems.html b/lms/templates/open_ended_problems/open_ended_problems.html new file mode 100644 index 0000000000..ec648afab8 --- /dev/null +++ b/lms/templates/open_ended_problems/open_ended_problems.html @@ -0,0 +1,36 @@ +<%inherit file="/main.html" /> +<%block name="bodyclass">${course.css_class} +<%namespace name='static' file='/static_content.html'/> + +<%block name="headextra"> +<%static:css group='course'/> + + +<%block name="title">${course.number} Open Ended Problems + +<%include file="/courseware/course_navigation.html" args="active_page='open_ended_problems'" /> + + +
+
+
${error_text}
+

Open Ended Problems

+

Instructions

+

Here are a list of open ended problems for this course.

+ % if success: + % if len(problem_list) == 0: +
+ You have not attempted any open ended problems yet. +
+ %else: + + %endif + %endif +
+
\ No newline at end of file diff --git a/lms/urls.py b/lms/urls.py index f92b63aac2..c7c4f231f9 100644 --- a/lms/urls.py +++ b/lms/urls.py @@ -282,7 +282,11 @@ if settings.COURSEWARE_ENABLED: url(r'^courses/(?P[^/]+/[^/]+/[^/]+)/peer_grading/save_calibration_essay$', 'open_ended_grading.peer_grading_service.save_calibration_essay', name='peer_grading_save_calibration_essay'), - # Cohorts management + # Open Ended problem list + url(r'^courses/(?P[^/]+/[^/]+/[^/]+)/open_ended_problems$', + 'open_ended_grading.views.student_problem_list', name='open_ended_problems'), + + # Cohorts management url(r'^courses/(?P[^/]+/[^/]+/[^/]+)/cohorts$', 'course_groups.views.list_cohorts', name="cohorts"), url(r'^courses/(?P[^/]+/[^/]+/[^/]+)/cohorts/add$',