From a995ef0f0f78a7b5762dcf8b02cb376cc654fafc Mon Sep 17 00:00:00 2001 From: Piotr Mitros Date: Sat, 10 Mar 2012 17:11:49 -0500 Subject: [PATCH] Instructors can see grades -- syncing machines -- nonworking code --HG-- branch : visible-grades --- courseware/views.py | 21 ++++++++++++++------- urls.py | 1 + 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/courseware/views.py b/courseware/views.py index b157f7f408..9d3b5da873 100644 --- a/courseware/views.py +++ b/courseware/views.py @@ -67,17 +67,24 @@ def get_grade(request, problem, cache): return (correct, total) @cache_control(no_cache=True, no_store=True, must_revalidate=True) -def profile(request): +def profile(request, student_id = None): ''' User profile. Show username, location, etc, as well as grades . We need to allow the user to change some of these settings .''' if not request.user.is_authenticated(): return redirect('/') - - dom=content_parser.course_file(request.user) + + if student_id == None: + student = request.user + else: + if 'course_admin' not in user_groups(request.user): + raise Http404 + student = User.objects.get( id = int(student_id)) + + dom=content_parser.course_file(student) course = dom.xpath('//course/@name')[0] xmlChapters = dom.xpath('//course[@name=$course]/chapter', course=course) - responses=StudentModule.objects.filter(student=request.user) + responses=StudentModule.objects.filter(student=student) response_by_id = {} for response in responses: response_by_id[response.module_id] = response @@ -252,12 +259,12 @@ def profile(request): ] - user_info = UserProfile.objects.get(user=request.user) # request.user.profile_cache # + user_info = UserProfile.objects.get(user=student) # request.user.profile_cache # context={'name':user_info.name, - 'username':request.user.username, + 'username':student.username, 'location':user_info.location, 'language':user_info.language, - 'email':request.user.email, + 'email':student.email, 'chapters':chapters, 'format_url_params' : format_url_params, 'grade_summary' : grade_summary, diff --git a/urls.py b/urls.py index 6e882e1580..7870fb9639 100644 --- a/urls.py +++ b/urls.py @@ -43,6 +43,7 @@ if settings.COURSEWARE_ENABLED: url(r'^section/(?P
[^/]*)/$', 'courseware.views.render_section'), url(r'^modx/(?P[^/]*)/(?P[^/]*)/(?P[^/]*)$', 'courseware.views.modx_dispatch'), #reset_problem'), url(r'^profile$', 'courseware.views.profile'), + url(r'^profile/(?P[^/]*)/$', 'courseware.views.profile'), url(r'^change_setting$', 'student.views.change_setting'), url(r'^s/(?P