protected static function resolveItemsAsItemsForMobile(&$items, &$useMinimalDynamicLabelMbMenu, $controller = null)
 {
     $useMinimalDynamicLabelMbMenu = true;
     static::$showRecentlyViewed = false;
     $controller = $controller ? $controller : Yii::app()->request->controller;
     $shortcutsCreateMenuItems = MenuUtil::getAccessibleShortcutsCreateMenuByCurrentUser();
     static::resolveShortcutsCreateMenuItemsForMobile($shortcutsCreateMenuItems);
     $shortcutsCreateMenuView = new MobileShortcutsCreateMenuView($controller->getId(), $controller->getModule()->getId(), $shortcutsCreateMenuItems);
     $moduleNamesAndLabels = GlobalSearchUtil::getGlobalSearchScopingModuleNamesAndLabelsDataByUser(Yii::app()->user->userModel);
     $sourceUrl = Yii::app()->createUrl('zurmo/default/globalSearchAutoComplete');
     $globalSearchView = new MobileGlobalSearchView($moduleNamesAndLabels, $sourceUrl);
     $recentlyViewed = static::makeRecentlyViewedView();
     $recentlyViewedMenu = $recentlyViewed->renderMenu();
     $searchItem = array(array('label' => '', 'dynamicLabelContent' => $globalSearchView->render(), 'itemOptions' => array('id' => 'search')));
     $shortcutsItems = array(array('label' => '', 'dynamicLabelContent' => $shortcutsCreateMenuView->render(), 'itemOptions' => array('id' => 'shortcuts')));
     $recentlyViewedItems = array(array('label' => '', 'dynamicLabelContent' => MobileHtml::renderFlyoutTrigger('Recently Viewed'), 'itemOptions' => array('id' => 'recently-viewed'), 'items' => $recentlyViewedMenu ? $recentlyViewedMenu : null));
     $items = CMap::mergeArray($searchItem, $items, $shortcutsItems, $recentlyViewedItems);
 }
 protected static function makeHeaderView(CController $controller)
 {
     $headerView = null;
     $settingsMenuItems = MenuUtil::getOrderedAccessibleHeaderMenuForCurrentUser();
     $settingsMenuItems = static::resolveHeaderMenuItemsForMobile($settingsMenuItems);
     $userMenuItems = static::getAndResolveUserMenuItemsForHeader();
     $applicationName = ZurmoConfigurationUtil::getByModuleName('ZurmoModule', 'applicationName');
     $shortcutsCreateMenuItems = MenuUtil::getAccessibleShortcutsCreateMenuByCurrentUser();
     $moduleNamesAndLabels = GlobalSearchUtil::getGlobalSearchScopingModuleNamesAndLabelsDataByUser(Yii::app()->user->userModel);
     $sourceUrl = Yii::app()->createUrl('zurmo/default/globalSearchAutoComplete');
     GlobalSearchUtil::resolveModuleNamesAndLabelsDataWithAllOption($moduleNamesAndLabels);
     $headerView = new HeaderView($settingsMenuItems, $userMenuItems, $shortcutsCreateMenuItems, $moduleNamesAndLabels, $sourceUrl, $applicationName);
     $headerView->setCssClasses(array('HeaderView'));
     return $headerView;
 }
