Доброго времени суток.
Помогите с решением проблемы.
Дано:
Есть пользователь (user) с ролью (role_x), он является автором материала (node) и заполняет обязательное поле(я) (field).
Все зарегистрированные пользователи системы(любых ролей), и сам автор, могут видеть содержимое этого поля. Автор может его изменять.
Пользователь (user) может быть автором нескольких разных типов материалов и поля могут иметь разные имена и типы данных.
А теперь самое интересное!
Администратор изменяет роль пользователя с role_x на role_y (в прямом смысле меняется окончание в название роли) и это должно повлечь за собой следующие изменения:
пользователь (user) все так же может видеть и изменять поле (field) в материале, где он автор, но остальные зарегистрированные пользователи не могут видеть это поле.
Это ограничение касается всех типов материалов в которых пользователь (user) является автором.
Т.е. в интересах пользователя (user) иметь роль (role_x), а не роль (role_y) для того, чтобы публиковать значение поля (field).
Нашел модуль field permissions, но мне он немного не подходит.
В нем есть ограничения на создание, редактирование и просмотр значения выбранного поля в зависимости от роли.
В моем же случае необходимо ограничить ПОКАЗ, а не просмотр значения в выбранном поле.
Предполагаю, что решение должно выглядеть как-то так.
При посещении материала зарегистрированным пользователем в темплейте для каждого типа материала запускать проверку роли (role_x или role_y) АВТОРА материала и затем ПОКАЗЫВАТЬ/скрывать определенные поля и их значения.
Т.е. писать кусок PHP кода и вставлять в каждый темплейт материалов, views(представлений), блоков и т.д или есть иное решение?
Надеюсь текст не показался сильно путаным. Если же так, то прошу в комменты с доп. вопросами. Очень нужна помощь в поиске решения!
Заранее благодарен.