Example #1
0
def permission_groups_for_pagination(db):
    return auth_models.Group.objects.bulk_create([
        auth_models.Group(name="admin"),
        auth_models.Group(name="customer_manager"),
        auth_models.Group(name="discount_manager"),
        auth_models.Group(name="staff"),
        auth_models.Group(name="accountant"),
    ])
Example #2
0
def permission_groups_for_pagination(db):
    return auth_models.Group.objects.bulk_create([
        auth_models.Group(name="Group1"),
        auth_models.Group(name="GroupGroup1"),
        auth_models.Group(name="GroupGroup2"),
        auth_models.Group(name="Group2"),
        auth_models.Group(name="Group3"),
    ])
Example #3
0
    def test_020_group(self):
        """
        Create a new group and perform multiple checks
        """
        conf = svmain_models.GroupConfiguration(
            name='testconf',
            url_homepage='http://www.test.tld/homepage/%PROJECT/',
            url_download='http://www.test.tld/download/%PROJECT/')
        conf.save()

        group = auth_models.Group(name='test')
        group.save()
        group.svgroupinfo.type = conf
        group.svgroupinfo.save()

        # Check project menu
        response = self.client.get(
            reverse('savane:svmain:group_detail', args=[group.name]))
        self.assertContains(response, 'http://www.test.tld/homepage/test/')
        self.assertContains(response, 'http://www.test.tld/homepage/test/')

        group.svgroupinfo.url_homepage = 'http://www.mysite.tld/%PROJECT/'
        group.svgroupinfo.save()
        response = self.client.get(
            reverse('savane:svmain:group_detail', args=[group.name]))
        self.assertContains(response, 'http://www.mysite.tld/%PROJECT/')

        # Check that the list of mailing lists is displayed correctly
        svmain_models.MailingList(group=group, list_name='test-commits').save()
        response = self.client.get(
            reverse('savane:svmain:group_mailinglist', args=[group.name]))
        self.assertContains(response, 'test-commits')
Example #4
0
    def test_group_permissions(self):

        perm = pmod.Permission()

        perm.codename = 'firstpermission'
        perm.name = 'First Permission Test'
        perm.content_type = pmod.Permission.objects.get(
            codename='add_user').content_type
        perm.save()

        self.assertTrue(
            pmod.Permission.objects.filter(
                codename='firstpermission').exists(),
            msg="Permission - 'firstpermission' - should have been created")

        group = pmod.Group()

        group.name = "First Group"
        group.save()

        self.assertTrue(pmod.Group.objects.filter(name='First Group').exists(),
                        msg="Group = 'First Group' - should have been created")

        group.permissions.add(
            pmod.Permission.objects.get(codename='firstpermission'))
        group.save()

        self.assertTrue(
            pmod.Group.objects.get(name='First Group').permissions.filter(
                codename="firstpermission").exists(),
            msg=
            "Group - 'First Group' - should have the permission 'firstpermission'"
        )
Example #5
0
    def handle(self, *args, **options):
        try:
            ct = ContentType.objects.get(app_label='check_in', model='checkin')

        except:
            print "Re-Run migration again, content type hooks not executed."
            sys.exit(1)

        for key in NEW_GROUPS.keys():
            g = amodels.Group(name=key)
            g.save()
            for p in NEW_GROUPS[key]:
                temp = p.split('.')

                if temp[1] == 'can_generate_reports':
                    ct = ContentType.objects.get(app_label=temp[0],
                                                 model='checkin')

                else:
                    temp2 = temp[1].split("_")
                    ct = ContentType.objects.get(app_label=temp[0],
                                                 model=temp2[1])

                g.permissions.add(
                    amodels.Permission.objects.get(codename=temp[1],
                                                   content_type=ct))
Example #6
0
    def mutate(self, info, data):
        group = auth_models.Group()
        group.name = data.name
        group.save()

        connect_group(group, info, data)

        return group
