Загрузить изображение для проекта: 'Citeck Community'
  1. Citeck Community
  2. ECOSCOM-5573

Add workspace support for menu

    XMLWordДля печати

Детали задачи

    • Icon: История История
    • Решение: Готово
    • Icon: Medium Medium
    • Community 2024.10
    • Не заполнено
    • Не заполнено
    • Не заполнено

    Описание

      Доработать 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. image-2024-12-03-11-23-42-580.png
          4 kB
          Irina Prudnikova
        2. image-2024-12-10-17-30-26-098.png
          31 kB
          Irina Prudnikova
        3. image-2024-12-10-17-33-11-156.png
          32 kB
          Irina Prudnikova
        4. image-2024-12-10-17-36-34-723.png
          52 kB
          Irina Prudnikova
        5. image-2024-12-11-11-18-51-203.png
          35 kB
          Irina Prudnikova
        6. image-2024-12-20-16-29-51-337.png
          18 kB
          Irina Prudnikova
        7. image-2024-12-20-16-29-59-181.png
          10 kB
          Irina Prudnikova

        Активность

          Люди

            alexey.shlaikov@citeck.ru Alexey Shlaikov
            pavel.simonov@citeck.ru Pavel Simonov
            Голоса:
            0 Голосовать за эту задачу
            Наблюдатели:
            3 Начать наблюдение за этой задачей

            Даты

              Создано:
              Обновленo:
              Дата решения:

              Учет времени

                Оценка:
                Первоначальная оценка - 1 день Первоначальная оценка - 1 день
                1d
                Осталось:
                Оставшееся время - 0 минуты
                0m
                Затрачено:
                Затраченное время - 2 дни, 5 часы
                2d 5h