Ejemplo n.º 1
0
 /**
  * @param ConfigureMenuEvent $event
  */
 public function onNavigationConfigure(ConfigureMenuEvent $event)
 {
     $dashboardTab = $event->getMenu()->getChild('dashboard_tab');
     if (!$dashboardTab || !$this->securityFacade->hasLoggedUser()) {
         return;
     }
     $dashboards = $this->manager->findAllowedDashboards();
     if (count($dashboards) > 0) {
         foreach ($dashboards as $dashboard) {
             $dashboardId = $dashboard->getId();
             $dashboardLabel = $dashboard->getLabel();
             $dashboardLabel = strlen($dashboardLabel) > 50 ? substr($dashboardLabel, 0, 50) . '...' : $dashboardLabel;
             $options = array('label' => $dashboardLabel, 'route' => 'oro_dashboard_view', 'extras' => array('position' => 1), 'routeParameters' => array('id' => $dashboardId, 'change_dashboard' => true));
             $dashboardTab->addChild($dashboardId . '_dashboard_menu_item', $options)->setAttribute('data-menu', $dashboardId);
         }
         $dashboardTab->addChild('divider-' . rand(1, 99999))->setLabel('')->setAttribute('class', 'divider menu-divider')->setExtra('position', 2);
     }
 }
Ejemplo n.º 2
0
 public function testFindAllowedDashboards()
 {
     $permission = 'EDIT';
     $expectedEntities = array($this->getMock('Oro\\Bundle\\DashboardBundle\\Entity\\Dashboard'));
     $expectedModels = array($this->getMockBuilder('Oro\\Bundle\\DashboardBundle\\Model\\DashboardModel')->disableOriginalConstructor()->getMock());
     $queryBuilder = $this->getMockBuilder('Doctrine\\ORM\\QueryBuilder')->disableOriginalConstructor()->getMock();
     $query = $this->getMockBuilder('Doctrine\\ORM\\AbstractQuery')->disableOriginalConstructor()->setMethods(array('execute'))->getMockForAbstractClass();
     $query->expects($this->once())->method('execute')->will($this->returnValue($expectedEntities));
     $this->dashboardRepository->expects($this->once())->method('createQueryBuilder')->with('dashboard')->will($this->returnValue($queryBuilder));
     $this->aclHelper->expects($this->once())->method('apply')->with($queryBuilder, $permission)->will($this->returnValue($query));
     $this->factory->expects($this->once())->method('createDashboardModel')->with($expectedEntities[0])->will($this->returnValue($expectedModels[0]));
     $this->assertEquals($expectedModels, $this->manager->findAllowedDashboards($permission));
 }
Ejemplo n.º 3
0
 /**
  * @return Dashboard
  */
 protected function getChoices()
 {
     return array_map(function (DashboardModel $dashboardModel) {
         return $dashboardModel->getEntity();
     }, $this->manager->findAllowedDashboards());
 }