Массовое действие над представлениями работает только для роли администратора?


У меня есть представление с полем 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"
        }
      }
    ]
  }
}
Author: chefnelone, 2012-12-31

2 answers

Если вы используете разрешения на действия, в разделе Администратор > Люди> Разрешения, дважды проверьте, включено ли разрешение "Выполнить имя действия" для роли(ролей).

Также может быть, что роли пользователя требуется разрешение для оценки этого php-кода в правиле, а также, возможно, требуется разрешение userpoints на предоставление баллов.

Наконец, проверьте разрешения пользователя модуля "Правила", а также в форме редактирования для действий с самим правилом.

 1
Author: David Thomas, 2013-01-01 11:32:19

Решено, но с некоторыми последствиями.

Проблема заключалась в том, что мне нужно было включить разрешение на редактирование узлов, перечисленных в представлении (тип содержимого ваучеров).

Я сделал это, но теперь у этой роли будет разрешение на редактирование этого типа узла, и это не то, что мне нужно.

Я понимаю, что vbo нуждается в этом разрешении, потому что оно предполагает, что пользователь выполнит действие в узле, но это не моя ситуация, мне нужно действие, чтобы просто прочитать значение узла (поле labpoints), а затем выполните действие в информации о пользователе (вычесть) (пользовательские точки пользователя). Поэтому мне вообще не нужно, чтобы у пользователя было разрешение на редактирование узла.

Думаю, я буду использовать модуль разрешений на поля, чтобы сузить разрешения для этого типа контента.

 1
Author: chefnelone, 2013-01-02 15:25:34