Exemplo n.º 1
0
    def get_posts(self, user, forum, thread, kwargs):
        queryset = self.get_posts_queryset(user, forum, thread)
        queryset = self.exclude_invisible_posts(queryset, user, forum, thread)
        page = paginate(queryset, kwargs.get('page', 0),
                        settings.MISAGO_POSTS_PER_PAGE,
                        settings.MISAGO_THREAD_TAIL)

        posts = []
        for post in page.object_list:
            post.forum = forum
            post.thread = thread

            add_acl(user, post)

            if post.poster:
                poster_state = get_user_state(post.poster, user.acl)
                post.poster.online_state = poster_state
            posts.append(post)

        if page.next_page_first_item:
            add_events_to_posts(
                user, thread, posts, page.next_page_first_item.posted_on)
        else:
            add_events_to_posts(user, thread, posts)

        return page, posts
Exemplo n.º 2
0
    def test_add_events_to_posts(self):
        """add_events_to_posts makes posts event-aware"""
        message = "Test event was recorded."

        for p in xrange(2):
            reply_thread(self.thread, posted_on=timezone.now())
        event = record_event(self.user, self.thread, "check", message)
        for p in xrange(2):
            reply_thread(self.thread, posted_on=timezone.now())

        posts = [p for p in self.thread.post_set.all().order_by('id')]
        add_events_to_posts(self.user, self.thread, posts)

        for i, post in enumerate(posts):
            if i == 1:
                self.assertEqual(post.events[0].message, message)
            else:
                self.assertEqual(post.events, [])
Exemplo n.º 3
0
    def test_add_events_to_posts(self):
        """add_events_to_posts makes posts event-aware"""
        message = "Test event was recorded."

        for p in xrange(2):
            reply_thread(self.thread, posted_on=timezone.now())
        event = record_event(self.user, self.thread, "check", message)
        for p in xrange(2):
            reply_thread(self.thread, posted_on=timezone.now())

        posts = [p for p in self.thread.post_set.all().order_by('id')]
        add_events_to_posts(self.user, self.thread, posts)

        for i, post in enumerate(posts):
            if i == 1:
                self.assertEqual(post.events[0].message, message)
            else:
                self.assertEqual(post.events, [])
Exemplo n.º 4
0
    def get_posts(self, user, forum, thread, kwargs):
        queryset = self.get_posts_queryset(user, forum, thread)
        page = paginate(queryset, kwargs.get('page', 0), 10, 3)

        posts = []
        for post in page.object_list:
            add_acl(user, post)
            if post.poster:
                poster_state = get_user_state(post.poster, user.acl)
                post.poster.online_state = poster_state
            posts.append(post)

        if page.next_page_first_item:
            add_events_to_posts(user, thread, posts,
                                page.next_page_first_item.posted_on)
        else:
            add_events_to_posts(user, thread, posts)

        return page, posts
Exemplo n.º 5
0
    def get_posts(self, user, forum, thread, kwargs):
        queryset = self.get_posts_queryset(user, forum, thread)
        page = paginate(queryset, kwargs.get('page', 0), 10, 3)

        posts = []
        for post in page.object_list:
            add_acl(user, post)
            if post.poster:
                poster_state = get_user_state(post.poster, user.acl)
                post.poster.online_state = poster_state
            posts.append(post)

        if page.next_page_first_item:
            add_events_to_posts(
                user, thread, posts, page.next_page_first_item.posted_on)
        else:
            add_events_to_posts(user, thread, posts)

        return page, posts