/** * {@inheritdoc} */ public function getPermissions(RoleInterface $role) { $permissions = new ArrayCollection(); $iterator = new \RecursiveIteratorIterator(new RecursivePermissionIterator($role->getPermissions()), \RecursiveIteratorIterator::SELF_FIRST); foreach ($iterator as $permission) { if (!$permissions->contains($permission)) { $permissions->add($permission); } } return $permissions; }
/** * {@inheritdoc} */ public function getPermissions(RoleInterface $role) { $permissions = new ArrayCollection(); foreach ($role->getPermissions() as $permission) { $permissions->add($permission); foreach ($this->getChildPermissions($permission) as $childPermission) { if (!$permissions->contains($childPermission)) { $permissions->add($childPermission); } } } return $permissions; }