Workflow + Rules - менять статус если нет перехода такого

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

Аватар пользователя Nikolas Nikolas 2 ноября 2015 в 13:56

Использую Workflow модуль и Rules для изменения статусов по разным действиям - создание материала со взаимосвязью, изменение статуса другого материала.
столкнулся с такой проблемой - надо поменять статус, но пользователи не должны иметь прав менять его вручную - только выполним условие которое запустит правило и оно изменит статус.
и тут делема - под админом у которого есть все разрешения на любой переход все работает четко, а под пользователем, который не может данный переход делать не работает.
и еще один момент - с другим материалом такое сработало, но условие там - добавление взаимосвязи.
а тут условие - изменение статуса другого контента (который разрешено делать) и не работает.
есть ли возможность обойти права и выполнить правило под другим пользователем или например с другими правами?

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

Комментарии

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

У компонентов есть настройка ролей:

Можно попробовать сделать компонент с нужным действием и настройками роли, и его уже выполнять в правиле.

Еще можно поэкспериментировать с пользователем, добавить uid = 1 и от него выполнять правило. Правда не уверен что без кода обойтись получится.

Аватар пользователя Nikolas Nikolas 3 ноября 2015 в 0:23

с выставлением прав не работает Sad
добавление роли пользователя работает, но если тут же в правиле прописать снятие роли пользователя и вроде и стоит по порядку - добавить, поменять статус - снять, но не работает Sad

Аватар пользователя Nikolas Nikolas 3 ноября 2015 в 11:52

сделал пока так:
добавляем роль (отдельная роль только для смены статуса), меняем статус и планируем компонент со снятием роли, который сработает в течении минуты (крон каждую минуту).
как-то так.
думаю за минуту не каждый заметит изменений. как меньше минуты сделать запуск крона не нашел. использую Elysia Cron