fix: thread api will now allow filter by group id
This commit is contained in:
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user