RULES/ Правило для конкретного пользователя по id

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

Аватар пользователя Happy Smile Happy Smile 30 мая 2018 в 13:39

ВСЕМ СНОВА ПРИВЕТ! Давно не виделись )))

Так вот, создаю я правило в модуле Rules и мне нужно создать правило для конкретного пользователя, но там только есть - *Пользователь имеет роль(и)* и все, а как все таки сделать *Пользователь имеет id*?

Заранее очень благодарна!

Лучший ответ

Аватар пользователя bumble bumble 30 мая 2018 в 14:31
1
  • Добавляете условие "Data comparison" (сравнение данных)
  • В качестве источника пользователя - "site:current-user:uid" (или другой пользователь из контекста)
  • Оператор - "equals" (равно)
  • Значение - UID нужного юзера

Сравнение данных

Можете импортировать, для примера:

{ "rules_test_node" : {
    "LABEL" : "Test node",
    "PLUGIN" : "reaction rule",
    "OWNER" : "rules",
    "REQUIRES" : [ "rules" ],
    "ON" : { "node_insert--test" : { "bundle" : "test" } },
    "IF" : [
      { "data_is" : { "data" : [ "site:current-user:uid" ], "value" : "1" } }
    ],
    "DO" : []
  }
}

Замените "Test node" на название правила, и "{ "bundle" : "test" }" на "{bundle" : "[МАШИННОЕ_ИМЯ_ТИПА_МАТЕРИАЛА]"}"

Комментарии

Аватар пользователя Phantom63rus Phantom63rus 30 мая 2018 в 13:49

Может поможет?)))
https://www.drupal.org/project/misery

А вообще что-то не то с постановкой задачи. В друпале концептуально разграничение прав идёт на уровне ролей, а не отдельных пользователей, отсюда и плясать. Т.е. добавить роль, в неё юзера и дальше уже крутить.

P.S. И это правильная концепция, кто занимался разгрёбом прав на phpbb3 знает какой ад можно сотворить если права рулятся через разные механизмы, а кто не занимался - поверьте, так не надо делать.

Аватар пользователя bumble bumble 30 мая 2018 в 14:31
1
  • Добавляете условие "Data comparison" (сравнение данных)
  • В качестве источника пользователя - "site:current-user:uid" (или другой пользователь из контекста)
  • Оператор - "equals" (равно)
  • Значение - UID нужного юзера

Сравнение данных

Можете импортировать, для примера:

{ "rules_test_node" : {
    "LABEL" : "Test node",
    "PLUGIN" : "reaction rule",
    "OWNER" : "rules",
    "REQUIRES" : [ "rules" ],
    "ON" : { "node_insert--test" : { "bundle" : "test" } },
    "IF" : [
      { "data_is" : { "data" : [ "site:current-user:uid" ], "value" : "1" } }
    ],
    "DO" : []
  }
}

Замените "Test node" на название правила, и "{ "bundle" : "test" }" на "{bundle" : "[МАШИННОЕ_ИМЯ_ТИПА_МАТЕРИАЛА]"}"

Аватар пользователя Happy Smile Happy Smile 31 мая 2018 в 9:23

Хочу сохранить *Решено*, а мне пишет *Запрещено употреблять: Решено*. Когда то мне даже говорили, что когда зачада решена - писать [Решено]. Что уже все, нельзя?

Аватар пользователя bumble bumble 31 мая 2018 в 11:21
1

Сейчас решения автоматически отмечаются, при выборе комментария в качестве решения.
Не нужно заголовок подправлять Wink