Помогите составить правило (Rules)

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

Аватар пользователя lipinart lipinart 20 января 2015 в 12:34

Помогите составить правило.
При создании или изменении ноды.
Проверить количество userpoints у автора и сравнить с переменной [price]:
- если поинтов достаточно - списать [price] и опубликовать ноду.
- если не достаточно - редирект на страницу "Пополнить баланс"

В селекторе данных не могу найти ничего подходящего. Буду очень благодарен даже за ссылку.

Комментарии

Аватар пользователя MasterDzen MasterDzen 21 января 2015 в 9:45

почему бы не сделать редирект на страницу "пополнить баланс" в пхп условии кондишена?
публикация ноды и списание будет в экшенах.

Аватар пользователя amator amator 21 января 2015 в 18:11

Могу дать патч, который добавит в Условия собственно следующее условие: "Check how many points a user has", то есть условие даёт возможность проверить количество Очков в определённой категории.
Например:
Пользователь
node:author
Points category
General
Пороговое значение
50
Comparison
Больше либо равно

В остальном помочь не могу...

Аватар пользователя amator amator 10 ноября 2015 в 11:50

"lipinart" wrote:
Спасибо, amator. Можете на почту lipinart@mail.ru или линк сюда кинуть?

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

Аватар пользователя amator amator 22 января 2015 в 14:35

"amator" wrote:
Держи. Тут собственно даже не патч, а готовый файл, закинешь его в папку с модулем, с заменой файла и не забудь очистить кэш в друпале, чтобы увидеть изменения.

Да. Забыл сказать. Закинуть надо в папку модуля Userpoints.

Аватар пользователя lipinart lipinart 23 января 2015 в 13:56

Нешел таки модуль Conditional Rules, который позволяет добавить условия прямо в действие с помощью конструкций if-else, switch и while.

Настроение поднялось и задача усложнилась:
Добавилось поле "Срок публикации" типа integer, где пользователь может указать 1,2,3 или 4 недели.
Соответственно и количество поинтов будет варироваться.

И тут засада. Если нода отработала (была оплачена и провисела указаный срок на сайте), а пользователь решил позобновить (не создавать же ему новую ноду). И ситуация когда нода еще не отработала указанный срок и пользователь изменил значение поля "Срок публикации"

Получается нужно создать 3 разных правила на каждую ситуацию. Буду экспериментировать, позже отпишусь.