Example #1
0
    def test_can_message_all_members(self):
        team, user, outsider = self.team, self.user, self.outsider

        for r in [ROLE_ADMIN, ROLE_OWNER]:
            with self.role(r):
                self.assertTrue(can_message_all_members(team, user))

        for r in [ROLE_ADMIN]:
            with self.role(r, self.test_project):
                self.assertFalse(can_message_all_members(team, user))

        for r in [ROLE_CONTRIBUTOR, ROLE_MANAGER]:
            with self.role(r):
                self.assertFalse(can_message_all_members(team, user))

        self.assertFalse(can_message_all_members(team, outsider))
Example #2
0
    def messageable_teams(self):
        from teams.models import Team
        from teams.permissions import can_message_all_members

        teams = self.teams.all()
        messageable_team_ids = [t.id for t in teams if can_message_all_members(t, self)]

        partners = self.managed_partners.all()
        teams = [list(p.teams.all()) for p in partners]
        partner_teams_ids = [team.id for qs in teams for team in qs]

        messageable_team_ids = messageable_team_ids + partner_teams_ids
        return Team.objects.filter(id__in=messageable_team_ids)