Example #7
0
def _new_group(group):
    try:
        g = authmodels.Group.objects.get(id=group['id'])
    except authmodels.Group.DoesNotExist:
        g = authmodels.Group(id=group['id'])
    g.name = group['name']
    g.save()
    return g
Example #8
0
def _create_permission_groups(user):
    _groups = [
        auth_models.Group(name=str(uuid.uuid4()))
        for i in range(GROUPS_PER_USER)
    ]
    groups = auth_models.Group.objects.bulk_create(_groups)
    user.groups.add(*groups)
    return groups
Example #9
0
 def create_new(cls, commit=True):
     ''' Create a new instance of auth.group
     without having to specify a name '''
     obj = cls()
     obj.save()
     ide = str(obj.id)
     g_name = 'PermGroup_{}'.format(ide)
     g = auth.Group(name=g_name)
     if commit:
         g.save()
     return g
Example #10
0
    def test_add_to_permissions_group_group_exists(self):
        user = period_models.User(email='*****@*****.**',
                                  last_login=TIMEZONE.localize(
                                      datetime.datetime(2015, 2, 27)))
        user.save()
        user.groups.all().delete()
        auth_models.Group(name='users').save()

        period_models.add_to_permissions_group(period_models.User, user)

        groups = user.groups.all()
        self.assertEqual(1, groups.count())
        self.assertEqual(0, groups.first().permissions.count())
Example #11
0
 def test_group_permissions(self):
     g = pmod.Group()
     g.name = 'Testers'
     g.save()
     g2 = pmod.Group.objects.get(name=g.name)
     self.assertEqual(g.name, g2.name, msg='Group names do not match')
     p = pmod.Permission()
     p.codename = 'test_stuff'
     p.name = 'Test all the stuff'
     p.content_type = pmod.Permission.objects.get(codename='add_user').content_type
     p.save()
     p2 = pmod.Permission.objects.get(codename=p.codename)
     self.assertEqual(p.name, p2.name, msg='Permission codenames do not match')
Example #12
0
 def test_permissions_groups(self):
     p1 = pmod.Permission()
     p1.codename = 'chile'
     p1.name = 'Ser bakan'
     p1.content_type = pmod.Permission.objects.get(codename='add_user').content_type
     p1.save()
     g1 = pmod.Group()
     g1.name = 'Chileno'
     g1.save()
     g1.permissions.add(pmod.Permission.objects.get(codename='chile'))
     homer = amod.User.objects.get(username='******')
     homer.groups.add(pmod.Group.objects.get(name='Chileno'))
     homer = amod.User.objects.get(username='******')
     self.assertEqual(homer.has_perm('account.chile'), True, msg='Group permissions not setting correctly')
Example #13
0
    def test_user_groups(self):
        # pull a user from the database
        userTest = amod.User.objects.get(username='******')

        #create a group
        groupTest = pmod.Group()
        groupTest.name = 'Test2'
        groupTest.save()

        #add the user to the group
        userTest.groups.add(groupTest)
        userTest.save()
        userTest = amod.User.objects.get(username='******')

        self.assertTrue(userTest.groups.filter(name=groupTest.name).exists(),
                        msg='User should be in the test2 group')
Example #14
0
    def test_users_and_groups(self):
        group = pmod.Group()

        group.name = "First Group"
        group.save()

        self.assertTrue(pmod.Group.objects.filter(name='First Group').exists(),
                        msg="Group = 'First Group' - should have been created")

        self.homer.groups.add(pmod.Group.objects.get(name='First Group'))

        self.homer.save()

        self.assertTrue(
            amod.User.objects.get(username=self.homer.username).groups.filter(
                name="First Group").exists(),
            msg="Homer should be a part of group 'First Group'")
