Мы постарались придумать и сделать не очень сложную, но при этом достаточно гибкую систему прав для модуля Документы, вот что у нас получилось.
Владелец - пользователь системы, который создал документ или папку. Любой начальник владельца имеет такие же права, как и сам Владелец.
Владелец папки имеет право:
- Изменять название папки.
- Удалять папку вместе со всем её содержимым на всю глубину, вне зависимости от прав на содержащиеся подпапки и документы.
- Изменять права на папку.
- Создавать и удалять любую подпапку или документ внутри.
- Право редактора (см. ниже) на любой документ внутри любой глубины вложенности.
Владелец папки НЕ имеет полных прав владельца содержащихся документов и подпапок, т.е. он не может менять права и названия, но может удалить.
Владелец документа имеет право:
- Изменять название документа и другие информационные поля (которые, возможно, не имеет права изменять редактор).
- Изменять права на документ.
- Удалять документ.
- Все права редактора документа (см. ниже).
- Право на изменение владельца
Любой начальник владельца и сам владелец может изменить владельца документа/папки на себя, либо на любого подчинённого.
Право создания (право на создание документов и подпапок внутри папки)
Это право можно задавать только для папки. Для документа оно бессмысленно.
Оно даёт право обладателю создавать любой документ или подпапку данной папки. При этом, очевидно, он становится владельцем соответствующего документа и папки.
Кроме того, пользователи, добавленные в список на право создания, будут автоматически добавляться в этот список при создании любой подпапки этой папки. Т.е. по умолчанию они будут обладать теми же правами для всех подпапок (вновь созданных). При этом это право для любой подпапки можно отобрать. Так же право создателя даёт возможность видеть эту папку и все её подпапки.
Право изменения (право на редактирование)
Если пользователь добавлен в список редакторов документа, то это означает, что он может создавать новые версии документа. Т.е. у него есть некие ограниченные права на редактирование документа. Эти права будут изменяться по ходу проработки модуля. Самое главное, что он не может удалить документ (если не является его владельцем).
Если пользователь добавлен в список редакторов папки, то это означает лишь то, что он будет автоматически добавляться в список редакторов вновь создаваемых документов и подпапок данной папки. При этом их можно будет исключить и, соответственно, забрать право на редактирование конкретного документа или подпапки. Это право НЕ означает возможности изменять название папки или удалять папку.
Естественно, что право изменения включает в себя право просмотра (см. ниже).
Право просмотра
Если пользователю дано право просмотра документа, то он может просматривать карточку документа и любую его версию. Возможно, когда сделаем обсуждение, у них будет ещё право писать комментарии. Те, у кого есть право просмотра видят документ в списке. И вообще не может быть так, что пользователь видит документ в списке, но не может увидеть карточку .
Если пользователь добавлен в список редакторов папки, то это означает лишь то, что ему будет автоматически даваться право просмотра вновь создаваемых документов и подпапок данной папки. При этом их можно будет исключить и, соответственно, забрать право на чтение конкретного документа или подпапки. Право на чтение папки также даёт возможность видеть её в списке верхнего уровня.
Правило приоритета прав на документ
Если у пользователя есть право на чтение некоего документа в какой-либо глубокой подпапке уровня N, то у него возникает право видеть весь этот глубокий путь по папкам вверх от документа. Т.е. права на документ являются превалирующими и не могут быть перекрыты правом (отсутствием права) на папку.
Как этим пользоваться
При создании папки можно просто создать папку (тогда создатель будет владельцем и все), а можно нажать ссылку "создать с правами" и сразу настроить права для папки
Чтобы отредактировать права у существующей папки - наведите мышку на название папки и справа от названия появится маленькая ссылка "править", нажмите на нее
Само окно редактирование прав на документ выглядит так
Читайте что такое автоматизация бизнес процессов в нашем блоге.