Commit 63d07b7e by Miles Steele

rename enrolled_students_profiles -> enrolled_students_features

parent 94ac02e8
...@@ -14,11 +14,11 @@ PROFILE_FEATURES = ('name', 'language', 'location', 'year_of_birth', 'gender', ...@@ -14,11 +14,11 @@ PROFILE_FEATURES = ('name', 'language', 'location', 'year_of_birth', 'gender',
AVAILABLE_FEATURES = STUDENT_FEATURES + PROFILE_FEATURES AVAILABLE_FEATURES = STUDENT_FEATURES + PROFILE_FEATURES
def enrolled_students_profiles(course_id, features): def enrolled_students_features(course_id, features):
""" """
Return list of student features as dictionaries. Return list of student features as dictionaries.
enrolled_students_profiles(course_id, ['username, first_name']) enrolled_students_features(course_id, ['username, first_name'])
would return [ would return [
{'username': 'username1', 'first_name': 'firstname1'} {'username': 'username1', 'first_name': 'firstname1'}
{'username': 'username2', 'first_name': 'firstname2'} {'username': 'username2', 'first_name': 'firstname2'}
......
...@@ -6,7 +6,7 @@ from django.test import TestCase ...@@ -6,7 +6,7 @@ from django.test import TestCase
from student.models import CourseEnrollment from student.models import CourseEnrollment
from student.tests.factories import UserFactory from student.tests.factories import UserFactory
from analytics.basic import enrolled_students_profiles, AVAILABLE_FEATURES, STUDENT_FEATURES, PROFILE_FEATURES from analytics.basic import enrolled_students_features, AVAILABLE_FEATURES, STUDENT_FEATURES, PROFILE_FEATURES
class TestAnalyticsBasic(TestCase): class TestAnalyticsBasic(TestCase):
...@@ -17,19 +17,19 @@ class TestAnalyticsBasic(TestCase): ...@@ -17,19 +17,19 @@ class TestAnalyticsBasic(TestCase):
self.users = tuple(UserFactory() for _ in xrange(30)) self.users = tuple(UserFactory() for _ in xrange(30))
self.ces = tuple(CourseEnrollment.objects.create(course_id=self.course_id, user=user) for user in self.users) self.ces = tuple(CourseEnrollment.objects.create(course_id=self.course_id, user=user) for user in self.users)
def test_enrolled_students_profiles_username(self): def test_enrolled_students_features_username(self):
self.assertIn('username', AVAILABLE_FEATURES) self.assertIn('username', AVAILABLE_FEATURES)
userreports = enrolled_students_profiles(self.course_id, ['username']) userreports = enrolled_students_features(self.course_id, ['username'])
self.assertEqual(len(userreports), len(self.users)) self.assertEqual(len(userreports), len(self.users))
for userreport in userreports: for userreport in userreports:
self.assertEqual(userreport.keys(), ['username']) self.assertEqual(userreport.keys(), ['username'])
self.assertIn(userreport['username'], [user.username for user in self.users]) self.assertIn(userreport['username'], [user.username for user in self.users])
def test_enrolled_students_profiles_keys(self): def test_enrolled_students_features_keys(self):
query_features = ('username', 'name', 'email') query_features = ('username', 'name', 'email')
for feature in query_features: for feature in query_features:
self.assertIn(feature, AVAILABLE_FEATURES) self.assertIn(feature, AVAILABLE_FEATURES)
userreports = enrolled_students_profiles(self.course_id, query_features) userreports = enrolled_students_features(self.course_id, query_features)
self.assertEqual(len(userreports), len(self.users)) self.assertEqual(len(userreports), len(self.users))
for userreport in userreports: for userreport in userreports:
self.assertEqual(set(userreport.keys()), set(query_features)) self.assertEqual(set(userreport.keys()), set(query_features))
......
...@@ -248,7 +248,7 @@ def grading_config(request, course_id): ...@@ -248,7 +248,7 @@ def grading_config(request, course_id):
@ensure_csrf_cookie @ensure_csrf_cookie
@cache_control(no_cache=True, no_store=True, must_revalidate=True) @cache_control(no_cache=True, no_store=True, must_revalidate=True)
def enrolled_students_profiles(request, course_id, csv=False): def enrolled_students_features(request, course_id, csv=False):
""" """
Respond with json which contains a summary of all enrolled students profile information. Respond with json which contains a summary of all enrolled students profile information.
...@@ -264,7 +264,7 @@ def enrolled_students_profiles(request, course_id, csv=False): ...@@ -264,7 +264,7 @@ def enrolled_students_profiles(request, course_id, csv=False):
query_features = ['username', 'name', 'email', 'language', 'location', 'year_of_birth', 'gender', query_features = ['username', 'name', 'email', 'language', 'location', 'year_of_birth', 'gender',
'level_of_education', 'mailing_address', 'goals'] 'level_of_education', 'mailing_address', 'goals']
student_data = analytics.basic.enrolled_students_profiles(course_id, query_features) student_data = analytics.basic.enrolled_students_features(course_id, query_features)
if not csv: if not csv:
response_payload = { response_payload = {
......
...@@ -135,7 +135,7 @@ def _section_data_download(course_id): ...@@ -135,7 +135,7 @@ def _section_data_download(course_id):
'section_key': 'data_download', 'section_key': 'data_download',
'section_display_name': 'Data Download', 'section_display_name': 'Data Download',
'grading_config_url': reverse('grading_config', kwargs={'course_id': course_id}), 'grading_config_url': reverse('grading_config', kwargs={'course_id': course_id}),
'enrolled_students_profiles_url': reverse('enrolled_students_profiles', kwargs={'course_id': course_id}), 'enrolled_students_features_url': reverse('enrolled_students_features', kwargs={'course_id': course_id}),
} }
return section_data return section_data
......
<%page args="section_data"/> <%page args="section_data"/>
<input type="button" name="list-profiles" value="List enrolled students with profile information" data-endpoint="${ section_data['enrolled_students_profiles_url'] }" > <input type="button" name="list-profiles" value="List enrolled students with profile information" data-endpoint="${ section_data['enrolled_students_features_url'] }" >
<input type="button" name="list-profiles" value="CSV" data-csv="true" class="csv" data-endpoint="${ section_data['enrolled_students_profiles_url'] }" > <input type="button" name="list-profiles" value="CSV" data-csv="true" class="csv" data-endpoint="${ section_data['enrolled_students_features_url'] }" >
<br> <br>
## <input type="button" name="list-grades" value="Student grades"> ## <input type="button" name="list-grades" value="Student grades">
## <input type="button" name="list-profiles" value="CSV" data-csv="true" class="csv"> ## <input type="button" name="list-profiles" value="CSV" data-csv="true" class="csv">
......
...@@ -354,8 +354,8 @@ if settings.COURSEWARE_ENABLED and settings.MITX_FEATURES.get('ENABLE_INSTRUCTOR ...@@ -354,8 +354,8 @@ if settings.COURSEWARE_ENABLED and settings.MITX_FEATURES.get('ENABLE_INSTRUCTOR
'instructor.views.api.access_allow_revoke', name="access_allow_revoke"), 'instructor.views.api.access_allow_revoke', name="access_allow_revoke"),
url(r'^courses/(?P<course_id>[^/]+/[^/]+/[^/]+)/instructor_dashboard/api/grading_config$', url(r'^courses/(?P<course_id>[^/]+/[^/]+/[^/]+)/instructor_dashboard/api/grading_config$',
'instructor.views.api.grading_config', name="grading_config"), 'instructor.views.api.grading_config', name="grading_config"),
url(r'^courses/(?P<course_id>[^/]+/[^/]+/[^/]+)/instructor_dashboard/api/enrolled_students_profiles(?P<csv>/csv)?$', url(r'^courses/(?P<course_id>[^/]+/[^/]+/[^/]+)/instructor_dashboard/api/enrolled_students_features(?P<csv>/csv)?$',
'instructor.views.api.enrolled_students_profiles', name="enrolled_students_profiles"), 'instructor.views.api.enrolled_students_features', name="enrolled_students_features"),
url(r'^courses/(?P<course_id>[^/]+/[^/]+/[^/]+)/instructor_dashboard/api/profile_distribution$', url(r'^courses/(?P<course_id>[^/]+/[^/]+/[^/]+)/instructor_dashboard/api/profile_distribution$',
'instructor.views.api.profile_distribution', name="profile_distribution"), 'instructor.views.api.profile_distribution', name="profile_distribution"),
url(r'^courses/(?P<course_id>[^/]+/[^/]+/[^/]+)/instructor_dashboard/api/get_student_progress_url$', url(r'^courses/(?P<course_id>[^/]+/[^/]+/[^/]+)/instructor_dashboard/api/get_student_progress_url$',
......
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