Доброго времени суток всем.
Помогите пожалуйста разобраться.
Необходимо реализовать достаточно не хитрую систему доступа к ноде.
Не зарегистрированные пользователи могут только создавать ноду. Редактировать может только определенная группа, но каждый пользователь из этой группы имеет возможность в меню редактирования ноды привязать ее к себе. После чего редактировать ее может только он ну и администратор.
На данный момент я выставил только стандартные привилегии в связке с Content Permissions CCK. Создавать ноду могут все даже анонимы, в ноде через CCK стоит referens на пользователя который видят все кроме анонима. редактировать ноду могут только зарегистрированные и администраторы. зарегистрированные и администраторы могут привязать к ноде пользователя по refence.
Проблема в том как запретить пользователям группы зарегистрированные редактировать ноду если к ней через reference прикреплен пользователь этой группы. Права редактирования ноды должны быть только у него и админа.
Проще говоря есть объект который создавать могут все, а привязывать к себе только маклера. Но необходимо чтобы Маклера не могли бы редактировать объекты чужих маклеров,а только свободные.
Подскажите в какую сторону капать? Как в друпале распределяются права доступа? Быть может ест модуль который мне поможет?
Комментарии
ммм не совсем. нужно както ограничить доступ к редактированию ноды в зависимости от поля CCk ,а именно по User reference. Если User reference нет то все как по стандартным правилам, а если есть тогда может редактировать только тот кто выбран в User reference ну или группа administrators.
http://drupal.org/node/264238
Ключевой кусок:
if ($user->uid == $author['uid']) {
$is_allowed = TRUE;
break;
}
}
Под 6 он работает, я лично это же решение использовал для сходной задачи.
И вот это почитай.