[Решено] Снятие материала с публикации, если его отредактировал автор

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

Аватар пользователя mozh mozh 28 июля 2015 в 17:00

Добрый день.
На сайте есть пользователи, которые могу добавлять материал.
Весь добавляемый материал имеет статус не опубликован.
Админ проверяет его и публикует.
Но пользователь имеет возможность отредактировать материал, следовательно после редактирования материал нужно снять с публикации, до проверки админом.
Снятие с публикации после редактирования сделал через rules, однако после моего правила материал не может опубликовать даже админ))
как быть?
Экспорт Правила

{ "rules_unpublish_author" : {
    "LABEL" : "unpublish author",
    "PLUGIN" : "reaction rule",
    "OWNER" : "rules",
    "REQUIRES" : [ "rules" ],
    "ON" : { "node_update--article" : { "bundle" : "article" } },
    "IF" : [
      { "user_has_role" : { "account" : [ "node:author" ], "roles" : { "value" : { "2" : "2" } } } }
    ],
    "DO" : [ { "node_unpublish" : { "node" : [ "node" ] } } ]
  }
}

скрин правила во вложении
Пытался создать правильно обратное только уже для админа, но материал после редактирования и сохранения все равно имеет статус не опубликован.
Принудительно в админке ставлю статус Опубликовано и все равно сбрасывается
Использовал эту инструкцию http://www.reinisfischer.com/drupal-rules-how-configure-journalist-and-e...

ВложениеРазмер
Иконка изображения 123.png20.98 КБ

Комментарии

Аватар пользователя EvgenySorokin EvgenySorokin 28 июля 2015 в 22:12

Допилил. Теперь должно работать все:

{ "rules_unpublish_author" : {
    "LABEL" : "unpublish author",
    "PLUGIN" : "reaction rule",
    "OWNER" : "rules",
    "REQUIRES" : [ "rules" ],
    "ON" : { "node_update--article" : { "bundle" : "article" } },
    "IF" : [
      { "NOT user_has_role" : {
          "account" : [ "site:current-user" ],
          "roles" : { "value" : { "3" : "3" } }
        }
      },
      { "user_has_role" : { "account" : [ "node:author" ], "roles" : { "value" : { "2" : "2" } } } }
    ],
    "DO" : [ { "node_unpublish" : { "node" : [ "node" ] } } ]
  }
}
Аватар пользователя mozh mozh 29 июля 2015 в 10:08

Спасибо! работает. Я так понимаю, что добавлено условие выполнения - Если текущий пользователь не админ, то снимаем. Следовательно если админ, то правило не выполняется

Аватар пользователя EvgenySorokin EvgenySorokin 29 июля 2015 в 10:24

Да просто добавлено исключение для админа.

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