public function getAllChildren($checkIsAllowMemberCommunity = false) { $roots = $this->retrieveAllRoots(); $children = $this->retrieveAllChildren(); // sort by root category $temp = array(); foreach ($children as $child) { if ($checkIsAllowMemberCommunity && !$child->getIsAllowMemberCommunity()) { continue; } $temp[$child->getTreeKey()][] = $child; } $data = array(); foreach ($roots as $root) { if (isset($temp[$root->getId()])) { $data = array_merge($data, $temp[$root->getId()]); } } $collection = new Doctrine_Collection($this); $collection->setData($data); return $collection; }
public function testGetScreenPermissionsMany() { $module = 'xim'; $action = 'doThis'; $roles = array('Admin', 'ESS', 'Supervisor'); $doctrineCollection = new Doctrine_Collection('ScreenPermission'); $screenPermission1 = new ScreenPermission(); $screenPermission1->fromArray(array('id' => 1, 'user_role_id' => 1, 'screen_id' => 1, 'can_read' => 0, 'can_create' => 0, 'can_update' => 0, 'can_delete' => 0)); $screenPermission2 = new ScreenPermission(); $screenPermission2->fromArray(array('id' => 1, 'user_role_id' => 1, 'screen_id' => 1, 'can_read' => 0, 'can_create' => 1, 'can_update' => 0, 'can_delete' => 0)); $screenPermission3 = new ScreenPermission(); $screenPermission3->fromArray(array('id' => 1, 'user_role_id' => 1, 'screen_id' => 1, 'can_read' => 0, 'can_create' => 1, 'can_update' => 0, 'can_delete' => 1)); $screenPermissions = array($screenPermission1, $screenPermission2, $screenPermission3); $doctrineCollection->setData($screenPermissions); $mockDao = $this->getMock('ScreenPermissionDao', array('getScreenPermissions')); $mockDao->expects($this->once())->method('getScreenPermissions')->with($module, $action, $roles)->will($this->returnValue($doctrineCollection)); $this->service->setScreenPermissionDao($mockDao); $permissions = $this->service->getScreenPermissions($module, $action, $roles); $this->assertTrue($permissions instanceof ResourcePermission); $this->verifyPermissions($permissions, false, true, false, true); }