Пример #1
0
    def restore_object(self, attrs, instance=None):
        if instance:
            return super(OrganizationSerializer, self)\
                .restore_object(attrs, instance)

        org = attrs.get('user.username', None)
        org_name = attrs.get('name', None)
        org_exists = False
        creator = None

        try:
            User.objects.get(username=org)
        except User.DoesNotExist:
            pass
        else:
            self.errors['org'] = u'Organization %s already exists.' % org
            org_exists = True

        if 'request' in self.context:
            creator = self.context['request'].user

        if org and org_name and creator and not org_exists:
            attrs['organization'] = org_name
            orgprofile = tools.create_organization_object(org, creator, attrs)

            return orgprofile

        if not org:
            self.errors['org'] = u'org is required!'

        if not org_name:
            self.errors['name'] = u'name is required!'

        return attrs
Пример #2
0
    def test_optional_organization_active_status(self):
        """
        Test that setting ORG_ON_CREATE_IS_ACTIVE
        changes the default Organization is_active status
        """
        profile = tools.create_organization_object("modilabs", self.user)
        profile.save()

        self.assertFalse(profile.user.is_active)
    def test_delete_organization(self):
        profile = tools.create_organization_object("modilabs", self.user)
        profile.save()
        profile_id = profile.pk
        count = OrganizationProfile.objects.all().count()
        cache.set('{}{}'.format(IS_ORG, profile_id), True)

        profile.delete()
        safe_delete('{}{}'.format(IS_ORG, profile_id))
        self.assertIsNone(cache.get('{}{}'.format(IS_ORG, profile_id)))
        self.assertEqual(count - 1, OrganizationProfile.objects.all().count())
    def test_delete_organization(self):
        profile = tools.create_organization_object("modilabs", self.user)
        profile.save()
        profile_id = profile.pk
        count = OrganizationProfile.objects.all().count()
        cache.set('{}{}'.format(IS_ORG, profile_id), True)

        profile.delete()
        safe_delete('{}{}'.format(IS_ORG, profile_id))
        self.assertIsNone(cache.get('{}{}'.format(IS_ORG, profile_id)))
        self.assertEqual(count - 1,
                         OrganizationProfile.objects.all().count())
Пример #5
0
    def test_create_organization_team(self):
        profile = tools.create_organization_object("modilabs", self.user)
        profile.save()
        organization = profile.user
        team_name = "dev"
        perms = ["is_org_owner"]
        tools.create_organization_team(organization, team_name, perms)
        team_name = "modilabs#%s" % team_name
        dev_team = Team.objects.get(organization=organization, name=team_name)

        self.assertIsInstance(dev_team, Team)
        self.assertIsInstance(dev_team.permissions.get(codename="is_org_owner"), Permission)
Пример #6
0
    def create(self, validated_data):
        # get('user.username') does not work anymore:
        # username is in a nested dict
        org = validated_data.get('user', {}).get('username', None)
        creator = None

        if 'request' in self.context:
            creator = self.context['request'].user

        orgprofile = tools.create_organization_object(org, creator, validated_data)
        orgprofile.save()
        return orgprofile
Пример #7
0
    def create(self, validated_data):
        # get('user.username') does not work anymore:
        # username is in a nested dict
        org = validated_data.get('user', {}).get('username', None)
        creator = None

        if 'request' in self.context:
            creator = self.context['request'].user

        orgprofile = tools.create_organization_object(org, creator,
                                                      validated_data)
        orgprofile.save()
        return orgprofile
Пример #8
0
    def test_create_organization_team(self):
        profile = tools.create_organization_object("modilabs", self.user)
        profile.save()
        organization = profile.user
        team_name = 'dev'
        perms = [
            'is_org_owner',
        ]
        tools.create_organization_team(organization, team_name, perms)
        team_name = "modilabs#%s" % team_name
        dev_team = Team.objects.get(organization=organization, name=team_name)

        self.assertIsInstance(dev_team, Team)
        self.assertIsInstance(
            dev_team.permissions.get(codename='is_org_owner'), Permission)
    def create(self, validated_data):
        org = validated_data.get('user')
        if org:
            org = org.get('username')

        org_name = validated_data.get('name', None)
        creator = None

        if 'request' in self.context:
            creator = self.context['request'].user

        validated_data['organization'] = org_name

        profile = tools.create_organization_object(org, creator,
                                                   validated_data)
        profile.save()

        return profile
Пример #10
0
    def create(self, validated_data):
        org = validated_data.get('user')
        if org:
            org = org.get('username')

        org_name = validated_data.get('name', None)
        creator = None

        if 'request' in self.context:
            creator = self.context['request'].user

        validated_data['organization'] = org_name

        profile = tools.create_organization_object(org, creator,
                                                   validated_data)
        profile.save()

        return profile
    def test_create_organization_creates_team_and_perms(self):
        # create a user - bob
        profile = tools.create_organization_object("modilabs", self.user)
        profile.save()
        self.assertIsInstance(profile, OrganizationProfile)
        organization_profile = OrganizationProfile.objects.get(
            user__username="******")

        # check organization was created
        self.assertTrue(organization_profile.is_organization)

        self.assertTrue(hasattr(profile, 'metadata'))

        # check that the default team was created
        team_name = "modilabs#%s" % Team.OWNER_TEAM_NAME
        team = Team.objects.get(
            organization=organization_profile.user, name=team_name)
        self.assertIsInstance(team, Team)
        self.assertIn(team.group_ptr, self.user.groups.all())
        self.assertTrue(self.user.has_perm('api.is_org_owner'))
    def test_create_organization_creates_team_and_perms(self):
        # create a user - bob
        profile = tools.create_organization_object("modilabs", self.user)
        profile.save()
        self.assertIsInstance(profile, OrganizationProfile)
        organization_profile = OrganizationProfile.objects.get(
            user__username="******")

        # check organization was created
        self.assertTrue(organization_profile.is_organization)

        self.assertTrue(hasattr(profile, 'metadata'))

        # check that the default team was created
        team_name = "modilabs#%s" % Team.OWNER_TEAM_NAME
        team = Team.objects.get(organization=organization_profile.user,
                                name=team_name)
        self.assertIsInstance(team, Team)
        self.assertIn(team.group_ptr, self.user.groups.all())
        self.assertTrue(self.user.has_perm('api.is_org_owner'))
Пример #13
0
 def _create_organization(self, org_name, user):
     profile = tools.create_organization_object(org_name, user)
     profile.save()
     self.organization = profile.user
     return self.organization
 def _create_organization(self, org_name, user):
     profile = tools.create_organization_object(org_name, user)
     profile.save()
     self.organization = profile.user
     return self.organization