Запрет на редактирования опубликованных материалов

11 октября 2012 в 11:47

Есть 2 роли пользователей:
1) Журналист - может создавать ноды, только не опубликованные (нет прав на публикацию). Есть права на редактирования своих нод.
2) Выпускающий редактор - может опубликовать ноды созданные ролю Журналист.
ВОПРОС:
как запретить пользователям с роллю Журналист редактировать свои материалы если роль Выпускающий редактор опубликовал их материал. То есть нужно забрать права у Журналиста на редактирование материала (не всех) если Выпускающий редактор опубликовал их материал. Или (тоже другими словами) нужно сделать чтобы роль Журналист не могла редактировать опубликованные материалы.
Зарание спасибо, если нужно писать модуль подскажите где копать.

Комментарии

Решил, но криво.
Редактор ставит флаг "На главную" и нода помещается в расписание.
Включил правило "после сохранения ноды если стоит флаг на главную и пользователь не редактор, то не сохранять ноду и выводить сообщение".
В результате пользователь может отредактировать ноду, которая прошла модерацию, но при сохранении нода не сохраняется и выдается сообщение, "извини, друг".
Не очень клиентоориентированно, но как сделать так, чтобы нода даже не открывалась на редактирование, которая прошла модерацию, я не знаю.

26 сентября 2014 в 15:40

Для Rules есть модуль для анализа урла..

https://www.drupal.org/project/pathrules

Событие: Инициализация друпал
Условия:
Если урл начинается на 'node' и заканчивается на 'edit'
Если пользователь не имеет соответствующей роли
Действие:
Переадресовать на нужную страницу и вывести сообщение

вкраце как-то так..

26 сентября 2014 в 16:58

"orion76" wrote:
Событие: Инициализация друпал
Условия:
Если урл начинается на 'node' и заканчивается на 'edit'
Если пользователь не имеет соответствующей роли
Действие:
Переадресовать на нужную страницу и вывести сообщение

спасибо!

22 декабря 2014 в 12:50