Детали задачи
-
История
-
Решение: Готово
-
Medium
-
Не заполнено
-
Не заполнено
-
Не заполнено
-
23.09-07.10, 02.12-16.12, 16.12-30.12, 19.05-02.06
Описание
Доработать UISERV следующим образом:
Ограничение действия меню по рабочим пространствам
1. Добавить в меню поле workspaceRef с типом EntityRef (в Record при чтении, в Record при мутации, в Entity)
2. В MenuRecords и MenuService при поиске меню добавить обработку поля workspaces в RecordsQuery (добавляется в https://jira.citeck.ru/browse/ECOSCOM-5572 ). Если workspaces пустое, то ищем меню, у которых workspaceRef пустой. Если workspaces не пустое, то:
2.1 Ищем конфиг меню среди тех что имеют указанные workspaces
2.2 Если не нашли и среди workspaces есть персональный workspace (id начинается на user$), то возвращаем конфиг default-personal-workspace
2.3 Если среди workspaces нет персонального workspace, то возвращаем default-workspace
3. При попытке изменить меню default-workspace или default-personal-workspace смотрим на атрибут _workspace (EntityRef). Если он пустой, то проверяем что пользователь админ или система. Если нет, то ошибка - access denied. Если атрибут _workspace не пустой, то проверяем что текущий пользователь имеет к нему доступ (можно через WorkspaceService из задачи https://jira.citeck.ru/browse/ECOSCOM-5572 ). Если доступ есть, то создаем новое меню склонировав конфигурацию из "default-*".
Поддержка возможности импорта конфигурации из одного меню в другое
1. Добавить в ResolvedMenuRecords поддержку нового типа элемента меню INCLUDE_MENU. В конфигурации этого типа должна быть ссылка menuRef, которая ведет на другое меню в системе.
1.1 Нужно взять из menuRef то же subMenu что и в данный момент обрабатывается (т.е. если мы в left нашли INCLUDE_MENU, то из целевого меню нужно так же взять subMenu.left).
1.2 Вставить все элементы меню из menuRef в наше текущее меню вместо пункта INCLUDE_MENU
Добавить в ecos-model вспомогательные типы
1. ** workspace-file унаследованный от doclib-file без доп. атрибутов
2. kanban-task "задача канбан" без родителя со статусами "Новая", "В работе", "Завершена" (список статусов нужно будет отдельно согласовать). workspaceScope у типа должен быть PRIVATE.
Добавить дефолтные конфигурации меню{}
1 Создать меню default-tasks и добавить туда все пункты из раздела "Задачи" в дефолтном меню включая сам раздел.
2. Создать меню default-data-lists и добавить туда все пункты из раздела "Справочники" в дефолтном меню включая сам раздел.
3. Создать меню default-personal-workspace в которое добавить задачи (default-tasks) через пункт INCLUDE_MENU и раздел "Разделы" куда добавить ссылку на doclib с типом workspace-file. Так же добавить ссылку на канбан доску kanban-task.
4. Создать меню default-workspace в которое добавить задачи (default-tasks) через пункт INCLUDE_MENU и раздел "Разделы" куда добавить ссылку на doclib с типом workspace-file. Так же добавить ссылку на канбан доску kanban-task.
Вложенные файлы
Вложенные файлы
1.
|
UI Bugs. Add workspace support for menu |
|
Готово | Alexandr Taushkanov |
|