Здравствуйте!
Дано: четырёх-ступенчатая иерархия, между которыми надо решить проблему прав доступа к материалу.
Высшее звено - могут могут иметь доступ куда угодно
Начальники отделов - имеют доступ к материалам своего отдела и секторов
Начальники секторов - видят только свой сектор (материалы всех служащих)
Служащие - только свои документы.
Ролями решить не получится, потому что отделов много, а секторов еще больше и число их не постоянное.
Любые мысли?
ps: если найдется исполнитель - буду рад!
контакты для связи:
Почта, Google Talk: alexey@dyomin.ru
ICQ: 29638538
skype: alexey_dyomin
Комментарии
Именно ролями и ничем другим.
Постоянные они или нет - не важно. Кому-то всё-равно придётся сидеть и права актуализировать - тем открыть, этим закрыть.
Даже если так, как я смогу дать для разных ролей возможность смотреть материал Page, созданный именно сотрудниками своего отдела, но не сотрудниками других отделов?
было бы идеально что-то типа мультиовнеров.. не знаю как это назвать, но чтобы у материала было несколько владельцев.
Например, можно создать словарь в таксономии, в нём описать как термины отделы, а права раздавать через модуль taxonomy_access - заметьте, это только один из возможных вариантов.
Да, я так и сделал.
Роли
Отдел 1
Отдел N
Начальник отдела
Начальник сектора
Сотрудник
добавил термины в новый словарь таксономии
Отдел 1
Отдел N
Отчасти работает, но все равно не получается сделать так, чтобы агенты видели только свои материалы, начальники - только материалы своего сектора, а директор - только своего отдела. При том, если добавляется для этих целей новый словарь Должностей
Начальник отдела
Начальник сектора
Сотрудник
то сотрудники могут видеть материалы в других отделах. потому что
например для роли сотрудник в TAC добавлен:
Ваша роль
по умолчанию D D D
CLСотрудник A A A C L
у одного материала таксономия
Подразделение = Отдел 1
Ваша Роль = Сотрудник
у другого материала таксономия
Подразделение = Отдел 2
Ваша Роль = Сотрудник
То все, кто имеет роль сотрудник, могут видеть оба материала.
Выход вижу - для каждого офиса делать по три роли.. но это невозможно!
После детального изучения, мне кажется единственный из очевидных.
Почему? И встречный вопрос - а каким тогда волшебным образом Друпал должен узнать, что вот этот сотрудник начальник ИМЕННО ЭТОГО отдела и ему можно то и это, а этот сотрудник - просто сотрудник ИМЕННО ЭТОГО отдела и ему можно только то?
Ну не единственный, есть ещё модуль "node access" или "content access"
Но вряд ли там вам будет проще.
Я планировал сделать перекрестные роли. Например у каждого человека две роли Должность и Отдел. Уже на порядок меньше ролей.
да и если делать для каждого отдела свою роль с должностью (отдел 1 - сотрудник, отдел 2 - сотрудник и так далее), - то уже и tac получается не нужен. тоже самое можно сделать стандартными пермишинсами.
может быть какие-то использовать модули не связанные на прямую с правами? например группы.