Commit 5d84d4c7 by Dennis Jen Committed by Daniel Friedman

address comments

parent 58c42303
...@@ -223,7 +223,7 @@ class RosterEntry(DocType): ...@@ -223,7 +223,7 @@ class RosterEntry(DocType):
email = String() email = String()
enrollment_mode = String() enrollment_mode = String()
cohort = String() cohort = String()
segments = String(fields={'raw': String()}) segments = String() # segments is an array/list of strings
problems_attempted = Integer() problems_attempted = Integer()
problems_completed = Integer() problems_completed = Integer()
problem_attempts_per_completed = Float() problem_attempts_per_completed = Float()
......
...@@ -348,8 +348,7 @@ class LearnerSerializer(serializers.Serializer, DefaultIfNoneMixin): ...@@ -348,8 +348,7 @@ class LearnerSerializer(serializers.Serializer, DefaultIfNoneMixin):
engagements[field] = self.default_if_none(getattr(obj, field, None), 0) engagements[field] = self.default_if_none(getattr(obj, field, None), 0)
# preserve null values for problem attempts per completed # preserve null values for problem attempts per completed
no_default_field = 'problem_attempts_per_completed' engagements['problem_attempts_per_completed'] = getattr(obj, 'problem_attempts_per_completed', None)
engagements[no_default_field] = getattr(obj, no_default_field, None)
return engagements return engagements
......
...@@ -150,13 +150,13 @@ class LearnerTests(VerifyCourseIdMixin, LearnerAPITestMixin, TestCaseWithAuthent ...@@ -150,13 +150,13 @@ class LearnerTests(VerifyCourseIdMixin, LearnerAPITestMixin, TestCaseWithAuthent
@ddt.data( @ddt.data(
('ed_xavier', 'Edward Xavier', 'edX/DemoX/Demo_Course', 'honor', ['has_potential'], 'Team edX', ('ed_xavier', 'Edward Xavier', 'edX/DemoX/Demo_Course', 'honor', ['has_potential'], 'Team edX',
43, 3, 6, 0, 8.4, 2, '2015-04-24', '2015-08-05'), 43, 3, 6, 0, 8.4, 2, '2015-04-24', '2015-08-05'),
('ed_xavier', 'Edward Xavier', 'edX/DemoX/Demo_Course', 'verified', None, None, ('ed_xavier', 'Edward Xavier', 'edX/DemoX/Demo_Course', 'verified'),
None, None, None, None, None, None, None, None),
) )
@ddt.unpack @ddt.unpack
def test_get_user(self, username, name, course_id, enrollment_mode, segments, cohort, problems_attempted, def test_get_user(self, username, name, course_id, enrollment_mode, segments=None, cohort=None,
problems_completed, videos_viewed, discussions_contributed, problem_attempts_per_completed, problems_attempted=None, problems_completed=None, videos_viewed=None,
attempt_ratio_order, enrollment_date, last_updated): discussions_contributed=None, problem_attempts_per_completed=None,
attempt_ratio_order=None, enrollment_date=None, last_updated=None):
self.create_learners([{ self.create_learners([{
"username": username, "username": username,
......
...@@ -176,9 +176,8 @@ class LearnerListView(CourseViewMixin, generics.ListAPIView): ...@@ -176,9 +176,8 @@ class LearnerListView(CourseViewMixin, generics.ListAPIView):
query_params = self.request.QUERY_PARAMS query_params = self.request.QUERY_PARAMS
# Ordering by problem_attempts_per_completed can be ambiguous because # Ordering by problem_attempts_per_completed can be ambiguous because
# it's a ratio values could be infinite (e.g. divide by zero) if no problems # values could be infinite (e.g. divide by zero) if no problems were completed.
# were completed. Instead, sorting by attempt_ratio_order will produce # Instead, sorting by attempt_ratio_order will produce a sensible ordering
# a sensible ordering
order_by = query_params.get('order_by') order_by = query_params.get('order_by')
order_by = 'attempt_ratio_order' if order_by == 'problem_attempts_per_completed' else order_by order_by = 'attempt_ratio_order' if order_by == 'problem_attempts_per_completed' else order_by
......
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