Ejemplo n.º 1
0
    def test_default_team_hides_objects(self):
        import django_teams.models
        django_teams.models.CurrentUser = User.objects.get(pk=1)

        Team.objects.all().delete()
        Ownership.objects.all().delete()
        TeamStatus.objects.all().delete()

        team1 = Team(name="Team Mtn Dew")
        team1.save()
        team1.add_user(django_teams.models.CurrentUser, team_role=20)
        team2 = Team(name="Team ROFLCAT")
        team2.save()
        team2.add_user(django_teams.models.CurrentUser, team_role=20)

        site1 = Site.objects.get(pk=2)
        Ownership.grant_ownership(team1, site1)
        site2 = Site.objects.get(pk=3)
        Ownership.grant_ownership(team2, site2)

        django_teams.models.CurrentTeam = team2

        override_manager(Site)

        site_test = Site.objects.get(pk=3)
        self.assertEqual(site_test, site2)

        self.assertEqual(Site.objects.all().count(), 1)
        self.assertEqual(Site.objects.all()[0].id, 3)
        self.assertEqual(Site.objects.all()[0], site2)

        django_teams.models.CurrentUser = None
        django_teams.models.CurrentTeam = None
Ejemplo n.º 2
0
    def test_default_team_hides_objects(self):
        import django_teams.models
        django_teams.models.CurrentUser = User.objects.get(pk=1)

        Team.objects.all().delete()
        Ownership.objects.all().delete()
        TeamStatus.objects.all().delete()

        team1 = Team(name="Team Mtn Dew")
        team1.save()
        team1.add_user(django_teams.models.CurrentUser, team_role=20)
        team2 = Team(name="Team ROFLCAT")
        team2.save()
        team2.add_user(django_teams.models.CurrentUser, team_role=20)

        site1 = Site.objects.get(pk=2)
        Ownership.grant_ownership(team1, site1)
        site2 = Site.objects.get(pk=3)
        Ownership.grant_ownership(team2, site2)

        django_teams.models.CurrentTeam = team2

        override_manager(Site)

        site_test = Site.objects.get(pk=3)
        self.assertEqual(site_test, site2)

        self.assertEqual(Site.objects.all().count(), 1)
        self.assertEqual(Site.objects.all()[0].id, 3)
        self.assertEqual(Site.objects.all()[0], site2)

        django_teams.models.CurrentUser = None
        django_teams.models.CurrentTeam = None
Ejemplo n.º 3
0
    def test_can_get_list_of_object_types(self):
        team = Team(name="Team Awesome")
        team.save()
        user = User.objects.get(pk=1)

        Ownership.grant_ownership(team, user)

        self.assertIn(User, team.owned_object_types())
Ejemplo n.º 4
0
    def test_can_get_list_of_object_types(self):
        team = Team(name="Team Awesome")
        team.save()
        user = User.objects.get(pk=1)

        Ownership.grant_ownership(team, user)

        self.assertIn(User, team.owned_object_types())
Ejemplo n.º 5
0
    def test_restricted_related_managers(self):
        # If we override the user, we should have no access to any groups
        import django_teams.models
        django_teams.models.CurrentUser = User.objects.get(pk=1)

        team1 = Team(name="Team Mtn Dew")
        team1.save()
        team1.add_user(django_teams.models.CurrentUser, team_role=20)

        Ownership.grant_ownership(team1, django_teams.models.CurrentUser)

        override_manager(User)

        self.assertEqual(User.objects.all().count(), 1)
        self.assertEqual(django_teams.models.CurrentUser.groups.all().count(), 0)
Ejemplo n.º 6
0
    def test_can_get_list_of_object_types(self):
        team = Team(name="Team Awesome")
        team.save()
        user = User.objects.get(pk=1)

        Ownership.grant_ownership(team, user)

        owned_object_types = []
        ownership_set = Ownership.objects.select_related('team').filter(
            team=team)
        for ownership in ownership_set.iterator():
            if ownership.content_type.model_class() not in owned_object_types:
                owned_object_types += [ownership.content_type.model_class()]

        self.assertIn(User, owned_object_types)
