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'))
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())
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='******')
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')
def setUp(self): ct = ContentType(app_label='dms', model='test_ct', name='test_ct').save() self.permission = Permission(name='can manage something', codename='can_manage_something', content_type=ct.id).save()
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"