rules помогите разобраться

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

Аватар пользователя Ekaterina23 Ekaterina23 17 августа 2014 в 15:33

нужно при регистрации назначать роль пользователям в зависимости от возраста. при регистрации пользователь указывает дату рождения, возраст считаю через computed_field.

создала правило при сохранении учтенной записи. как назначить нужную роль разобралась.
а вот как сравнить возраст? в condition есть "сравнение данных", но там сравниваются только данные из полей.
как сравнить данные из поля с числом?

и второй вопрос, есть действие "удалить пользователя" на отметку флагом? нашла только действие "заблокировать пользователя".

Комментарии

Аватар пользователя vortex vortex 18 августа 2014 в 17:54

Старик!
Молодёжь, епт.
Молокосос...

Хехе

По существу не важно что в "сравнении данных" значение поля или число.

Удалить нельзя на прямую. Если у Вас будет не миллион пользователей, то блокируйте или присваивайте роль "на удаление". А потом ручками по фильтру "на удаление" убивайте.

Или как-нибудь так, но способ меня смущает.

{ "rules_role_per_age" : {
    "LABEL" : "\u0420\u043e\u043b\u044c \u043f\u043e \u0432\u043e\u0437\u0440\u0430\u0441\u0442\u0443",
    "PLUGIN" : "reaction rule",
    "OWNER" : "rules",
    "REQUIRES" : [ "rules" ],
    "ON" : { "user_insert" : [] },
    "IF" : [
      { "data_is" : { "data" : [ "account:field-age" ], "op" : "\u003E", "value" : "99" } }
    ],
    "DO" : [
      { "entity_delete" : { "data" : [ "account" ] } },
      { "drupal_message" : {
          "message" : "\u0421\u0422\u041e\u041b\u042c\u041a\u041e \u0412 \u042d\u0422\u041e\u0419 \u0421\u0422\u0420\u0410\u041d\u0415 \u041d\u0415 \u0416\u0418\u0412\u0423\u0422! \u0423\u043c\u0440\u0438 \u0431\u043e\u0442!",
          "type" : "error"
        }
      }
    ]
  }
}
Аватар пользователя Ekaterina23 Ekaterina23 10 ноября 2015 в 11:49

"vortex" wrote:
о существу не важно что в "сравнении данных" значение поля или число.

да ладно? число он не принимает.

Аватар пользователя vortex vortex 19 августа 2014 в 11:15

а на "больше" даёт.
Попробуйте "больше большего". Каждое следующее правило повышает роль. Жизненно получиться Smile