def test_create_permissions(self): # delete permissions before fake Permission.objects.all().delete() # first, lest create permissions in DB permissions.create_permissions(self.app_name, self.PERMS) # now check if they are registered self.assertEqual( Permission.objects.count(), len(self.PERMS['permissions']), "Registered permissions should be same as in this test case") # Let's try to find one specific permission in DB self.assertTrue( Permission.objects.filter(app_name=self.app_name, name='test_booktype').exists(), "This permission should be already registered in DB")
def test_create_permissions(self): # delete permissions before fake Permission.objects.all().delete() # first, lest create permissions in DB permissions.create_permissions(self.app_name, self.PERMS) # now check if they are registered self.assertEqual( Permission.objects.count(), len(self.PERMS['permissions']), "Registered permissions should be same as in this test case" ) # Let's try to find one specific permission in DB self.assertTrue( Permission.objects.filter( app_name=self.app_name, name='test_booktype' ).exists(), "This permission should be already registered in DB" )
def django_db_setup(django_db_setup, django_db_blocker): with django_db_blocker.unblock(): # update_permissions for app_name in settings.INSTALLED_APPS: app_perms = permissions_for_app(app_name) create_permissions(app_name, app_perms, stdout=False) # update_default_roles for role_name, perms in settings.BOOKTYPE_DEFAULT_ROLES.items(): # check if there any existing default role already in configuration key = 'DEFAULT_ROLE_%s' % role_name role_name = config.get_configuration(key, role_name) role, created = Role.objects.get_or_create(name=role_name) if created: role.description = _('system default role') role.save() for perm in perms: app, code_name = perm.split('.') perm = Permission.objects.get(app_name=app, name=code_name) role.permissions.add(perm)
def handle(self, *args, **options): saved_perms = [] for app_name in settings.INSTALLED_APPS: app_perms = permissions_for_app(app_name) saved_perms += create_permissions(app_name, app_perms) saved_perms_ids = [p.pk for p in saved_perms] orphan_perms = Permission.objects.exclude(id__in=saved_perms_ids) if options['delete_orphans']: orphan_perms.delete() print BOLD_ON + "All undeclared permissions has been deleted." + BOLD_OFF else: if orphan_perms.count() > 0: suggestion = ( "There are %s undeclared permissions. " "To delete them use: \n" "./manage.py update_permissions --delete-orphans") print BOLD_ON + suggestion % orphan_perms.count() + BOLD_OFF
def handle(self, *args, **options): saved_perms = [] for app_name in settings.INSTALLED_APPS: app_perms = permissions_for_app(app_name) saved_perms += create_permissions(app_name, app_perms) saved_perms_ids = [p.pk for p in saved_perms] orphan_perms = Permission.objects.exclude(id__in=saved_perms_ids) if options['delete_orphans']: orphan_perms.delete() print BOLD_ON + "All undeclared permissions has been deleted." + BOLD_OFF else: if orphan_perms.count() > 0: suggestion = ( "There are %s undeclared permissions. " "To delete them use: \n" "./manage.py update_permissions --delete-orphans" ) print BOLD_ON + suggestion % orphan_perms.count() + BOLD_OFF
def _update_permissions(self): for app_name in settings.INSTALLED_APPS: app_perms = permissions_for_app(app_name) self._app_permissions.append( create_permissions(app_name, app_perms, stdout=False))
def _update_permissions(self): for app_name in settings.INSTALLED_APPS: app_perms = permissions_for_app(app_name) self._app_permissions.append( create_permissions(app_name, app_perms, stdout=False) )