Course admins can now access student grades by going to profile/[userid]
--HG-- branch : visible-grades
This commit is contained in:
@@ -153,7 +153,7 @@ def user_groups(user):
|
||||
cache_expiration = 60 * 60 # one hour
|
||||
|
||||
# Kill caching on dev machines -- we switch groups a lot
|
||||
if "dev" not in setting.DEFAULT_GROUPS:
|
||||
if "dev" not in settings.DEFAULT_GROUPS:
|
||||
group_names = cache.get(fasthash(key))
|
||||
else:
|
||||
group_names = None
|
||||
|
||||
@@ -34,7 +34,7 @@ etree.set_default_parser(etree.XMLParser(dtd_validation=False, load_dtd=False,
|
||||
|
||||
template_imports={'urllib':urllib}
|
||||
|
||||
def get_grade(request, problem, cache):
|
||||
def get_grade(user, problem, cache):
|
||||
## HACK: assumes max score is fixed per problem
|
||||
id = problem.get('id')
|
||||
correct = 0
|
||||
@@ -43,7 +43,7 @@ def get_grade(request, problem, cache):
|
||||
if id not in cache:
|
||||
module = StudentModule(module_type = 'problem', # TODO: Move into StudentModule.__init__?
|
||||
module_id = id,
|
||||
student = request.user,
|
||||
student = user,
|
||||
state = None,
|
||||
grade = 0,
|
||||
max_grade = None,
|
||||
@@ -76,7 +76,8 @@ def profile(request, student_id = None):
|
||||
if student_id == None:
|
||||
student = request.user
|
||||
else:
|
||||
if 'course_admin' not in content.user_groups(request.user):
|
||||
print content_parser.user_groups(request.user)
|
||||
if 'course_admin' not in content_parser.user_groups(request.user):
|
||||
raise Http404
|
||||
student = User.objects.get( id = int(student_id))
|
||||
|
||||
@@ -104,7 +105,7 @@ def profile(request, student_id = None):
|
||||
scores=[]
|
||||
if len(problems)>0:
|
||||
for p in problems:
|
||||
(correct,total) = get_grade(request, p, response_by_id)
|
||||
(correct,total) = get_grade(student, p, response_by_id)
|
||||
# id = p.get('id')
|
||||
# correct = 0
|
||||
# if id in response_by_id:
|
||||
|
||||
@@ -106,5 +106,5 @@ def add_user_to_group(group, user):
|
||||
|
||||
def remove_user_from_group(group, user):
|
||||
utg = UserTestGroup.objects.get(name = group)
|
||||
utg.users.add(User.objects.get(username = user))
|
||||
utg.users.remove(User.objects.get(username = user))
|
||||
utg.save()
|
||||
|
||||
Reference in New Issue
Block a user