예제 #1
0
 /**
  * {@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;
 }