9898)
9999from ..django_comment_client .utils import (
100100 get_group_id_for_user ,
101+ get_user_group_ids_for_user ,
101102 get_user_role_names ,
102103 has_discussion_privileges ,
103104 is_commentable_divided
@@ -1012,6 +1013,8 @@ def get_thread_list(
10121013 ):
10131014 group_id = get_group_id_for_user (request .user , CourseDiscussionSettings .get (course .id ))
10141015
1016+ user_group_ids = get_user_group_ids_for_user (request .user , CourseDiscussionSettings .get (course .id ))
1017+
10151018 query_params = {
10161019 "user_id" : str (request .user .id ),
10171020 "group_id" : group_id ,
@@ -1023,6 +1026,7 @@ def get_thread_list(
10231026 "flagged" : flagged ,
10241027 "thread_type" : thread_type ,
10251028 "count_flagged" : count_flagged ,
1029+ "user_group_ids" : user_group_ids ,
10261030 }
10271031
10281032 if view :
@@ -1155,6 +1159,7 @@ def get_learner_active_thread_list(request, course_key, query_params):
11551159 context = get_context (course , request )
11561160
11571161 group_id = query_params .get ('group_id' , None )
1162+ user_group_ids = query_params .get ('user_group_ids' , None )
11581163 user_id = query_params .get ('user_id' , None )
11591164 count_flagged = query_params .get ('count_flagged' , None )
11601165 if user_id is None :
@@ -1165,10 +1170,12 @@ def get_learner_active_thread_list(request, course_key, query_params):
11651170 if "flagged" in query_params .keys () and not context ["has_moderation_privilege" ]:
11661171 raise PermissionDenied ("Flagged filter is only available for moderators" )
11671172
1168- if group_id is None :
1169- comment_client_user = comment_client .User (id = user_id , course_id = course_key )
1170- else :
1173+ if group_id is not None :
11711174 comment_client_user = comment_client .User (id = user_id , course_id = course_key , group_id = group_id )
1175+ elif user_group_ids is not None :
1176+ comment_client_user = comment_client .User (id = user_id , course_id = course_key , user_group_ids = user_group_ids )
1177+ else :
1178+ comment_client_user = comment_client .User (id = user_id , course_id = course_key )
11721179
11731180 try :
11741181 threads , page , num_pages = comment_client_user .active_threads (query_params )
@@ -1496,6 +1503,10 @@ def create_thread(request, thread_data):
14961503 ):
14971504 thread_data = thread_data .copy ()
14981505 thread_data ["group_id" ] = get_group_id_for_user (user , discussion_settings )
1506+
1507+ if "user_group_ids" not in thread_data :
1508+ thread_data ["user_group_ids" ] = get_user_group_ids_for_user (user , discussion_settings )
1509+
14991510 serializer = ThreadSerializer (data = thread_data , context = context )
15001511 actions_form = ThreadActionsForm (thread_data )
15011512 if not (serializer .is_valid () and actions_form .is_valid ()):
0 commit comments