protected static function makeHeaderView(CController $controller) { $headerView = null; $settingsMenuItems = MenuUtil::getOrderedAccessibleHeaderMenuForCurrentUser(); $settingsMenuItems = static::resolveHeaderMenuItemsForMobile($settingsMenuItems); $userMenuItems = static::getAndResolveUserMenuItemsForHeader(); $applicationName = ZurmoConfigurationUtil::getByModuleName('ZurmoModule', 'applicationName'); if (Yii::app()->userInterface->isMobile()) { $headerView = new MobileHeaderView($settingsMenuItems, $userMenuItems, $applicationName); } else { $shortcutsCreateMenuItems = MenuUtil::getAccessibleShortcutsCreateMenuByCurrentUser(); $moduleNamesAndLabels = GlobalSearchUtil::getGlobalSearchScopingModuleNamesAndLabelsDataByUser(Yii::app()->user->userModel); $sourceUrl = Yii::app()->createUrl('zurmo/default/globalSearchAutoComplete'); GlobalSearchUtil::resolveModuleNamesAndLabelsDataWithAllOption($moduleNamesAndLabels); $headerView = new HeaderView($controller->getId(), $controller->getModule()->getId(), $settingsMenuItems, $userMenuItems, $shortcutsCreateMenuItems, $moduleNamesAndLabels, $sourceUrl, $applicationName); } return $headerView; }
public function testGetAccessibleHeaderMenuByModuleClassNameForCurrentUser() { Yii::app()->user->userModel = User::getByUsername('super'); $menu = MenuUtil::getOrderedAccessibleHeaderMenuForCurrentUser(); $this->assertEquals(6, count($menu)); Yii::app()->user->userModel = User::getByUsername('billy'); $menu = MenuUtil::getOrderedAccessibleHeaderMenuForCurrentUser(); $this->assertEquals(2, count($menu)); $bill = User::getByUsername('billy'); $bill->setRight('ZurmoModule', ZurmoModule::RIGHT_ACCESS_ADMINISTRATION); $saved = $bill->save(); $this->assertTrue($saved); $menu = MenuUtil::getOrderedAccessibleHeaderMenuForCurrentUser(); $this->assertEquals(3, count($menu)); }