Правила Drupal 7 - проверьте, было ли изменено поле в базе данных CRON - PullRequest
0 голосов
/ 30 апреля 2019

Я использую фактически регистрационную сущность для проекта.Регистрация следует за определенным процессом с электронной коммерцией.

На самом деле мне нужно сделать следующее:

  • , чтобы присвоить статус "отменено" регистрациям, которые имеют статус "завершено" через 30 минут
  • , чтобы дать«полный» статус для регистрации, которые находятся в «списке ожидания»

Для этого я создал 2 компонента и правило:

  • первый позволяет установить новое значение данныхна регистрацию (Выбранные данные: регистрация: состояние - Значение: отменено)
  • вторая позволяет запланировать оценку компонента на предыдущем компоненте с ожидаемой задержкой в ​​30 минут
  • наконец, правило запускаетсяпосле сохранения новой регистрации с условием, основанным на «НЕ существует сущность по свойству», которое имеет значение «списка ожидания», а действие - это набор действий, который планирует оценку компонента через 30 минут.

Вот мое "базовое правило":

{ "rules_schedule_registration_management_after_30_minutes" : {
    "LABEL" : "Schedule registration management after 30 minutes",
    "PLUGIN" : "reaction rule",
    "OWNER" : "rules",
    "TAGS" : [ "Registration" ],
    "REQUIRES" : [ "commerce", "rules", "registration" ],
    "ON" : { "registration_insert" : [] },
    "IF" : [
      { "NOT entity_exists" : { "type" : "registration", "property" : "state", "value" : "waitlist" } }
    ],
    "DO" : [
      { "component_rules_setcron_30_minutes" : { "registration" : [ "registration" ] } }
    ]
  }
}

Эта часть работает нормально, но мне нужно определить второе правило, касающееся регистраций, которые были в "списке ожидания" и являютсясо статусом «Завершено».Я должен:

  • отправить письмо, когда их статус меняется с «списка ожидания» на «завершено»
  • установить их как «отмененные» через 24 часа

Здесь я полностью застрял.Спасибо за вашу помощь

...