rename enrolled_students_profiles -> enrolled_students_features
This commit is contained in:
@@ -14,11 +14,11 @@ PROFILE_FEATURES = ('name', 'language', 'location', 'year_of_birth', 'gender',
|
||||
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.
|
||||
|
||||
enrolled_students_profiles(course_id, ['username, first_name'])
|
||||
enrolled_students_features(course_id, ['username, first_name'])
|
||||
would return [
|
||||
{'username': 'username1', 'first_name': 'firstname1'}
|
||||
{'username': 'username2', 'first_name': 'firstname2'}
|
||||
|
||||
@@ -6,7 +6,7 @@ from django.test import TestCase
|
||||
from student.models import CourseEnrollment
|
||||
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):
|
||||
@@ -17,19 +17,19 @@ class TestAnalyticsBasic(TestCase):
|
||||
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)
|
||||
|
||||
def test_enrolled_students_profiles_username(self):
|
||||
def test_enrolled_students_features_username(self):
|
||||
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))
|
||||
for userreport in userreports:
|
||||
self.assertEqual(userreport.keys(), ['username'])
|
||||
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')
|
||||
for feature in query_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))
|
||||
for userreport in userreports:
|
||||
self.assertEqual(set(userreport.keys()), set(query_features))
|
||||
|
||||
@@ -248,7 +248,7 @@ def grading_config(request, course_id):
|
||||
|
||||
@ensure_csrf_cookie
|
||||
@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.
|
||||
|
||||
@@ -264,7 +264,7 @@ def enrolled_students_profiles(request, course_id, csv=False):
|
||||
query_features = ['username', 'name', 'email', 'language', 'location', 'year_of_birth', 'gender',
|
||||
'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:
|
||||
response_payload = {
|
||||
|
||||
@@ -135,7 +135,7 @@ def _section_data_download(course_id):
|
||||
'section_key': 'data_download',
|
||||
'section_display_name': 'Data Download',
|
||||
'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
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<%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="CSV" data-csv="true" class="csv" 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_features_url'] }" >
|
||||
<br>
|
||||
## <input type="button" name="list-grades" value="Student grades">
|
||||
## <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
|
||||
'instructor.views.api.access_allow_revoke', name="access_allow_revoke"),
|
||||
url(r'^courses/(?P<course_id>[^/]+/[^/]+/[^/]+)/instructor_dashboard/api/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)?$',
|
||||
'instructor.views.api.enrolled_students_profiles', name="enrolled_students_profiles"),
|
||||
url(r'^courses/(?P<course_id>[^/]+/[^/]+/[^/]+)/instructor_dashboard/api/enrolled_students_features(?P<csv>/csv)?$',
|
||||
'instructor.views.api.enrolled_students_features', name="enrolled_students_features"),
|
||||
url(r'^courses/(?P<course_id>[^/]+/[^/]+/[^/]+)/instructor_dashboard/api/profile_distribution$',
|
||||
'instructor.views.api.profile_distribution', name="profile_distribution"),
|
||||
url(r'^courses/(?P<course_id>[^/]+/[^/]+/[^/]+)/instructor_dashboard/api/get_student_progress_url$',
|
||||
|
||||
Reference in New Issue
Block a user