public function testGetGridReturnsNullWhenDontHavePermissions() { $gridName = 'test-grid'; $acl = 'test-acl'; $configuration = $this->getMockBuilder('Oro\\Bundle\\DataGridBundle\\Datagrid\\Common\\DatagridConfiguration')->disableOriginalConstructor()->getMock(); $configuration->expects($this->once())->method('getAclResource')->will($this->returnValue($acl)); $this->manager->expects($this->once())->method('getConfigurationForGrid')->with($gridName)->will($this->returnValue($configuration)); $this->securityFacade->expects($this->once())->method('isGranted')->with($acl)->will($this->returnValue(false)); $this->assertNull($this->twigExtension->getGrid($gridName)); }
/** * @param string $gridName * * @return bool */ protected function isAclGrantedForGridName($gridName) { $gridConfig = $this->manager->getConfigurationForGrid($gridName); if ($gridConfig) { $aclResource = $gridConfig->getAclResource(); if ($aclResource && !$this->securityFacade->isGranted($aclResource)) { return false; } else { return true; } } return false; }
/** * @param string $gridName * * @return bool */ protected function isAclGrantedForGridName($gridName) { $gridConfig = $this->manager->getConfigurationForGrid($gridName); if ($gridConfig) { $acl = $gridConfig->offsetGetByPath(Builder::DATASOURCE_ACL_PATH); $aclSKip = $gridConfig->offsetGetByPath(Builder::DATASOURCE_SKIP_ACL_CHECK, false); if (!$aclSKip && $acl && !$this->securityFacade->isGranted($acl)) { return false; } else { return true; } } return false; }
/** * Get mass action from mass action and datagrid names * * @param string $actionName * @param string $datagridName * * @return \Oro\Bundle\DataGridBundle\Extension\MassAction\Actions\MassActionInterface * * TODO: Need some clean up and optimization */ public function getMassActionByNames($actionName, $datagridName) { $datagrid = $this->manager->getDatagrid($datagridName); return $this->getMassActionByName($actionName, $datagrid); }