* Code for finish task #83721,83722.
This commit is contained in:
@@ -84,13 +84,19 @@ $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|product|");
|
||||
$lang->admin->menuList->feature['subMenu']['product'] = array('link' => "{$lang->productCommon}|custom|required|module=product|");
|
||||
$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']['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['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");
|
||||
if($this->config->vision == 'lite') $lang->admin->menuList->feature['tabMenu']['my']['task'] = array();
|
||||
|
||||
$lang->admin->menuList->feature['tabMenu']['product']['product'] = array('link' => "{$lang->productCommon}|custom|required|module=product", 'links' => array("custom|browsestoryconcept|", 'custom|product|'));
|
||||
|
||||
$lang->admin->menuList->feature['menuOrder']['5'] = 'my';
|
||||
$lang->admin->menuList->feature['menuOrder']['10'] = 'product';
|
||||
$lang->admin->menuList->feature['menuOrder']['15'] = 'execution';
|
||||
|
||||
+78
-23
@@ -286,36 +286,54 @@ class adminModel extends model
|
||||
$orders = array();
|
||||
foreach($this->lang->admin->menuList as $menuKey => $menu)
|
||||
{
|
||||
$menu['disabled'] = false;
|
||||
$menu['disabled'] = true;
|
||||
if(!isset($menu['link'])) $menu['link'] = '';
|
||||
if(!empty($menu['link']) and strpos($menu['link'], '|') !== false)
|
||||
|
||||
/* Check sub menu priv. */
|
||||
if(isset($menu['subMenu']))
|
||||
{
|
||||
list($module, $method) = explode('|', $menu['link']);
|
||||
$menu['link'] = helper::createLink($module, $method);
|
||||
if(!common::hasPriv($module, $method)) $menu['disabled'] = true;
|
||||
}
|
||||
|
||||
$menuOrder = isset($menu['menuOrder']) ? $menu['menuOrder'] : array();
|
||||
if($menuOrder)
|
||||
{
|
||||
ksort($menuOrder);
|
||||
|
||||
/* Check sub menu priv. */
|
||||
foreach($menuOrder as $subOrder => $subMenuKey)
|
||||
foreach($menu['subMenu'] as $subMenuKey => $subMenu)
|
||||
{
|
||||
list($label, $module, $method, $params) = explode('|', $menu['subMenu'][$subMenuKey]['link']);
|
||||
if(!common::hasPriv($module, $method)) unset($menuOrder[$subOrder]);
|
||||
}
|
||||
/* Check tab menu priv. */
|
||||
$link = '';
|
||||
$linkLabel = '';
|
||||
if(isset($menu['tabMenu'][$subMenuKey]))
|
||||
{
|
||||
foreach($menu['tabMenu'][$subMenuKey] as $tabMenuKey => $tabMenu)
|
||||
{
|
||||
list($linkLabel, $link) = $this->getMenuLink($tabMenu);
|
||||
if(!empty($link)) break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
list($linkLabel, $link) = $this->getMenuLink($subMenu);
|
||||
}
|
||||
|
||||
/* Set link. */
|
||||
if(!empty($menuOrder))
|
||||
if(!empty($link))
|
||||
{
|
||||
$menu['subMenu'][$subMenuKey]['link'] = $linkLabel;
|
||||
if(empty($menu['link']))
|
||||
{
|
||||
$menu['link'] = $link;
|
||||
$menu['disabled'] = false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
unset($this->lang->admin->menuList->feature['subMenu'][$subMenuKey]);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if(!empty($menu['link']) and strpos($menu['link'], '|') !== false)
|
||||
{
|
||||
$subMenuKey = reset($menuOrder);
|
||||
list($label, $module, $method, $params) = explode('|', $menu['subMenu'][$subMenuKey]['link']);
|
||||
$menu['link'] = helper::createLink($module, $method, $params);
|
||||
list($module, $method) = explode('|', $menu['link']);
|
||||
$menu['link'] = helper::createLink($module, $method);
|
||||
if(common::hasPriv($module, $method)) $menu['disabled'] = false;
|
||||
}
|
||||
}
|
||||
if(empty($menuOrder) and empty($menu['link'])) $menu['disabled'] = true;
|
||||
|
||||
$order = $menu['order'];
|
||||
$orders[$order] = $menuKey;
|
||||
@@ -334,6 +352,43 @@ class adminModel extends model
|
||||
$this->lang->admin->menuList = $menuList;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get menu link.
|
||||
*
|
||||
* @param array $menu
|
||||
* @access public
|
||||
* @return array
|
||||
*/
|
||||
public function getMenuLink($menu)
|
||||
{
|
||||
$link = '';
|
||||
$linkLabel = '';
|
||||
if(!empty($menu['link']))
|
||||
{
|
||||
list($label, $module, $method, $params) = explode('|', $menu['link']);
|
||||
if(common::hasPriv($module, $method))
|
||||
{
|
||||
$linkLabel = $menu['link'];
|
||||
$link = helper::createLink($module, $method, $params);
|
||||
}
|
||||
elseif(!empty($menu['links']))
|
||||
{
|
||||
foreach($menu['links'] as $menuLink)
|
||||
{
|
||||
list($module, $method, $params) = explode('|', $menuLink);
|
||||
if(common::hasPriv($module, $method))
|
||||
{
|
||||
$linkLabel = $label . '|' . $menuLink;
|
||||
$link = helper::createLink($module, $method);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return array($linkLabel, $link);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get menu key
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user