docs: def get_context_data(self, **kwargs):
          """ Returns the context data to provide to the template. """
          context = super(ForumView, self).get_context_data(**kwargs)
  
          # Insert the considered forum into the context
          context['forum'] = self.get_forum()
  
          # Get the list of forums that have the current forum as parent
          context['sub_forums'] = ForumVisibilityContentTree.from_forums(
              self.request.forum_permission_handler.forum_list_filter(
                  context['forum'].get_descendants(), self.request.user,
              ),
          )
  
          # The announces will be displayed on each page of the forum
          context['announces'] = list(
              self.get_forum()
              .topics.select_related('poster', 'last_post', 'last_post__poster')
              .filter(type=Topic.TOPIC_ANNOUNCE)
          )
  
          # Determines the topics that have not been read by the current user
          context['unread_topics'] = TrackingHandler(self.request).get_unread_topics(
              list(context[self.context_object_name]) + context['announces'], self.request.user,
          )
  
          return context