]> gitweb.erp-flowers.ru Git - erp24_rep/yii-erp24/.git/commitdiff
[ERP-188] Добавлена опция отображения меню, чтобы скрыть меню не лишая прав доступа
authorAlexander Smirnov <fredeom@mail.ru>
Tue, 17 Sep 2024 11:06:30 +0000 (14:06 +0300)
committerAlexander Smirnov <fredeom@mail.ru>
Tue, 17 Sep 2024 11:06:30 +0000 (14:06 +0300)
erp24/records/CrmMenu.php
erp24/views/auth/menu.php
erp24/web/js/site/get_menu.js

index 68e03924f92251b935cc10d9593c02c02d5094b5..1dd573ac7dd6901f7c0b577cb1b37027a9d0b51d 100755 (executable)
@@ -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 = [];
index b1e686252ea9a0617e25da0a17b12b5fe394bf08..d090cdb544add0de10b6b8f1a55a89ee77eebda5 100644 (file)
@@ -79,6 +79,8 @@ $this->registerJsFile('/js/auth/menu.js', ['position' => \yii\web\View::POS_END]
 
 <?php PrintBlockHelper::printBlock('Свернутое меню', $form->field($menu, 'menu_close')->checkbox([], false)->label(false)) ?>
 
+<?php PrintBlockHelper::printBlock('Выводить меню', $form->field($menu, 'visible')->checkbox([], false)->label(false)) ?>
+
 <?php PrintBlockHelper::printBlock('Список', $form->field($menu, 'dynamic_list')
     ->dropDownList($dynamic_list)->label(false)) ?>
 
index 90923e034ad8ba511b2fd370b7af9a33b9993ff9..7229f35b5dd5301685970dcab32d36e82d9ffd23 100644 (file)
@@ -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');