Задача [PROJECTS3]: Доработки по правам на портфель

Формулировка проблемы: в результате реализации задачи 66 итерации «Разграничение прав доступа к проекту на уровне мероприятий» было разделено определение прав на проект от прав на портфель. Необходимо вернуть данный функционал.

Решение: необходимо исправить описанную проблему следующим образом.

Во-первых, назначение любого набора прав на портфель проектов должно автоматически давать право на чтение всех проектов первого уровня вложенности в данном портфеле. Если у пользователя уже имеется право чтения вложенного проекта, то вновь назначать такое право ему не нужно.

Изменение набора прав (включили / выключили флажок) не изменяет данному пользователю набор прав на вложенные проекты.

Во-вторых, удаление прав на портфель не удаляет права данного пользователя на вложенные проекты. Таким образом, чтобы пользователь более не видел ни портфеля, ни всех его вложенных проектов, необходимо удалить не только права на портфель, но и на каждый его вложенный проект.

В-третьих, вновь создаваемые проекты должны наследовать права от ближайшего портфеля, в котором создается данный проект. Таким образом, после создания проекта в списке прав будет не только владелец проекта со всеми правами, но и те пользователи с правом на чтение, у которых есть права на родительский портфель.