Exemple #1
0
 def test_does_not_have_group_permissions(self):
     ct = ContentType(app_label='dms', model='test', name='test').save()
     permission = Permission(name='can test things', codename='can_test_things', content_type=ct.id).save()
     group = Group(name='Test Group', permissions=[permission]).save()
     user = User(username='******', password='******', group=group)
     self.assertFalse(user.has_perm('dmx.can_test_things'))
     self.assertFalse(user.has_perm('dms.cant_test_things'))
Exemple #2
0
    def test_should_get_user_permissions(self):
        ct = ContentType(app_label='dms', model=str(uuid.uuid4()), name=str(uuid.uuid4())).save()
        manage_users = Permission(name='can manage users', codename='can_manage_users', content_type=ct.id).save()
        manage_polls = Permission(name='can manage users', codename='can_manage_polls', content_type=ct.id).save()
        group = Group(name='UserGroup', permissions=[manage_users, manage_polls]).save()
        user = User(username="******", email="*****@*****.**", group=group)
        user.set_password("some-password")

        self.assertEqual(['can_manage_users', 'can_manage_polls'], user.get_permissions())
Exemple #3
0
    def test_should_serialize_groups_object(self):
        serialized_group = dict(name='Test Group')
        group_object = Group(name='Test Group',
                             permissions=[self.permission]).save()

        serialized_object = GroupSerializer(group_object)
        self.assertDictContainsSubset(serialized_group, serialized_object.data)
        self.assertIsNotNone(serialized_object.data.get('id'))
        self.assertIsNone(serialized_object.data.get('permission'))
Exemple #4
0
 def login_with_permission(self, permission_codename):
     self.client.logout()
     ct = ContentType(app_label='dms',
                      model=str(uuid.uuid4()),
                      name=str(uuid.uuid4())).save()
     permission = Permission(name=permission_codename,
                             codename=permission_codename,
                             content_type=ct.id).save()
     group = Group(name=str(uuid.uuid4()), permissions=[permission]).save()
     user = User(username='******', group=group)
     user.set_password('pw')
     self.client.login(username='******', password='******')
Exemple #5
0
    def handle(self, *args, **options):
        if len(args):
            user = User.objects(username=args[0], email=args[2]).first() or User(username=args[0], email=args[2])
            if len(args) > 3:
                ct = ContentType(app_label='dms', model=str(uuid.uuid4()), name=str(uuid.uuid4())).save()
                permission = Permission(name=args[3], codename=args[3], content_type=ct.id).save()
                group = Group(name=str(uuid.uuid4()), permissions=[permission]).save()
                user.group = group

            user.set_password(args[1])

            self.stdout.write('Successfully created user')
Exemple #6
0
    def process(self):
        """ Function in charge to import Vulture Groups into database

        :return:
        """
        group_names = (
            'application_manager',
            'administrator',
            'security_manager',
            'system_manager',
            'guest',
        )
        for group in group_names:
            try:
                Group.objects.get(name=group)
            except Group.DoesNotExist as e:
                Group(name=group).save()
        print("Vulture groups successfully imported")
Exemple #7
0
 def login_without_permissions(self):
     self.client.logout()
     empty_group = Group(name='Empty', permissions=[])
     User(username='******', password='******', group=empty_group)
     self.client.login(username='******', password='******')
    def handle(self, *args, **options):
        try:
            # ct, created = ContentType.objects.get_or_create(app_label='dms', model='', name='')
            ct = ContentType(app_label='dms', model='', name='').save()
            manage_users = Permission(name='can manage users',
                                      codename='can_manage_users',
                                      content_type=ct.id).save()
            manage_polls = Permission(name='can manage polls',
                                      codename='can_manage_polls',
                                      content_type=ct.id).save()
            view_polls = Permission(name='can view polls',
                                    codename='can_view_polls',
                                    content_type=ct.id).save()
            view_messages = Permission(name='can view messages',
                                       codename='can_view_messages',
                                       content_type=ct.id).save()
            view_disasters = Permission(name='can view disasters',
                                        codename='can_view_disasters',
                                        content_type=ct.id).save()
            manage_disasters = Permission(name='can manage disasters',
                                          codename='can_manage_disasters',
                                          content_type=ct.id).save()
            manage_messages = Permission(name='can manage messages',
                                         codename='can_manage_messages',
                                         content_type=ct.id).save()
            manage_settings = Permission(name='can manage settings',
                                         codename='can_manage_settings',
                                         content_type=ct.id).save()

            Group(name='Administrator',
                  permissions=[
                      manage_users,
                      manage_polls,
                      view_polls,
                      view_disasters,
                      manage_disasters,
                      manage_messages,
                      manage_settings,
                  ]).save()

            Group(name='IT Assistant',
                  permissions=[
                      view_polls, view_disasters, view_disasters,
                      manage_disasters, manage_messages
                  ]).save()

            Group(name='Disaster Preparedness Officer',
                  permissions=[
                      manage_polls, view_polls, view_disasters,
                      manage_disasters, manage_messages
                  ]).save()

            Group(name='Disaster Management Officer',
                  permissions=[
                      manage_polls, view_polls, view_disasters,
                      manage_disasters, manage_messages
                  ]).save()

            Group(name='Management Team',
                  permissions=[
                      manage_users, manage_polls, view_polls, view_disasters,
                      manage_disasters, manage_messages
                  ]).save()

            Group(name='DDMC Chairperson',
                  permissions=[view_polls, view_messages,
                               view_disasters]).save()

            Group(name='CAO',
                  permissions=[view_polls, view_messages,
                               view_disasters]).save()

            Group(name='DDMC',
                  permissions=[
                      view_polls, view_messages, manage_disasters,
                      view_disasters
                  ]).save()
        except:
            print "You have likely created the user group data already"