Exemple #3
0
 public function testResolveMenuItemsForLanguageLocalizationIsRecursive()
 {
     Yii::app()->user->userModel = User::getByUsername('super');
     $metadata = AccountsModule::getMetadata();
     $backupMetadata = $metadata;
     $metadata['global']['shortcutsCreateMenuItems'] = array(array('label' => "eval:Zurmo::t('AccountsModule', 'AccountsModulePluralLabel', \$translationParams)", 'url' => array('/accounts/default/create'), 'right' => AccountsModule::RIGHT_CREATE_ACCOUNTS, 'mobile' => true));
     AccountsModule::setMetadata($metadata);
     $menuItems = MenuUtil::getAccessibleShortcutsCreateMenuByCurrentUser();
     $compareData = array('label' => 'Create', 'url' => null, 'items' => array(array('label' => 'Accounts', 'url' => array('/accounts/default/create'), 'right' => AccountsModule::RIGHT_CREATE_ACCOUNTS, 'mobile' => true), array('label' => 'Contact', 'url' => array('/contacts/default/create'), 'right' => ContactsModule::RIGHT_CREATE_CONTACTS, 'mobile' => true), array('label' => 'Conversation', 'url' => array('/conversations/default/create'), 'right' => ConversationsModule::RIGHT_CREATE_CONVERSATIONS, 'mobile' => true), array('label' => 'Lead', 'url' => array('/leads/default/create'), 'right' => LeadsModule::RIGHT_CREATE_LEADS, 'mobile' => true), array('label' => 'Mission', 'url' => array('/missions/default/create'), 'right' => MissionsModule::RIGHT_CREATE_MISSIONS, 'mobile' => true), array('label' => 'Opportunity', 'url' => array('/opportunities/default/create'), 'right' => OpportunitiesModule::RIGHT_CREATE_OPPORTUNITIES, 'mobile' => true), array('label' => 'Report', 'url' => array('/reports/default/selectType'), 'right' => ReportsModule::RIGHT_CREATE_REPORTS, 'mobile' => false)));
     $this->assertEquals($compareData, $menuItems);
     AccountsModule::setMetadata($backupMetadata);
 }
 public function testResolveMenuItemsForLanguageLocalizationIsRecursive()
 {
     Yii::app()->user->userModel = User::getByUsername('super');
     $metadata = AccountsModule::getMetadata();
     $backupMetadata = $metadata;
     $metadata['global']['shortcutsCreateMenuItems'] = array(array('label' => "eval:Zurmo::t('AccountsModule', 'AccountsModulePluralLabel', \$translationParams)", 'url' => array('/accounts/default/create'), 'right' => AccountsModule::RIGHT_CREATE_ACCOUNTS, 'mobile' => true));
     AccountsModule::setMetadata($metadata);
     $menuItems = MenuUtil::getAccessibleShortcutsCreateMenuByCurrentUser();
     $taskMenu = $menuItems['items'][7];
     $this->assertEquals('Task', $taskMenu['label']);
     unset($menuItems['items'][7]);
     $compareData = array('label' => 'Create', 'url' => null, 'items' => array(array('label' => 'Accounts', 'url' => array('/accounts/default/create'), 'right' => AccountsModule::RIGHT_CREATE_ACCOUNTS, 'mobile' => true), array('label' => 'Contact', 'url' => array('/contacts/default/create'), 'right' => ContactsModule::RIGHT_CREATE_CONTACTS, 'mobile' => true), array('label' => 'Conversation', 'url' => array('/conversations/default/create'), 'right' => ConversationsModule::RIGHT_CREATE_CONVERSATIONS, 'mobile' => true), array('label' => 'Lead', 'url' => array('/leads/default/create'), 'right' => LeadsModule::RIGHT_CREATE_LEADS, 'mobile' => true), array('label' => 'Mission', 'url' => array('/missions/default/create'), 'right' => MissionsModule::RIGHT_CREATE_MISSIONS, 'mobile' => true), array('label' => 'Opportunity', 'url' => array('/opportunities/default/create'), 'right' => OpportunitiesModule::RIGHT_CREATE_OPPORTUNITIES, 'mobile' => true), array('label' => 'Report', 'url' => array('/reports/default/selectType'), 'right' => ReportsModule::RIGHT_CREATE_REPORTS, 'mobile' => false), array('label' => 'Project', 'url' => array('/projects/default/create'), 'right' => ProjectsModule::RIGHT_CREATE_PROJECTS, 'mobile' => true)));
     // Re keying and slice the items from main array as we just unset the index 7 menuItem and we may have
     // items that are below that e.g. index 8, 9, 10, ...
     // If we don't do this the keys will mismatch and assertEquals will fail.
     $menuItemsReKeyedItems = array_values($menuItems['items']);
     unset($menuItems['items']);
     $compareDataReKeyedItems = array_values($compareData['items']);
     unset($compareData['items']);
     $this->assertEquals($compareData, $menuItems);
     $this->assertEquals($compareDataReKeyedItems, $menuItemsReKeyedItems);
     AccountsModule::setMetadata($backupMetadata);
 }