src/Controller/CRUDController.php
protected function getAclRoles()
    {
        $aclRoles = [];
        $roleHierarchy = $this->container->getParameter('security.role_hierarchy.roles');
        $pool = $this->container->get('sonata.admin.pool');

        foreach ($pool->getAdminServiceIds() as $id) {
            try {
                $admin = $pool->getInstance($id);
            } catch (\Exception $e) {
                continue;
            }

            $baseRole = $admin->getSecurityHandler()->getBaseRole($admin);
            foreach ($admin->getSecurityInformation() as $role => $permissions) {
                $role = sprintf($baseRole, $role);
                $aclRoles[] = $role;
            }
        }

        foreach ($roleHierarchy as $name => $roles) {
            $aclRoles[] = $name;
            $aclRoles = array_merge($aclRoles, $roles);
        }

        $aclRoles = array_unique($aclRoles);

        return \is_array($aclRoles) ? new \ArrayIterator($aclRoles) : $aclRoles;
    }
protected function getAclRoles()
    {
        $aclRoles = [];
        $roleHierarchy = $this->container->getParameter('security.role_hierarchy.roles');
        $pool = $this->container->get('sonata.admin.pool');

        foreach ($pool->getAdminServiceIds() as $id) {
            try {
                $admin = $pool->getInstance($id);
            } catch (\Exception $e) {
                continue;
            }

            $baseRole = $admin->getSecurityHandler()->getBaseRole($admin);
            foreach ($admin->getSecurityInformation() as $role => $permissions) {
                $role = sprintf($baseRole, $role);
                $aclRoles[] = $role;
            }
        }

        foreach ($roleHierarchy as $name => $roles) {
            $aclRoles[] = $name;
            $aclRoles = array_merge($aclRoles, $roles);
        }

        $aclRoles = array_unique($aclRoles);

        return \is_array($aclRoles) ? new \ArrayIterator($aclRoles) : $aclRoles;
    }
protected function getAclRoles ( ) { $ aclRoles = [ ] ; $ roleHierarchy = $ this -> container -> getParameter ( 'security.role_hierarchy.roles' ) ; $ pool = $ this -> container -> get ( 'sonata.admin.pool' ) ; foreach ( $ pool -> getAdminServiceIds ( ) as $ id ) { try { $ admin = $ pool -> getInstance ( $ id ) ; } catch ( \ Exception $ e ) { continue ; } $ baseRole = $ admin -> getSecurityHandler ( ) -> getBaseRole ( $ admin ) ; foreach ( $ admin -> getSecurityInformation ( ) as $ role => $ permissions ) { $ role = sprintf ( $ baseRole , $ role ) ; $ aclRoles [ ] = $ role ; } } foreach ( $ roleHierarchy as $ name => $ roles ) { $ aclRoles [ ] = $ name ; $ aclRoles = array_merge ( $ aclRoles , $ roles ) ; } $ aclRoles = array_unique ( $ aclRoles ) ; return \ is_array ( $ aclRoles ) ? new \ ArrayIterator ( $ aclRoles ) : $ aclRoles ; }
Gets ACL roles.

@return \Traversable
Gets ACL roles .