/** * @depends testGetAccessibleShortcutsCreateMenuByCurrentUser */ public function testGetAccessibleConfigureMenuByCurrentUser() { Yii::app()->user->userModel = User::getByUsername('super'); $menu = MenuUtil::getAccessibleConfigureMenuByCurrentUser('GroupsModule'); $this->assertEquals(1, count($menu)); Yii::app()->user->userModel = User::getByUsername('billy'); $menu = MenuUtil::getAccessibleConfigureMenuByCurrentUser('GroupsModule'); $this->assertEquals(0, count($menu)); $bill = User::getByUsername('billy'); $bill->setRight('GroupsModule', GroupsModule::RIGHT_ACCESS_GROUPS); $saved = $bill->save(); $this->assertTrue($saved); $menu = MenuUtil::getAccessibleConfigureMenuByCurrentUser('GroupsModule'); $this->assertEquals(1, count($menu)); }
protected function getCategoryData() { $categories = array(); $modules = Module::getModuleObjects(); foreach ($modules as $module) { $moduleMenuItems = MenuUtil::getAccessibleConfigureMenuByCurrentUser(get_class($module)); if ($module->isEnabled() && count($moduleMenuItems) > 0) { foreach ($moduleMenuItems as $menuItem) { if (!empty($menuItem['category'])) { assert('isset($menuItem["titleLabel"])'); assert('isset($menuItem["descriptionLabel"])'); assert('isset($menuItem["route"])'); $categories[$menuItem['category']][] = $menuItem; } else { throw new NotSupportedException(); } } } } return $categories; }