From: Alexander Smirnov Date: Tue, 17 Sep 2024 11:06:30 +0000 (+0300) Subject: [ERP-188] Добавлена опция отображения меню, чтобы скрыть меню не лишая прав доступа X-Git-Tag: 1.5~9^2~1 X-Git-Url: https://gitweb.erp-flowers.ru/?a=commitdiff_plain;h=446e8fe0f95e52d0b326f54f11c21739c418ccca;p=erp24_rep%2Fyii-erp24%2F.git [ERP-188] Добавлена опция отображения меню, чтобы скрыть меню не лишая прав доступа --- diff --git a/erp24/records/CrmMenu.php b/erp24/records/CrmMenu.php index 68e03924..1dd573ac 100755 --- a/erp24/records/CrmMenu.php +++ b/erp24/records/CrmMenu.php @@ -79,7 +79,7 @@ class CrmMenu extends ActiveRecord public static function getTreeByUserId($admin_id): array { $permissions = array_keys(\Yii::$app->authManager->getPermissionsByUser($admin_id)); - $all = self::find()->select(['id', 'parent_id', 'name', 'icon_file', 'url']) + $all = self::find()->select(['id', 'parent_id', 'name', 'icon_file', 'url', 'visible']) ->orderBy('posit') ->all(); $tree = []; diff --git a/erp24/views/auth/menu.php b/erp24/views/auth/menu.php index b1e68625..d090cdb5 100644 --- a/erp24/views/auth/menu.php +++ b/erp24/views/auth/menu.php @@ -79,6 +79,8 @@ $this->registerJsFile('/js/auth/menu.js', ['position' => \yii\web\View::POS_END] field($menu, 'menu_close')->checkbox([], false)->label(false)) ?> +field($menu, 'visible')->checkbox([], false)->label(false)) ?> + field($menu, 'dynamic_list') ->dropDownList($dynamic_list)->label(false)) ?> diff --git a/erp24/web/js/site/get_menu.js b/erp24/web/js/site/get_menu.js index 90923e03..7229f35b 100644 --- a/erp24/web/js/site/get_menu.js +++ b/erp24/web/js/site/get_menu.js @@ -15,6 +15,9 @@ function loadMenu(menu) { ul.setAttribute('id', 'main_menu_l'); $.each(menu[0], function(ind) { var mass = this; + if (!mass.visible) { + return; + } let li = document.createElement('LI'); li.classList.add('slide'); let a = document.createElement('A'); @@ -40,6 +43,9 @@ function loadMenu(menu) { ul2.classList.add('slide-menu'); $.each(menu[mass.id], function(ind2) { let mass2 = this; + if (!mass2.visible) { + return; + } let li2 = document.createElement('LI'); let a2 = document.createElement('A'); li2.appendChild(a2); @@ -65,6 +71,9 @@ function loadMenu(menu) { ul3.classList.add('sub-slide-menu2'); $.each(menu[mass2.id], function(ind3) { let mass3 = this; + if (!mass3.visible) { + return; + } let li3 = document.createElement('LI'); let a3 = document.createElement('A'); a3.classList.add('sub-slide-item2');