@@ -584,7 +584,7 @@ def create_thread(request, course_id, commentable_id):
584584
585585 if follow :
586586 cc_user = cc .User .from_django_user (user )
587- cc_user .follow (thread )
587+ cc_user .follow (thread , course_id )
588588 thread_followed .send (sender = None , user = user , post = thread )
589589
590590 data = thread .to_dict ()
@@ -673,7 +673,7 @@ def _create_comment(request, course_key, thread_id=None, parent_id=None):
673673 parent_id = parent_id ,
674674 body = sanitize_body (post ["body" ]),
675675 )
676- comment .save ()
676+ comment .save (params = { "course_id" : str ( course_key )} )
677677
678678 comment_created .send (sender = None , user = user , post = comment )
679679
@@ -715,7 +715,7 @@ def delete_thread(request, course_id, thread_id):
715715 course_key = CourseKey .from_string (course_id )
716716 course = get_course_with_access (request .user , 'load' , course_key )
717717 thread = cc .Thread .find (thread_id )
718- thread .delete ()
718+ thread .delete (course_id = course_id )
719719 thread_deleted .send (sender = None , user = request .user , post = thread )
720720
721721 track_thread_deleted_event (request , course , thread )
@@ -736,7 +736,7 @@ def update_comment(request, course_id, comment_id):
736736 if 'body' not in request .POST or not request .POST ['body' ].strip ():
737737 return JsonError (_ ("Body can't be empty" ))
738738 comment .body = sanitize_body (request .POST ["body" ])
739- comment .save ()
739+ comment .save (params = { "course_id" : course_id } )
740740
741741 comment_edited .send (sender = None , user = request .user , post = comment )
742742
@@ -762,7 +762,7 @@ def endorse_comment(request, course_id, comment_id):
762762 endorsed = request .POST .get ('endorsed' , 'false' ).lower () == 'true'
763763 comment .endorsed = endorsed
764764 comment .endorsement_user_id = user .id
765- comment .save ()
765+ comment .save (params = { "course_id" : course_id } )
766766 comment_endorsed .send (sender = None , user = user , post = comment )
767767 track_forum_response_mark_event (request , course , comment , endorsed )
768768 return JsonResponse (prepare_content (comment .to_dict (), course_key ))
@@ -781,7 +781,7 @@ def openclose_thread(request, course_id, thread_id):
781781 thread = cc .Thread .find (thread_id )
782782 close_thread = request .POST .get ('closed' , 'false' ).lower () == 'true'
783783 thread .closed = close_thread
784- thread .save ()
784+ thread .save (params = { "course_id" : course_id } )
785785
786786 track_thread_lock_unlock_event (request , course , thread , None , close_thread )
787787 return JsonResponse ({
@@ -814,7 +814,7 @@ def delete_comment(request, course_id, comment_id):
814814 course_key = CourseKey .from_string (course_id )
815815 course = get_course_with_access (request .user , 'load' , course_key )
816816 comment = cc .Comment .find (comment_id )
817- comment .delete ()
817+ comment .delete (course_id = course_id )
818818 comment_deleted .send (sender = None , user = request .user , post = comment )
819819 track_comment_deleted_event (request , course , comment )
820820 return JsonResponse (prepare_content (comment .to_dict (), course_key ))
@@ -828,12 +828,12 @@ def _vote_or_unvote(request, course_id, obj, value='up', undo_vote=False):
828828 course = get_course_with_access (request .user , 'load' , course_key )
829829 user = cc .User .from_django_user (request .user )
830830 if undo_vote :
831- user .unvote (obj )
831+ user .unvote (obj , course_id )
832832 # TODO(smarnach): Determine the value of the vote that is undone. Currently, you can
833833 # only cast upvotes in the user interface, so it is assumed that the vote value is 'up'.
834834 # (People could theoretically downvote by handcrafting AJAX requests.)
835835 else :
836- user .vote (obj , value )
836+ user .vote (obj , value , course_id )
837837 thread_voted .send (sender = None , user = request .user , post = obj )
838838 track_voted_event (request , course , obj , value , undo_vote )
839839 return JsonResponse (prepare_content (obj .to_dict (), course_key ))
@@ -899,7 +899,7 @@ def flag_abuse_for_thread(request, course_id, thread_id):
899899 user = cc .User .from_django_user (request .user )
900900 course = get_course_by_id (course_key )
901901 thread = cc .Thread .find (thread_id )
902- thread .flagAbuse (user , thread )
902+ thread .flagAbuse (user , thread , course_id )
903903 track_discussion_reported_event (request , course , thread )
904904 thread_flagged .send (sender = 'flag_abuse_for_thread' , user = request .user , post = thread )
905905 return JsonResponse (prepare_content (thread .to_dict (), course_key ))
@@ -921,7 +921,7 @@ def un_flag_abuse_for_thread(request, course_id, thread_id):
921921 has_permission (request .user , 'openclose_thread' , course_key ) or
922922 has_access (request .user , 'staff' , course )
923923 )
924- thread .unFlagAbuse (user , thread , remove_all )
924+ thread .unFlagAbuse (user , thread , remove_all , course_id )
925925 track_discussion_unreported_event (request , course , thread )
926926 return JsonResponse (prepare_content (thread .to_dict (), course_key ))
927927
@@ -938,7 +938,7 @@ def flag_abuse_for_comment(request, course_id, comment_id):
938938 user = cc .User .from_django_user (request .user )
939939 course = get_course_by_id (course_key )
940940 comment = cc .Comment .find (comment_id )
941- comment .flagAbuse (user , comment )
941+ comment .flagAbuse (user , comment , course_id )
942942 track_discussion_reported_event (request , course , comment )
943943 comment_flagged .send (sender = 'flag_abuse_for_comment' , user = request .user , post = comment )
944944 return JsonResponse (prepare_content (comment .to_dict (), course_key ))
@@ -960,7 +960,7 @@ def un_flag_abuse_for_comment(request, course_id, comment_id):
960960 has_access (request .user , 'staff' , course )
961961 )
962962 comment = cc .Comment .find (comment_id )
963- comment .unFlagAbuse (user , comment , remove_all )
963+ comment .unFlagAbuse (user , comment , remove_all , course_id )
964964 track_discussion_unreported_event (request , course , comment )
965965 return JsonResponse (prepare_content (comment .to_dict (), course_key ))
966966
@@ -976,7 +976,7 @@ def pin_thread(request, course_id, thread_id):
976976 course_key = CourseKey .from_string (course_id )
977977 user = cc .User .from_django_user (request .user )
978978 thread = cc .Thread .find (thread_id )
979- thread .pin (user , thread_id )
979+ thread .pin (user , thread_id , course_id )
980980
981981 return JsonResponse (prepare_content (thread .to_dict (), course_key ))
982982
@@ -992,7 +992,7 @@ def un_pin_thread(request, course_id, thread_id):
992992 course_key = CourseKey .from_string (course_id )
993993 user = cc .User .from_django_user (request .user )
994994 thread = cc .Thread .find (thread_id )
995- thread .un_pin (user , thread_id )
995+ thread .un_pin (user , thread_id , course_id )
996996
997997 return JsonResponse (prepare_content (thread .to_dict (), course_key ))
998998
@@ -1005,7 +1005,7 @@ def follow_thread(request, course_id, thread_id): # lint-amnesty, pylint: disab
10051005 course_key = CourseKey .from_string (course_id )
10061006 course = get_course_by_id (course_key )
10071007 thread = cc .Thread .find (thread_id )
1008- user .follow (thread )
1008+ user .follow (thread , course_id = course_id )
10091009 thread_followed .send (sender = None , user = request .user , post = thread )
10101010 track_thread_followed_event (request , course , thread , True )
10111011 return JsonResponse ({})
@@ -1021,7 +1021,7 @@ def follow_commentable(request, course_id, commentable_id): # lint-amnesty, pyl
10211021 """
10221022 user = cc .User .from_django_user (request .user )
10231023 commentable = cc .Commentable .find (commentable_id )
1024- user .follow (commentable )
1024+ user .follow (commentable , course_id = course_id )
10251025 return JsonResponse ({})
10261026
10271027
@@ -1037,7 +1037,7 @@ def unfollow_thread(request, course_id, thread_id): # lint-amnesty, pylint: dis
10371037 course = get_course_by_id (course_key )
10381038 user = cc .User .from_django_user (request .user )
10391039 thread = cc .Thread .find (thread_id )
1040- user .unfollow (thread )
1040+ user .unfollow (thread , course_id = course_id )
10411041 thread_unfollowed .send (sender = None , user = request .user , post = thread )
10421042 track_thread_followed_event (request , course , thread , False )
10431043 return JsonResponse ({})
@@ -1053,7 +1053,7 @@ def unfollow_commentable(request, course_id, commentable_id): # lint-amnesty, p
10531053 """
10541054 user = cc .User .from_django_user (request .user )
10551055 commentable = cc .Commentable .find (commentable_id )
1056- user .unfollow (commentable )
1056+ user .unfollow (commentable , course_id = course_id )
10571057 return JsonResponse ({})
10581058
10591059
0 commit comments