Доступ к редактированию через проверку поля

Главные вкладки

Аватар пользователя SALAT-PRODUCTION SALAT-PRODUCTION 6 октября 2015 в 10:24

Есть ли возможность проверять привилегии по определенному полю?
Например у меня в материале есть поле field_access связанное с юзерами, которое принимает ID юзера.
Как проверять доступ к редактированию материала через него (без костылей)? Хук, модуль?
В данный момент редактирование возможно, только если юзер указан в авторах.

Комментарии

Аватар пользователя SALAT-PRODUCTION SALAT-PRODUCTION 6 октября 2015 в 11:01

Нет, не подходит. Нужно сравнение по Entity reference.
Что то наподобие https://www.drupal.org/project/nodeaccess_userreference.

Чтобы было нагляднее:
Есть овер 10к материалов. (это я к тому, что вся инфа не ручками заполняется, а импортируется)
Есть овер 10к юзеров.
Каждый юзер может редактировать несколько материалов, также один материал могут редактировать несколько пользователей.
В материале есть поле "Редактор", которое берет значение из связи "Пользователи".
Так вот мне нужно проверять есть ли ID текущего авторизованного пользователя в поле "Редактор", просматриваемого материала и соответственно вывести ссылку "Редактировать".

Аватар пользователя gerboss gerboss 6 октября 2015 в 11:06

ясно, не совсем понял вопроса.

такого модуля не встречал, но можно разобрать какой-нибудь похожий модуль, типа content_access, заменив проверку роли, на проверку разрешенного ID пользователя

Аватар пользователя dashiwa dashiwa 6 октября 2015 в 20:51

"SALAT-PRODUCTION" wrote:
Есть овер 10к материалов. (это я к тому, что вся инфа не ручками заполняется, а импортируется)
Есть овер 10к юзеров.
Каждый юзер может редактировать несколько материалов, также один материал могут редактировать несколько пользователей.

Вы имеете ввиду систему доступа реализованную в таблице node_access ?

Зачем ковыряться? Есть некоторая база от которых они отталкиваются. Напишите более подробно,поковыряем