fix: thread api will now allow filter by group id

This commit is contained in:
adeel.tajamul
2022-05-27 17:41:16 +05:00
parent 677e0b8076
commit 501ac92bd2

View File

@@ -42,6 +42,7 @@ from openedx.core.djangoapps.django_comment_common.models import (
FORUM_ROLE_COMMUNITY_TA,
FORUM_ROLE_MODERATOR,
CourseDiscussionSettings,
Role,
)
from openedx.core.djangoapps.django_comment_common.signals import (
comment_created,
@@ -783,12 +784,26 @@ def get_thread_list(
if count_flagged and not context["is_requester_privileged"]:
raise PermissionDenied("`count_flagged` can only be set by users with moderator access or higher.")
group_id = None
allowed_roles = [
FORUM_ROLE_ADMINISTRATOR,
FORUM_ROLE_COMMUNITY_TA,
FORUM_ROLE_MODERATOR,
]
if request.GET.get("group_id", None):
if Role.user_has_role_for_course(request.user, course_key, allowed_roles):
try:
group_id = int(request.GET.get("group_id", None))
except ValueError:
pass
if (group_id is None) and (not context["is_requester_privileged"]):
group_id = get_group_id_for_user(request.user, CourseDiscussionSettings.get(course.id))
query_params = {
"user_id": str(request.user.id),
"group_id": (
None if context["is_requester_privileged"] else
get_group_id_for_user(request.user, CourseDiscussionSettings.get(course.id))
),
"group_id": group_id,
"page": page,
"per_page": page_size,
"text": text_search,