fix: add is_group_ta and has_moderations_privileges to course settings API

This commit is contained in:
SaadYousaf
2022-08-16 14:51:39 +05:00
committed by Saad Yousaf
parent fe8a8ef228
commit 495d1cc86c
3 changed files with 8 additions and 4 deletions

View File

@@ -48,6 +48,7 @@ from openedx.core.djangoapps.django_comment_common.comment_client.utils import C
from openedx.core.djangoapps.django_comment_common.models import (
FORUM_ROLE_ADMINISTRATOR,
FORUM_ROLE_COMMUNITY_TA,
FORUM_ROLE_GROUP_MODERATOR,
FORUM_ROLE_MODERATOR,
CourseDiscussionSettings,
Role,
@@ -322,11 +323,12 @@ def get_course(request, course_key):
"allow_anonymous": course.allow_anonymous,
"allow_anonymous_to_peers": course.allow_anonymous_to_peers,
"user_roles": user_roles,
"user_is_privileged": bool(user_roles & {
"has_moderation_privileges": bool(user_roles & {
FORUM_ROLE_ADMINISTRATOR,
FORUM_ROLE_MODERATOR,
FORUM_ROLE_COMMUNITY_TA,
}),
"is_group_ta": bool(user_roles & {FORUM_ROLE_GROUP_MODERATOR}),
"is_user_admin": request.user.is_staff,
"provider": course_config.provider_type,
"enable_in_context": course_config.enable_in_context,

View File

@@ -199,7 +199,8 @@ class GetCourseTest(ForumsEnableMixin, UrlResetMixin, SharedModuleStoreTestCase)
'enable_in_context': True,
'group_at_subsection': False,
'provider': 'legacy',
'user_is_privileged': False,
'has_moderation_privileges': False,
'is_group_ta': False,
'is_user_admin': False,
'user_roles': {'Student'},
'learners_tab_enabled': False,
@@ -219,7 +220,7 @@ class GetCourseTest(ForumsEnableMixin, UrlResetMixin, SharedModuleStoreTestCase)
"""
_assign_role_to_user(user=self.user, course_id=self.course.id, role=role)
course_meta = get_course(self.request, self.course.id)
assert course_meta["user_is_privileged"]
assert course_meta["has_moderation_privileges"]
assert course_meta["user_roles"] == {FORUM_ROLE_STUDENT} | {role}
@ddt.data(True, False)

View File

@@ -520,7 +520,8 @@ class CourseViewTest(DiscussionAPIViewTestMixin, ModuleStoreTestCase):
"provider": "legacy",
"allow_anonymous": True,
"allow_anonymous_to_peers": False,
"user_is_privileged": False,
"has_moderation_privileges": False,
"is_group_ta": False,
'is_user_admin': False,
"user_roles": ["Student"],
'learners_tab_enabled': False,