Example #1
0
    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")
Example #2
0
    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"
        )
Example #3
0
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)
Example #4
0
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)
Example #5
0
    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
Example #6
0
    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
Example #7
0
 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))
Example #8
0
 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)
         )