diff --git a/admin-dev/themes/default/template/controllers/employees/helpers/form/form.tpl b/admin-dev/themes/default/template/controllers/employees/helpers/form/form.tpl index e9a05e5f1..4b8f2f736 100644 --- a/admin-dev/themes/default/template/controllers/employees/helpers/form/form.tpl +++ b/admin-dev/themes/default/template/controllers/employees/helpers/form/form.tpl @@ -43,10 +43,14 @@ {elseif $input.type == 'default_tab'} {else} diff --git a/admin-dev/themes/default/template/nav.tpl b/admin-dev/themes/default/template/nav.tpl index 65a9c9da9..7bf623731 100644 --- a/admin-dev/themes/default/template/nav.tpl +++ b/admin-dev/themes/default/template/nav.tpl @@ -5,35 +5,31 @@ -{if $controller_name != 'AdminLogin'} + -{/if} + \ No newline at end of file diff --git a/classes/Tab.php b/classes/Tab.php index 94cb98de4..7084a5af0 100644 --- a/classes/Tab.php +++ b/classes/Tab.php @@ -232,12 +232,10 @@ class TabCore extends ObjectModel { self::$_cache_tabs[$id_lang] = array(); $result = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS(' - SELECT * - FROM `'._DB_PREFIX_.'tab` t - LEFT JOIN `'._DB_PREFIX_.'tab_lang` tl - ON (t.`id_tab` = tl.`id_tab` AND tl.`id_lang` = '.(int)$id_lang.') - ORDER BY t.`position` ASC - '); + SELECT * + FROM `'._DB_PREFIX_.'tab` t + LEFT JOIN `'._DB_PREFIX_.'tab_lang` tl ON (t.`id_tab` = tl.`id_tab` AND tl.`id_lang` = '.(int)$id_lang.') + ORDER BY t.`position` ASC'); foreach ($result as $row) { if (!isset(self::$_cache_tabs[$id_lang][$row['id_parent']])) @@ -252,6 +250,7 @@ class TabCore extends ObjectModel $array_all = array_merge($array_all, $array_parent); return $array_all; } + return (isset(self::$_cache_tabs[$id_lang][$id_parent]) ? self::$_cache_tabs[$id_lang][$id_parent] : array()); } diff --git a/classes/controller/AdminController.php b/classes/controller/AdminController.php index 37a5632ff..68b90619f 100644 --- a/classes/controller/AdminController.php +++ b/classes/controller/AdminController.php @@ -1441,7 +1441,9 @@ class AdminControllerCore extends Controller $current_id = Tab::getCurrentParentId(); foreach ($tabs as $index => $tab) { - if (($tab['class_name'] == 'AdminStock' && Configuration::get('PS_ADVANCED_STOCK_MANAGEMENT') == 0) || $tab['class_name'] == 'AdminCarrierWizard') + if (!checkTabRights($tab['id_tab']) + || ($tab['class_name'] == 'AdminStock' && Configuration::get('PS_ADVANCED_STOCK_MANAGEMENT') == 0) + || $tab['class_name'] == 'AdminCarrierWizard') { unset($tabs[$index]); continue; @@ -1490,10 +1492,6 @@ class AdminControllerCore extends Controller unset($sub_tabs[$index2]); } $tabs[$index]['sub_tabs'] = $sub_tabs; - - // If there are no subtabs, we don't want to display the parent tab in menu - if (empty($sub_tabs)) - unset($tabs[$index]); } if (Validate::isLoadedObject($this->context->employee)) diff --git a/install-dev/data/xml/tab.xml b/install-dev/data/xml/tab.xml index b11a8a870..e45958205 100644 --- a/install-dev/data/xml/tab.xml +++ b/install-dev/data/xml/tab.xml @@ -6,7 +6,7 @@ - + AdminDashboard