diff --git a/lms/djangoapps/discussion/rest_api/api.py b/lms/djangoapps/discussion/rest_api/api.py index 25183c6548..50461dd2b2 100644 --- a/lms/djangoapps/discussion/rest_api/api.py +++ b/lms/djangoapps/discussion/rest_api/api.py @@ -1700,7 +1700,7 @@ def get_course_discussion_user_stats( order_by = order_by or UserOrdering.BY_FLAGS else: order_by = order_by or UserOrdering.BY_ACTIVITY - if order_by != UserOrdering.BY_ACTIVITY: + if order_by == UserOrdering.BY_FLAGS: raise ValidationError({"order_by": "Invalid value"}) if not ENABLE_LEARNERS_STATS.is_enabled(course_key): diff --git a/lms/djangoapps/discussion/rest_api/forms.py b/lms/djangoapps/discussion/rest_api/forms.py index b7a9286c28..3663b41738 100644 --- a/lms/djangoapps/discussion/rest_api/forms.py +++ b/lms/djangoapps/discussion/rest_api/forms.py @@ -24,6 +24,7 @@ from openedx.core.djangoapps.util.forms import ExtendedNullBooleanField, MultiVa class UserOrdering(TextChoices): BY_ACTIVITY = 'activity' BY_FLAGS = 'flagged' + BY_RECENT_ACTIVITY = 'recency' class _PaginationForm(Form): diff --git a/lms/djangoapps/discussion/rest_api/tests/test_views.py b/lms/djangoapps/discussion/rest_api/tests/test_views.py index b69b60df9c..118b4fcc29 100644 --- a/lms/djangoapps/discussion/rest_api/tests/test_views.py +++ b/lms/djangoapps/discussion/rest_api/tests/test_views.py @@ -3115,9 +3115,11 @@ class CourseActivityStatsTest(ForumsEnableMixin, UrlResetMixin, CommentsServiceM @ddt.data( ("moderator", "flagged", "flagged"), ("moderator", "activity", "activity"), + ("moderator", "recency", "recency"), ("moderator", None, "flagged"), ("user", None, "activity"), ("user", "activity", "activity"), + ("user", "recency", "recency"), ) @ddt.unpack @mock.patch.dict("django.conf.settings.FEATURES", {"ENABLE_DISCUSSION_SERVICE": True})