Example #15
0
 def test_group_permission(self):
     p = pmod.Permission()
     p.codename = 'NewPermission'
     p.name = 'New Permission'
     p.content_type = pmod.Permission.objects.get(
         codename='add_user').content_type
     p.save()
     g1 = pmod.Group()
     g1.name = 'NewGroup'
     g1.save()
     g1 = pmod.Group.objects.get(name='NewGroup')
     g1.permissions.add(
         pmod.Permission.objects.get(codename='NewPermission'))
     u1 = amod.User.objects.get(id=3)
     g1 = pmod.Group.objects.get(name='NewGroup')
     u1.groups.add(g1)
     self.assertTrue(u1.has_perm('account.NewPermission'))
Example #16
0
    def test_group_permissions(self):
        g1 = pmod.Group()
        g1.name = 'TestGroup'
        g1.save()

        g1 = pmod.Group.objects.get(name='TestGroup')

        self.assertEqual(g1.name, 'TestGroup', msg='Didnt save group')

        g1.permissions.add(pmod.Permission.objects.get(codename='add_user'))
        g1.permissions.add(pmod.Permission.objects.get(codename='delete_user'))

        u = amod.User.objects.get(pk=self.homer.pk)
        u.groups.add(pmod.Group.objects.get(name='TestGroup'))

        self.assertEqual(u.get_all_permissions(),
                         {'account.add_user', 'account.delete_user'},
                         msg="Group was not added to homer")
Example #17
0
class NewChatEntryForm(forms.Form):

    description = forms.CharField(label='Description',
                                  widget=forms.Textarea(
                                      attrs={
                                          'type': 'text',
                                          'class': 'form-control',
                                          'rows': 2,
                                          'style': 'resize:none;'
                                      }))

    user = models.User()
    datetime = get_dt()
    parentGroup = models.Group()

    def __init__(self, *args, **kwargs):
        self.user = kwargs.pop('user')
        self.parentGroup = kwargs.pop('parentGroup')
        super(NewChatEntryForm, self).__init__(*args, **kwargs)

    def clean_user(self):
        user = self.cleaned_data['user']
        return user

    def clean_description(self):
        description = self.cleaned_data['description']
        return description

    def clean_datetime(self):
        datetime = self.cleaned_data['datetime']
        return datetime

    def clean_parentGroup(self):
        parentGroup = self.cleaned_data['parentGroup']
        return parentGroup

    def save(self, commit=True):
        entry = Chat_Entry(user=self.user,
                           parentGroup=self.parentGroup,
                           description=self.cleaned_data['description'],
                           datetime=self.datetime)
        return entry
Example #18
0
    def test_group_permissions(self):
        #pull a user from the database
        userTest = amod.User.objects.get(username='******')

        #create a group
        groupTest = pmod.Group()
        groupTest.name = 'Test'
        groupTest.save()
        groupTest.permissions
        groupTest.permissions.add(
            pmod.Permission.objects.get(codename='add_user'))
        groupTest.save()

        #add the user to the group
        userTest.groups.add(groupTest)
        userTest.save()
        userTest = amod.User.objects.get(username='******')

        #assertion tests for the unique permission and the permission from the group
        # look for the id instead of account.newPermission
        self.assertTrue(userTest.has_perm('account.add_user'),
                        msg='User should have the add_user permission')
Example #19
0
    def test_user_groups(self):
        #Add new group to db with user some persmissions
        test_group = pmod.Group()
        test_group.name = "Supervisor"
        test_group.save()
        test_group.permissions.add(
            pmod.Permission.objects.get(codename='add_user'))
        test_group.permissions.add(
            pmod.Permission.objects.get(codename='delete_user'))
        test_group.permissions.add(
            pmod.Permission.objects.get(codename='change_user'))
        test_group.save()

        #Add user to group
        self.homer.groups.add(test_group)

        #Check to see if user now has permissions from test_group
        self.assertTrue(self.homer.has_perm('account.add_user'),
                        msg="No permission for add_user")
        self.assertTrue(self.homer.has_perm('account.delete_user'),
                        msg="No permission for delete_user")
        self.assertTrue(self.homer.has_perm('account.change_user'),
                        msg="No permission for change_user")
