* Fix common lang menu.

This commit is contained in:
Yagami
2020-08-05 09:44:19 +08:00
parent fd01a1d725
commit 15849794ec
2 changed files with 49 additions and 2 deletions
+7 -2
View File
@@ -1102,7 +1102,6 @@ if(isset($config->global->flow) and $config->global->flow == 'onlyTest')
/* Cmmi menu. */
$lang->menu->cmmi = new stdclass();
$lang->menu->cmmi->workestimation = array('link' => '估算|workestimation|index|program={PROGRAM}', 'subModule' => 'durationestimation,budget');
$lang->menu->cmmi->programplan = array('link' => '计划|programplan|browse|program={PROGRAM}', 'subModule' => 'programplan');
$lang->menu->cmmi->project = array('link' => $lang->projectCommon . '|project|task|projectID={PROJECT}', 'subModule' => ',project,task,');
$lang->menu->cmmi->review = array('link' => '评审|review|browse|program={PROGRAM}', 'subModule' => ',reviewissue,');
@@ -1118,7 +1117,13 @@ $lang->menu->cmmi->risk = '风险|risk|browse|';
$lang->menu->cmmi->report = array('link' => '度量|report|programsummary|program={PROGRAM}', 'subModule' => ',report,measrecord,');
$lang->menu->cmmi->auditplan = array('link' => 'QA|auditplan|browse|', 'subModule' => 'nc');
$lang->menu->cmmi->cm = array('link' => '配置|cm|browse|program={PROGRAM}', 'subModule' => 'cm');
$lang->menu->cmmi->pssp = '过程|pssp|browse|program={PROGRAM}';
$lang->menu->cmmi->list = array('link' => '更多|workestimation|index|program={PROGRAM}', 'class' => 'dropdown dropdown-hover cmmi-list');
$lang->cmmi = new stdclass();
$lang->cmmi->subMenu = new stdclass();
$lang->cmmi->subMenu->list = new stdclass();
$lang->cmmi->subMenu->list->workestimation = array('link' => '估算|workestimation|index|program=%s', 'subModule' => 'durationestimation,budget');
$lang->cmmi->subMenu->list->pssp = '过程|pssp|browse|program=%s';
$lang->cmmiproduct = new stdclass();
$lang->workestimation = new stdclass();
+42
View File
@@ -405,6 +405,47 @@ class commonModel extends model
return $subMenu;
}
/**
* Init submenu for program menu.
*
* @static
* @access public
* @return array
*/
public static function initProgramSubmenu()
{
global $lang, $app;
$moduleName = $app->getModuleName();
$methodName = $app->getMethodName();
foreach($lang->menu->cmmi as $key => $menu)
{
/* Replace for dropdown submenu. */
if(isset($lang->cmmi->subMenu->$key))
{
$programSubMenu = $lang->cmmi->subMenu->$key;
$subMenu = common::createSubMenu($lang->cmmi->subMenu->$key, $app->session->program);
if(!empty($subMenu))
{
foreach($subMenu as $menuKey => $menu)
{
$itemMenu = zget($programSubMenu, $menuKey, '');
$isActive['method'] = ($moduleName == strtolower($menu->link['module']) and $methodName == strtolower($menu->link['method']));
$isActive['alias'] = ($moduleName == strtolower($menu->link['module']) and (is_array($itemMenu) and isset($itemMenu['alias']) and strpos($itemMenu['alias'], $methodName) !== false));
$isActive['subModule'] = (is_array($itemMenu) and isset($itemMenu['subModule']) and strpos($itemMenu['subModule'], $moduleName) !== false);
if($isActive['method'] or $isActive['alias'] or $isActive['subModule'])
{
$lang->menu->cmmi->{$key}['link'] = $menu->text . "|" . join('|', $menu->link);
break;
}
}
$lang->menu->cmmi->{$key}['subMenu'] = $subMenu;
}
}
}
}
/**
* Print admin subMenu.
*
@@ -2142,6 +2183,7 @@ EOD;
$lang->release->menu = new stdclass();
$lang->menugroup->release = '';
$lang->program->dividerMenu = ',product,issue,';
self::initProgramSubmenu();
return self::processMenuVars($lang->menu->cmmi);
}
}