From 1b5903935e1e8c9fe030ad3d3de9f71471447b8f Mon Sep 17 00:00:00 2001
From: Nick Parlante
Date: Mon, 23 Sep 2013 12:40:41 -0700
Subject: [PATCH] Add "Download CSV of all student anonymized IDs" button to
instructor dashboard
This is a recurrent ops problem, so we wanted to make it available
on the instructor dashboard.
---
lms/djangoapps/instructor/views/legacy.py | 11 ++++++++++-
lms/templates/courseware/instructor_dashboard.html | 3 +++
2 files changed, 13 insertions(+), 1 deletion(-)
diff --git a/lms/djangoapps/instructor/views/legacy.py b/lms/djangoapps/instructor/views/legacy.py
index 2efc7e1344..df467b8637 100644
--- a/lms/djangoapps/instructor/views/legacy.py
+++ b/lms/djangoapps/instructor/views/legacy.py
@@ -50,7 +50,7 @@ from instructor_task.api import (get_running_instructor_tasks,
from instructor_task.views import get_task_completion_info
from mitxmako.shortcuts import render_to_response
from psychometrics import psychoanalyze
-from student.models import CourseEnrollment, CourseEnrollmentAllowed
+from student.models import CourseEnrollment, CourseEnrollmentAllowed, unique_id_for_user
from student.views import course_from_id
import track.views
from mitxmako.shortcuts import render_to_string
@@ -584,6 +584,15 @@ def instructor_dashboard(request, course_id):
datatable['title'] = 'Student state for problem %s' % problem_to_dump
return return_csv('student_state_from_%s.csv' % problem_to_dump, datatable)
+ elif 'Download CSV of all student anonymized IDs' in action:
+ students = User.objects.filter(
+ courseenrollment__course_id=course_id,
+ ).order_by('id')
+
+ datatable = {'header': ['User ID', 'Anonymized user ID']}
+ datatable['data'] = [[s.id, unique_id_for_user(s)] for s in students]
+ return return_csv(course_id.replace('/', '-')+'-anon-ids.csv', datatable)
+
#----------------------------------------
# Group management
diff --git a/lms/templates/courseware/instructor_dashboard.html b/lms/templates/courseware/instructor_dashboard.html
index effa5852d8..7f41c82c9d 100644
--- a/lms/templates/courseware/instructor_dashboard.html
+++ b/lms/templates/courseware/instructor_dashboard.html
@@ -416,6 +416,9 @@ function goto( mode)
+
+
+
%endif