Ejemplo n.º 7
0
    def test_can_get_owned_objects(self):
        team = Team(name="Team Awesome")
        team.save()
        user = User.objects.get(pk=1)

        Ownership.grant_ownership(team, user)

        contenttype = ContentType.objects.get_for_model(User)
        owned_objects = []
        ownership_set = Ownership.objects.select_related(
            'team', 'content_type').filter(team=team, content_type=contenttype)
        for ownership in ownership_set.iterator():
            owned_objects += [ownership.content_object]

        self.assertIn(user, owned_objects)
Ejemplo n.º 8
0
    def test_restricted_related_managers(self):
        # If we override the user, we should have no access to any groups
        import django_teams.models
        django_teams.models.CurrentUser = User.objects.get(pk=1)

        team1 = Team(name="Team Mtn Dew")
        team1.save()
        team1.add_user(django_teams.models.CurrentUser, team_role=20)

        Ownership.grant_ownership(team1, django_teams.models.CurrentUser)

        override_manager(User)

        self.assertEqual(User.objects.all().count(), 1)
        self.assertEqual(django_teams.models.CurrentUser.groups.all().count(),
                         0)
Ejemplo n.º 9
0
    def test_can_gain_access(self):
        import django_teams.models
        django_teams.models.CurrentUser = User.objects.get(pk=1)

        self.assertEqual(Site.objects.all().count(), 3)
        site = Site.objects.get(pk=1)
        override_manager(Site)

        # Try granting the user access to one site
        team = Team(name="Team awesome")
        team.save()

        team.add_user(django_teams.models.CurrentUser, team_role=20)

        Ownership.grant_ownership(team, site)

        self.assertEqual(Site.objects.all().count(), 1)
Ejemplo n.º 10
0
    def test_can_gain_access(self):
        import django_teams.models
        django_teams.models.CurrentUser = User.objects.get(pk=1)

        self.assertEqual(Site.objects.all().count(), 3)
        site = Site.objects.get(pk=1)
        override_manager(Site)

        # Try granting the user access to one site
        team = Team(name="Team awesome")
        team.save()

        team.add_user(django_teams.models.CurrentUser, team_role=20)

        Ownership.grant_ownership(team, site)

        self.assertEqual(Site.objects.all().count(), 1)
Ejemplo n.º 11
0
    def post(self, request, *args, **kwargs):
      
        project_id = self.kwargs['project_pk']
      
        team_approval = Ownership() # Create an ownership object
        team_approval.content_type = ContentType.objects.get(app_label="project_share", model="project")
        team_approval.object_id = project_id
        if Project.objects.get(pk=project_id).classroom == None:
            team_approval = None
            return super(ApprovalCreate, self).post(request, *args, **kwargs)
        team_approval.team = Project.objects.get(pk=project_id).classroom
        team_approval.approved = False
        team_approval.save()

        return super(ApprovalCreate, self).post(request, *args, **kwargs)
Ejemplo n.º 12
0
    def post(self, request, *args, **kwargs):
        """Create an ownership object."""
        project_id = self.kwargs['project_pk']
        team_approval = Ownership()
        team_approval.content_type = ContentType.objects.get(app_label="project_share", model="project")
        team_approval.object_id = project_id
        if Project.objects.get(pk=project_id).classroom is None:
            team_approval = None
            return super(ApprovalCreate, self).post(request, *args, **kwargs)
        team_approval.team = Project.objects.get(pk=project_id).classroom
        team_approval.approved = False
        team_approval.save()

        return super(ApprovalCreate, self).post(request, *args, **kwargs)
Ejemplo n.º 13
0
 def test_can_get_approved_objects(self):
     team = Team(name="Team Awesome")
     team.save()
     ownership1 = Ownership(team=team,
                            approved=True,
                            object_id=1,
                            content_type_id=1)
     ownership1.save()
     ownership2 = Ownership(team=team,
                            approved=True,
                            object_id=2,
                            content_type_id=2)
     ownership2.save()
     ownership3 = Ownership(team=team,
                            approved=False,
                            object_id=3,
                            content_type_id=3)
     ownership3.save()
     approved_objects = team.approved_objects()
     self.assertIn(ownership1, approved_objects)
     self.assertIn(ownership2, approved_objects)
     self.assertNotIn(ownership3, approved_objects)