@@ -9,11 +9,13 @@ def index
99 apply_cursor_pagination ( base_query )
1010 preload_topic_participants
1111 preload_commitfest_summaries
12+ preload_topic_mailing_lists
1213 @new_topics_count = 0
1314 @page_cache_key = topics_page_cache_key
1415
1516 load_visible_tags if user_signed_in?
1617 load_saved_searches
18+ @all_mailing_lists = MailingList . order ( :display_name )
1719
1820 respond_to do |format |
1921 format . html
@@ -70,6 +72,17 @@ def show
7072 build_participants_sidebar_data ( messages_scope )
7173 build_thread_outline ( @messages )
7274 load_commitfest_sidebar
75+
76+ @topic_mailing_lists = @topic . mailing_lists . to_a
77+ @topic_is_multi_list = @topic_mailing_lists . size > 1
78+
79+ if @topic_is_multi_list
80+ msg_ids = @messages . map ( &:id )
81+ mml_records = MessageMailingList . where ( message_id : msg_ids ) . includes ( :mailing_list )
82+ @message_mailing_lists_map = mml_records . group_by ( &:message_id )
83+ . transform_values { |mmls | mmls . map ( &:mailing_list ) }
84+ end
85+
7386 if user_signed_in?
7487 load_notes
7588 load_star_state
@@ -301,9 +314,11 @@ def search
301314
302315 preload_topic_participants
303316 preload_commitfest_summaries
317+ preload_topic_mailing_lists
304318 preload_participation_flags if user_signed_in?
305319 load_visible_tags if user_signed_in?
306320 load_saved_searches
321+ @all_mailing_lists = MailingList . order ( :display_name )
307322
308323 respond_to do |format |
309324 format . html
@@ -365,6 +380,7 @@ def user_state_frame
365380 preload_commitfest_summaries
366381 preload_star_counts
367382 preload_topic_participants
383+ preload_topic_mailing_lists
368384
369385 respond_to do |format |
370386 format . turbo_stream
@@ -670,6 +686,17 @@ def load_saved_searches
670686 end
671687 end
672688
689+ def preload_topic_mailing_lists
690+ topic_ids = @topics . map ( &:id )
691+ return if topic_ids . empty?
692+
693+ @topic_mailing_lists_map = TopicMailingList
694+ . where ( topic_id : topic_ids )
695+ . includes ( :mailing_list )
696+ . group_by ( &:topic_id )
697+ . transform_values { |tmls | tmls . map ( &:mailing_list ) }
698+ end
699+
673700 def preload_topic_participants
674701 topic_ids = @topics . map ( &:id )
675702 return if topic_ids . empty?
0 commit comments