def test_permissions_for_app(self): """ This only tests if an app that doesn't belongs or exists in booktype.apps packages, will return an empty list """ EMPTY = {} bad_app_name = 'foo_meh_book' self.assertEqual(permissions.permissions_for_app(bad_app_name), EMPTY, "This should return an empty list")
def test_permissions_for_app(self): """ This only tests if an app that doesn't belongs or exists in booktype.apps packages, will return an empty list """ EMPTY = {} bad_app_name = 'foo_meh_book' self.assertEqual( permissions.permissions_for_app(bad_app_name), EMPTY, "This should return an empty list" )
def label(self): """ Checks if description has an internalized string and returns it. Otherwise, it returns the description stored in DB """ from booktype.utils.permissions import permissions_for_app app_perms = permissions_for_app(self.app_name) if 'permissions' in app_perms: for code_name, desc in app_perms.get('permissions'): if code_name == self.name: return desc return u'%s' % self.description
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 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 _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) )