def can_unsubscribe_from_topic(self, topic, user):
        """ Given a topic, checks whether the user can remove it from their subscription list. """
        # A user can unsubscribe from topics if they are authenticated and if they have the
        # permission to read the related forum. Of course a user can unsubscribe only if they are
        #  already a subscriber of the considered topic.
        return (
            user.is_authenticated and
            topic.has_subscriber(user) and
            self._perform_basic_permission_check(topic.forum, user, 'can_read_forum')
        )
Given a topic, checks whether the user can remove it from their subscription list.