Настройка главного меню¶
Содержание
Справочник «Дерево меню»¶
В Системе необходимо настроить отображение и доступность элементов главного меню в зависимости от прав пользователя с той или иной ролью. Настройки выполняются в системном справочнике «Дерево меню», который расположен в общем списке всех справочников Системы. Также к редактированию этого справочника можно перейти по ссылке: http://url_стенда/registry/set/-3800/.
В справочнике «Дерево меню» представлены в качестве элементов все существующие на данный момент пункты меню. Здесь, как в обычном справочнике, можно добавлять и удалять элементы. Соответственно, возможно создать из главного меню ссылку на любое место Системы и настроить то, какие пользователи будут иметь доступ к этой ссылке.
Общий порядок настройки меню для пользователя¶
Общий порядок настройки меню Системы для конкретного пользователя включает в себя следующие шаги:
- Создать группы показателей, форм, реестров, отчетов, дашбордов, доступные для предполагаемого пользователя (см. подраздел «Создание и редактирование справочников»).
- Создать роль, которой дать доступ на чтение (и запись) указанных выше групп (см. подраздел «Роли пользователей»).
- Создать пользователя, которому присвоить настроенную роль. При необходимости присвоить другие роли (см. подраздел «Пользователи Системы»).
- В справочнике «Дерево меню» настроить видимость элементов, уже существующих в Системе, или создать и настроить новые. По умолчанию в справочнике «Дерево меню» уже настроено меню для системных ролей, но оно может не подойти в каждой конкретной ситуации.
- Проверить отображение меню для созданного пользователя, войдя в Систему под тестовой учетной записью, для которой заданы те же права доступа, что и для данного пользователя.
Стандартный вариант главного меню Системы¶
При развертывании Системы создается стандартное главное меню.
Поля «Выбранные роли», «Показывать» автоматически не заполняются, по умолчанию глобальному администратору (admin) доступны все пункты меню. Глобальный администратор настраивает доступ к разделам меню в соответствии с функциональными задачами пользователей Системы.
Настройка элемента справочника¶
Для того, чтобы настроить уже существующий элемент, необходимо нажать на нужное поле в строке справочника.
Для настройки доступны следующие поля элемента справочника:
- «Название» - название текущего элемента меню.
- «Верхний узел меню» - узел верхнего уровня для элемента.
- «URL» - адрес страницы Системы, которую нужно отобразить в данном пункте меню.
- «Активно если (регулярное выражение)» - пункт меню становится активным (см. подраздел «Регулярные выражения»).
- «Выбранные роли» - роли, которым разрешено видеть данный пункт меню (флаги следует установить напротив ролей, которым будет доступен элемент).
- «Код пункта меню» - обозначение картинки, которая будет показана около наименования пункта меню. Картинки и коды расположены по ссылке: https://fontawesome.com/v4.7.0/icons/.
- «Показывать» - разграничение прав доступа к элементу меню пользователей.
- «Порядковый номер» - номер пункта меню, влияющий на порядок отображения элементов в нем.
- «Ссылка на создание объекта?» - отметка, означающая, что данный пункт меню требуется отображать не словами в общем списке, а в виде знака «Плюс» около родительского элемента (например, «Новый отчет»).
После того, как элемент настроен, необходимо нажать на кнопку «Сохранить».

Регулярные выражения¶
Применение регулярных выражений позволяет пользователю понять, какой пункт меню открыт в текущий момент.

Общепринятые по умолчанию в Системе регулярные выражения, изначально присвоенные элементам меню:
^/(user|role|objects|logs|sysinfo|adapters)
Вертикальная черта между пунктами меню обозначает группировку объектов, при выборе которых данный элемент меню будет активен.
Если в URL объекта содержится больше одного слова:
/finder/registries/
то при записи в окно регулярного выражения их нужно будет описать с обратным слешем ( \ - символ экранирования).
Вид преображенных выражений:
^(\\/finder\\/registries/)
Если требуется активировать пункт меню только для определенного объекта с ID, то следует записать выражение:
(/ID)
Для активирования специально созданного объекта меню, позволяющего просмотреть последние задания сбора по организациям для контролера сбора, нужно в шаблоне сбора выяснить URL, который ведет к его последним заданиям (в шаблоне сбора нажать на кнопку «Последние задания шаблона»), и скопировать его в пункт URL и «Активно». В пункте «Активно» нужно будет его привести к виду:
(\\/collect\\/template_tasks\\/list\\/-500\\/N-задания/)
Если какой-либо элемент, содержащий в своем названии ключевые слова, должен отображаться только в одном пункте меню, а ключевые слова содержатся в нескольких URL (например, пользователю доступен раздел меню группы реестров и необходимо создать в меню еще один пункт, ссылающийся на другие группы реестров), то перед названием группы, которая должна отображаться отдельно, прописывается в основном пункте реестров установленный символ «?!». Он обозначает, что данную группу объектов пункт меню отображать не должен.
Создание нового элемента¶
Для создания нового элемента необходимо:
- Создать новый пункт меню в корневом элементе (в справочнике «Дерево меню»).
- Указать название элемента, в поле URL записать адрес нужного элемента (отображается в строке адреса браузера).
- Задать регулярное выражение и выбрать роли, которым будет доступен новый пункт меню (например: роль - «Сбор: исполнитель», показывать - «Выбранным ролям и администраторам». Никто, кроме исполнителя сбора и администратора, не увидит данного пункта меню).
- Дополнительно можно настроить поля:
- «Код пункта меню» - задать картинку пункта меню.
- «Порядковый номер» - задать расположение пункта меню.
- «Ссылка на создание объекта?» - является ли новый элемент ссылкой на создание объекта.

Особенности работы меню при отсутствии прав на доступ к элементу¶
При входе в Систему проверяется доступность личного кабинета по дереву меню (не учитывая корень дерева). Если страница «Личный кабинет» не доступна данному пользователю, то происходит переход на первый доступный в дереве меню узел (поиск ведется в ширину, т.е. сначала проверяются все дочерние узлы корневого узла, потом все узлы второго уровня, потом все узлы третьего и т.д.).