Example #20
0
class NewEventForm(forms.Form):
    title = forms.CharField(label='Title',
                            max_length=30,
                            widget=forms.TextInput(attrs={
                                'type': 'text',
                                'class': 'form-control'
                            }))
    description = forms.CharField(
        label='Description',
        widget=forms.TextInput(attrs={
            'type': 'text',
            'class': 'form-control'
        }))

    start = forms.DateTimeField(
        label='Start time',
        input_formats=['%Y-%m-%dT%H:%M'],
        widget=forms.DateTimeInput(attrs={
            'type': 'datetime-local',
            'class': 'form-control'
        }))
    end = forms.DateTimeField(
        label='End time',
        input_formats=['%Y-%m-%dT%H:%M'],
        widget=forms.DateTimeInput(attrs={
            'type': 'datetime-local',
            'class': 'form-control'
        }))

    location = forms.CharField(label='Location',
                               max_length=240,
                               widget=forms.TextInput(attrs={
                                   'type': 'text',
                                   'class': 'form-control'
                               }))
    address = forms.CharField(label='Address',
                              max_length=240,
                              widget=forms.TextInput(attrs={
                                  'type': 'text',
                                  'class': 'form-control'
                              }))
    city = forms.CharField(label='City',
                           max_length=240,
                           widget=forms.TextInput(attrs={
                               'type': 'text',
                               'class': 'form-control'
                           }))
    state = forms.CharField(label='State',
                            max_length=2,
                            widget=forms.TextInput(attrs={
                                'type': 'text',
                                'class': 'form-control'
                            }))
    zip_code = forms.IntegerField(
        label='Zip Code',
        widget=forms.NumberInput(attrs={
            'type': 'number',
            'max': '99999',
            'class': 'form-control'
        }))

    private = forms.BooleanField(label='Private', required=False)

    user = models.User()
    parentGroup = models.Group()
    datetime = get_dt()

    def __init__(self, *args, **kwargs):
        self.user = kwargs.pop('user')
        self.parentGroup = kwargs.pop('parentGroup')
        super(NewEventForm, self).__init__(*args, **kwargs)

    def clean_title(self):
        title = self.cleaned_data['title']
        return title

    def clean_description(self):
        description = self.cleaned_data['description']
        return description

    def clean_user(self):
        user = self.cleaned_data['user']
        return user

    def clean_parentGroup(self):
        parentGroup = self.cleaned_data['parentGroup']
        return parentGroup

    def clean_location(self):
        user = self.cleaned_data['location']
        return user

    def clean_address(self):
        user = self.cleaned_data['address']
        return user

    def clean_city(self):
        user = self.cleaned_data['city']
        return user

    def clean_state(self):
        user = self.cleaned_data['state']
        return user

    def clean_zip_code(self):
        user = self.cleaned_data['zip_code']
        return user

    def clean_start(self):
        start = self.cleaned_data['start']
        return start

    def clean_end(self):
        end = self.cleaned_data['end']
        return end

    def feed_entry(self, commit=True):
        feed_entry = Feed_Entry(user=self.user,
                                datetime=self.datetime,
                                description="Created event \"" +
                                self.cleaned_data['title'] + "\"")

        return feed_entry

    def clean_private(self):
        private = self.cleaned_data['private']
        return private

    def save(self, commit=True):
        event = Event(organizer=self.user,
                      parentGroup=self.parentGroup,
                      name=self.cleaned_data['title'],
                      description=self.cleaned_data['description'],
                      location=self.cleaned_data['location'],
                      address=self.cleaned_data['address'],
                      city=self.cleaned_data['city'],
                      state=self.cleaned_data['state'],
                      zip_code=self.cleaned_data['zip_code'],
                      start=self.cleaned_data['start'],
                      end=self.cleaned_data['end'],
                      private=self.cleaned_data['private'])
        return event