コード例 #1
0
def followers_content(qs, user):
    return positive_filter(qs, user.relationships.followers())
コード例 #2
0
ファイル: tests.py プロジェクト: pachondi/unchained
    def test_positive_filter(self):
        following = RelationshipStatus.objects.following()
        blocking = RelationshipStatus.objects.blocking()

        # create some groups to filter
        from django.contrib.auth.models import Group
        beatles = Group.objects.create(name='beatles')
        john_yoko = Group.objects.create(name='john_yoko')
        characters = Group.objects.create(name='characters')

        self.walrus.groups.add(characters)

        self.john.groups.add(beatles)
        self.john.groups.add(john_yoko)

        self.paul.groups.add(beatles)

        self.yoko.groups.add(john_yoko)
        self.yoko.groups.add(characters)
        
        group_qs = Group.objects.all().order_by('name')

        # groups people paul follows are in (nobody)
        paul_following_groups = positive_filter(
            group_qs,
            self.paul.relationships.following(),
            'user')
        self.assertQuerysetEqual(paul_following_groups, [])

        # when paul follows john he will see john's groups
        self.paul.relationships.add(self.john, following)
        paul_following_groups = positive_filter(
            group_qs,
            self.paul.relationships.following(),
            'user')
        self.assertQuerysetEqual(paul_following_groups, [beatles, john_yoko])

        # now john's + walrus's
        self.paul.relationships.add(self.walrus, following)
        paul_following_groups = positive_filter(
            group_qs,
            self.paul.relationships.following(),
            'user')
        self.assertQuerysetEqual(paul_following_groups, [beatles, characters, john_yoko])

        # everybody's - distinct groups, no dupes
        self.paul.relationships.add(self.yoko, following)
        paul_following_groups = positive_filter(
            group_qs,
            self.paul.relationships.following(),
            'user')
        self.assertQuerysetEqual(paul_following_groups, [beatles, characters, john_yoko])

        # just groups walrus & yoko are in
        self.paul.relationships.remove(self.john, following)
        paul_following_groups = positive_filter(
            group_qs,
            self.paul.relationships.following(),
            'user')
        self.assertQuerysetEqual(paul_following_groups, [characters, john_yoko])

        # just walrus' groups
        self.paul.relationships.remove(self.yoko)
        paul_following_groups = positive_filter(
            group_qs,
            self.paul.relationships.following(),
            'user')
        self.assertQuerysetEqual(paul_following_groups, [characters])
        
        self.paul.relationships.remove(self.walrus)
コード例 #3
0
def friend_content(qs, user):
    return positive_filter(qs, user.relationships.friends())