diff --git a/layouts/basic/modules/Vtiger/menu/Label.tpl b/layouts/basic/modules/Vtiger/menu/Label.tpl index 668fd4a30adc..bc59c6025155 100644 --- a/layouts/basic/modules/Vtiger/menu/Label.tpl +++ b/layouts/basic/modules/Vtiger/menu/Label.tpl @@ -6,6 +6,14 @@ {else} {assign var=ACTIVE value='false'} {/if} + + {if $MENU_MODULE=='Settings::Vtiger'} + {assign var=SHOWITEMMENU value='true'} + {else} + {assign var=SHOWITEMMENU value=Vtiger_Menu_Model::isShowTopLevelMenuItem($MENU, $MENU_MODULE)} + {/if} + + {if $SHOWITEMMENU=='true'} + {/if} {/strip} diff --git a/modules/Vtiger/models/Menu.php b/modules/Vtiger/models/Menu.php index f8d6c4894440..04400f123eda 100644 --- a/modules/Vtiger/models/Menu.php +++ b/modules/Vtiger/models/Menu.php @@ -218,4 +218,33 @@ public static function getMenuIcon($menu, $title = '') } return ''; } + + /** + * @param $menu + * + * @return bool + */ + public static function isShowTopLevelMenuItem($menu) + { + if(isset($menu['childs']) && count($menu['childs'])>0) { + foreach ($menu['childs'] as $id=>$subMenu) { + + $privilegesModel = Users_Privileges_Model::getCurrentUserPrivilegesModel(); + if(\App\Module::isModuleActive($subMenu['mod'])==false) { + continue; + } + + if ($privilegesModel->isAdminUser() || + $privilegesModel->hasGlobalReadPermission() || + $privilegesModel->hasModulePermission($subMenu['tabid']) ) { + return true; + } + + } + + return false; + } + + return true; + } }