Commit 15a4db17 by Victor Shnayder

Only show enrolled students in course gradebook

* also added todo about need for pagination
parent 5882a89c
...@@ -27,7 +27,8 @@ from xmodule.course_module import CourseDescriptor ...@@ -27,7 +27,8 @@ from xmodule.course_module import CourseDescriptor
from util.cache import cache, cache_if_anonymous from util.cache import cache, cache_if_anonymous
from student.models import UserTestGroup, CourseEnrollment from student.models import UserTestGroup, CourseEnrollment
from courseware import grades from courseware import grades
from courseware.courses import check_course, get_courses_by_university from courseware.courses import (check_course, get_courses_by_university,
has_staff_access_to_course)
log = logging.getLogger("mitx.courseware") log = logging.getLogger("mitx.courseware")
...@@ -70,18 +71,18 @@ def gradebook(request, course_id): ...@@ -70,18 +71,18 @@ def gradebook(request, course_id):
raise Http404 raise Http404
course = check_course(course_id) course = check_course(course_id)
student_objects = User.objects.all()[:100] enrolled_students = User.objects.filter(courseenrollment__course_id=course_id).order_by('username')
student_info = []
# TODO (vshnayder): implement pagination.
#TODO: Only select students who are in the course enrolled_students = enrolled_students[:1000] # HACK!
for student in student_objects:
student_info.append({ student_info = [{'username': student.username,
'username': student.username, 'id': student.id,
'id': student.id, 'email': student.email,
'email': student.email, 'grade_summary': grades.grade(student, request, course),
'grade_summary': grades.grade(student, request, course), 'realname': UserProfile.objects.get(user=student).name
'realname': UserProfile.objects.get(user=student).name }
}) for student in enrolled_students]
return render_to_response('gradebook.html', {'students': student_info, 'course': course}) return render_to_response('gradebook.html', {'students': student_info, 'course': course})
......
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