Commit 0112bd7b by Diana Huang

Clean up data.

Hide discussion information for now.
parent ca6da2db
......@@ -61,7 +61,6 @@ from openedx.features.course_experience import course_home_page_title
'schedule': assignment_schedule,
'grading_policy': grading_policy,
'grades': assignment_grades,
'discussion_info': discussion_info,
}
)}
</div>
......
"""
Learner analytics dashboard views
"""
import math
import json
from django.contrib.auth.decorators import login_required
......@@ -42,6 +43,8 @@ class LearnerAnalyticsView(View):
course_url_name = default_course_url_name(course.id)
course_url = reverse(course_url_name, kwargs={'course_id': unicode(course.id)})
grading_policy = course.grading_policy
# Render the course bookmarks page
context = {
'csrf': csrf(request)['csrf_token'],
......@@ -49,15 +52,14 @@ class LearnerAnalyticsView(View):
'course_url': course_url,
'disable_courseware_js': True,
'uses_pattern_library': True,
'grading_policy': course.grading_policy,
'assignment_grades': self.get_grade_data(request.user, course_key),
'grading_policy': grading_policy,
'assignment_grades': self.get_grade_data(request.user, course_key, grading_policy['GRADE_CUTOFFS']),
'assignment_schedule': self.get_schedule(request, course_key),
'discussion_info': self.get_discussion_data(request, course_key)
# 'discussion_info': self.get_discussion_data(request, course_key)
}
return render_to_response('learner_analytics/dashboard.html', context)
def get_grade_data(self, user, course_key):
def get_grade_data(self, user, course_key, grade_cutoffs):
"""
Collects and formats the grades data for a particular user and course.
......@@ -66,13 +68,21 @@ class LearnerAnalyticsView(View):
course_key: CourseKey
"""
course_grade = CourseGradeFactory().read(user, course_key=course_key)
grades = {}
for (subsection, subsection_grade) in course_grade.subsection_grades.iteritems():
grades[unicode(subsection)] = {
'assignment_type': subsection_grade.format,
'total_earned': subsection_grade.graded_total.earned,
'total_possible': subsection_grade.graded_total.possible,
}
grades = []
for (location, subsection_grade) in course_grade.subsection_grades.iteritems():
if subsection_grade.format is not None:
possible = subsection_grade.graded_total.possible
passing_grade = math.ceil(possible * grade_cutoffs['Pass'])
grades.append({
'assignment_type': subsection_grade.format,
'total_earned': subsection_grade.graded_total.earned,
'total_possible': possible,
'passing_grade': passing_grade,
'assigment_url': reverse('jump_to_id', kwargs={
'course_id': unicode(course_key),
'module_id': unicode(location),
})
})
return json.dumps(grades)
def get_discussion_data(self, request, course_key):
......
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