9797)
9898from ..django_comment_client .utils import (
9999 get_group_id_for_user ,
100+ get_user_group_ids_for_user ,
100101 get_user_role_names ,
101102 has_discussion_privileges ,
102103 is_commentable_divided
@@ -996,6 +997,8 @@ def get_thread_list(
996997 ):
997998 group_id = get_group_id_for_user (request .user , CourseDiscussionSettings .get (course .id ))
998999
1000+ user_group_ids = get_user_group_ids_for_user (request .user , CourseDiscussionSettings .get (course .id ))
1001+
9991002 query_params = {
10001003 "user_id" : str (request .user .id ),
10011004 "group_id" : group_id ,
@@ -1007,6 +1010,7 @@ def get_thread_list(
10071010 "flagged" : flagged ,
10081011 "thread_type" : thread_type ,
10091012 "count_flagged" : count_flagged ,
1013+ "user_group_ids" : user_group_ids ,
10101014 }
10111015
10121016 if view :
@@ -1139,6 +1143,7 @@ def get_learner_active_thread_list(request, course_key, query_params):
11391143 context = get_context (course , request )
11401144
11411145 group_id = query_params .get ('group_id' , None )
1146+ user_group_ids = query_params .get ('user_group_ids' , None )
11421147 user_id = query_params .get ('user_id' , None )
11431148 count_flagged = query_params .get ('count_flagged' , None )
11441149 if user_id is None :
@@ -1149,10 +1154,12 @@ def get_learner_active_thread_list(request, course_key, query_params):
11491154 if "flagged" in query_params .keys () and not context ["has_moderation_privilege" ]:
11501155 raise PermissionDenied ("Flagged filter is only available for moderators" )
11511156
1152- if group_id is None :
1153- comment_client_user = comment_client .User (id = user_id , course_id = course_key )
1154- else :
1157+ if group_id is not None :
11551158 comment_client_user = comment_client .User (id = user_id , course_id = course_key , group_id = group_id )
1159+ elif user_group_ids is not None :
1160+ comment_client_user = comment_client .User (id = user_id , course_id = course_key , user_group_ids = user_group_ids )
1161+ else :
1162+ comment_client_user = comment_client .User (id = user_id , course_id = course_key )
11561163
11571164 try :
11581165 threads , page , num_pages = comment_client_user .active_threads (query_params )
@@ -1478,6 +1485,10 @@ def create_thread(request, thread_data):
14781485 ):
14791486 thread_data = thread_data .copy ()
14801487 thread_data ["group_id" ] = get_group_id_for_user (user , discussion_settings )
1488+
1489+ if "user_group_ids" not in thread_data :
1490+ thread_data ["user_group_ids" ] = get_user_group_ids_for_user (user , discussion_settings )
1491+
14811492 serializer = ThreadSerializer (data = thread_data , context = context )
14821493 actions_form = ThreadActionsForm (thread_data )
14831494 if not (serializer .is_valid () and actions_form .is_valid ()):
0 commit comments