From 5db38be8de7772eb3887960389fbe99360c366b9 Mon Sep 17 00:00:00 2001 From: tianshujie Date: Tue, 7 Feb 2023 09:52:21 +0800 Subject: [PATCH] * Code for finish task #83721. --- module/admin/lang/menu.php | 8 ++++---- module/admin/model.php | 16 +++++++++++++++- module/admin/view/tabmenu.html.php | 27 ++++++++++++--------------- module/custom/view/set.html.php | 12 ++---------- 4 files changed, 33 insertions(+), 30 deletions(-) diff --git a/module/admin/lang/menu.php b/module/admin/lang/menu.php index 3e6c2681d8..14a3592588 100644 --- a/module/admin/lang/menu.php +++ b/module/admin/lang/menu.php @@ -83,13 +83,13 @@ $lang->admin->menuList->model['menuOrder']['5'] = 'common'; $lang->admin->menuList->model['menuOrder']['10'] = 'scrum'; $lang->admin->menuList->model['menuOrder']['15'] = 'waterfall'; -$lang->admin->menuList->feature['subMenu']['my'] = array('link' => "{$lang->my->common}|custom|set|module=todo"); -$lang->admin->menuList->feature['subMenu']['product'] = array('link' => "{$lang->productCommon}|custom|required|module=product|"); +$lang->admin->menuList->feature['subMenu']['my'] = array('link' => "{$lang->my->common}|custom|set|module=todo", 'exclude' => 'set,required'); +$lang->admin->menuList->feature['subMenu']['product'] = array('link' => "{$lang->productCommon}|custom|required|module=product|", 'exclude' => 'set,required'); $lang->admin->menuList->feature['subMenu']['execution'] = array('link' => "{$lang->execution->common}|custom|execution|"); -$lang->admin->menuList->feature['subMenu']['qa'] = array('link' => "{$lang->qa->common}|custom|required|module=bug"); +$lang->admin->menuList->feature['subMenu']['qa'] = array('link' => "{$lang->qa->common}|custom|required|module=bug", 'exclude' => 'set,required'); $lang->admin->menuList->feature['subMenu']['kanban'] = array('link' => "{$lang->kanban->common}|custom|kanban|"); $lang->admin->menuList->feature['subMenu']['doc'] = array('link' => "{$lang->doc->common}|custom|required|module=doc"); -$lang->admin->menuList->feature['subMenu']['user'] = array('link' => "{$lang->user->common}|custom|set|module=user"); +$lang->admin->menuList->feature['subMenu']['user'] = array('link' => "{$lang->user->common}|custom|set|module=user", 'exclude' => 'set,required'); $lang->admin->menuList->feature['tabMenu']['my']['todo'] = array('link' => "{$lang->todo->common}|custom|set|module=todo&field=priList"); $lang->admin->menuList->feature['tabMenu']['my']['block'] = array('link' => "{$lang->block->common}|custom|set|module=block&field=closed"); diff --git a/module/admin/model.php b/module/admin/model.php index 57946661c6..5cae3daad8 100755 --- a/module/admin/model.php +++ b/module/admin/model.php @@ -269,9 +269,23 @@ class adminModel extends model $this->setSwitcher($menuKey); if(isset($this->lang->admin->menuList->$menuKey)) { - if(isset($this->lang->admin->menuList->$menuKey['subMenu'])) $this->lang->admin->menu = $this->lang->admin->menuList->$menuKey['subMenu']; + if(isset($this->lang->admin->menuList->$menuKey['subMenu'])) + { + $moduleName = $this->app->rawModule; + $methodName = $this->app->rawMethod; + $paramName = $this->app->rawParams ? reset($this->app->rawParams) : ''; + if($moduleName == 'custom' and strpos(',required,set,', $methodName) !== false) + { + if(strpos(',todo,block,', $paramName) !== false) $subMenuKey = 'my'; + if(isset($subMenuKey)) $this->lang->admin->menuList->$menuKey['subMenu'][$subMenuKey]['subModule'] = $moduleName; + } + + $this->lang->admin->menu = $this->lang->admin->menuList->$menuKey['subMenu']; + } + if(isset($this->lang->admin->menuList->$menuKey['menuOrder'])) $this->lang->admin->menuOrder = $this->lang->admin->menuList->$menuKey['menuOrder']; if(isset($this->lang->admin->menuList->$menuKey['dividerMenu'])) $this->lang->admin->dividerMenu = $this->lang->admin->menuList->$menuKey['dividerMenu']; + if(isset($this->lang->admin->menuList->$menuKey['tabMenu'])) $this->lang->admin->tabMenu = $this->lang->admin->menuList->$menuKey['tabMenu']; } } diff --git a/module/admin/view/tabmenu.html.php b/module/admin/view/tabmenu.html.php index 441f8d9819..7f4cee4514 100644 --- a/module/admin/view/tabmenu.html.php +++ b/module/admin/view/tabmenu.html.php @@ -1,22 +1,19 @@
custom->menuOrder; - ksort($menuOrder); - - foreach($menuOrder as $order => $object) + $tabMenuList = isset($lang->admin->tabMenu[$activeMenu]) ? $lang->admin->tabMenu[$activeMenu] : array(); + foreach($tabMenuList as $tabMenuKey => $tabMenu) { - $name = $lang->custom->object[$object]; - if(strpos($lang->custom->dividerMenu, $object) !== false) echo ""; - if(strpos($lang->custom->separatePage, $object)) - { - common::printLink('custom', $object, "", "{$lang->custom->$object}", '', "class='btn btn-link' id='{$object}Tab'"); - } - else - { - common::printLink('custom', 'set', "module=$object&field=" . key($lang->custom->{$object}->fields), "{$name}", '', "class='btn btn-link' id='{$object}Tab'"); - } - if($object == 'user') common::printLink('custom', 'required', "", "{$lang->custom->required}", '', "class='btn btn-link' id='requiredTab'"); + $link = $this->admin->getHasPrivLink($tabMenu); + if(empty($link)) continue; + + list($tabModule, $tabMethod, $tabParams) = $link; + + $name = $lang->custom->object[$tabMenuKey]; + $paramName = $this->app->rawParams ? reset($this->app->rawParams) : ''; + $active = ($tabMethod == $tabMenuKey and strpos(',required,set,', ",$tabMethod",) === false) ? 'btn-active-text' : ''; + $active = ($paramName == $tabMenuKey and strpos(',required,set,', ",$tabMethod",)) ? 'btn-active-text' : $active; + common::printLink($tabModule, $tabMethod, $tabParams, "{$name}", '', "class='btn btn-link {$active}' id='{$tabMenuKey}Tab'"); } ?>
diff --git a/module/custom/view/set.html.php b/module/custom/view/set.html.php index d73c05b92b..8bf77fbb26 100644 --- a/module/custom/view/set.html.php +++ b/module/custom/view/set.html.php @@ -36,16 +36,6 @@ EOT; custom->notice->confirmReviewCase)?> -
+
@@ -70,6 +61,7 @@ $('#navbar ul.nav li[data-id=type]').addClass('active');
+