Массовое действие над представлениями работает только для роли администратора?
У меня есть представление с полем VBO для выполнения массовой операции над узлами.
Основная операция для этого поля VBO - это компонент правила (который я создал) Получить ваучер
Этот компонент выполняет некоторые действия.
Теперь в представлении я могу выполнить VBO, только если я зарегистрирован как администратор. Но не с какой-либо другой ролью.
Я удостоверяюсь, что разрешение на все действия включено. Но действие для компонента Получает Ваучер здесь не указан.
Отображается кнопка для массовой операции, но когда я нажимаю на нее, ничего не происходит.
Какое еще разрешение мне нужно включить?
ОБНОВЛЕНИЕ 1: Я знаю, что проблема связана с действиями, выполняемыми в компоненте. Вот экспортированный компонент
ОБНОВЛЕНИЕ 2: попытка использовать более простой компонент (всего одно действие для отображения сообщения)
{ "rules_test_registered_user" : {
"LABEL" : "test registered user",
"PLUGIN" : "rule set",
"REQUIRES" : [ "rules" ],
"ACCESS_EXPOSED" : "1",
"USES VARIABLES" : { "node" : { "label" : "Node", "type" : "node" } },
"RULES" : [
{ "RULE" : {
"DO" : [ { "drupal_message" : { "message" : " Hello" } } ],
"LABEL" : "first rule"
}
}
]
}
}
2 answers
Если вы используете разрешения на действия, в разделе Администратор > Люди> Разрешения, дважды проверьте, включено ли разрешение "Выполнить имя действия" для роли(ролей).
Также может быть, что роли пользователя требуется разрешение для оценки этого php-кода в правиле, а также, возможно, требуется разрешение userpoints на предоставление баллов.
Наконец, проверьте разрешения пользователя модуля "Правила", а также в форме редактирования для действий с самим правилом.
Решено, но с некоторыми последствиями.
Проблема заключалась в том, что мне нужно было включить разрешение на редактирование узлов, перечисленных в представлении (тип содержимого ваучеров).
Я сделал это, но теперь у этой роли будет разрешение на редактирование этого типа узла, и это не то, что мне нужно.
Я понимаю, что vbo нуждается в этом разрешении, потому что оно предполагает, что пользователь выполнит действие в узле, но это не моя ситуация, мне нужно действие, чтобы просто прочитать значение узла (поле labpoints), а затем выполните действие в информации о пользователе (вычесть) (пользовательские точки пользователя). Поэтому мне вообще не нужно, чтобы у пользователя было разрешение на редактирование узла.
Думаю, я буду использовать модуль разрешений на поля, чтобы сузить разрешения для этого типа контента.