web-dev-qa-db-ja.com

ユーザーがカスタム分類用語を持っている場合、他のユーザーにフラグを立てるのを止める方法は?

ユーザーがフラグモジュールを使用して他のユーザーに投票するプロジェクトに取り組んでいます。各ユーザーには、部門用語参照フィールドがあります。同じ部門に所属している別のユーザーにフラグを立てるのを止めたいのですが。出来ますか?助けてください!よろしくお願いします!

2
staion16

最後に、ルールを作成して問題を解決することができました。これを実現するために実行できる手順は次のとおりです。

  1. 新しいルールを作成し、イベントとして「ユーザーに「あなたのフラグ」の下でフラグが付けられています」を選択します
  2. 「Entity has field」という条件を追加し、エンティティとして「flagging-user」を選択し、「Field」としてフィールドを選択します。
  3. 新しい条件「List contains item」を追加し、作成したフィールドをリストとして選択しますが、これは「flagging-user:field-your-field」のようにする必要があります。
  4. 同じ条件で、項目としてフィールド値の1つを選択します。
  5. AND条件を追加します。
  6. 手順2、3、4とまったく同じように2つの条件を追加しますが、「flagging-user」を「flagged-user」に変更します。
  7. 最後に、「ユーザーのフラグを解除する」というアクションを追加し、最初にフラグを選択します。次に、ユーザーで「フラグが設定されたユーザー」を選択し、「フラグを立てるユーザー」で「フラグを設定するユーザー」を選択し、「許可チェックをスキップする」を選択します。 "" True "をチェックしてください。

それでおしまい。私が誰かを助けたことを願っています。

要求されたとおり、ここに実際のルールのエクスポートされたコードがあります。

{ "rules_nu_poate_vota_manager" : {
"LABEL" : "Nu poate vota manager",
"PLUGIN" : "reaction rule",
"OWNER" : "rules",
"REQUIRES" : [ "rules", "flag" ],
"ON" : { "flag_flagged_apreciere" : [] },
"IF" : [
  { "entity_has_field" : { "entity" : [ "flagging-user" ], "field" : "field_raion" } },
  { "list_contains" : { "list" : [ "flagging-user:field-raion" ], "item" : "18" } },
  { "AND" : [] },
  { "entity_has_field" : { "entity" : [ "flagged-user" ], "field" : "field_raion" } },
  { "list_contains" : { "list" : [ "flagged-user:field-raion" ], "item" : "18" } }
],
"DO" : [
  { "flag_unflaguser" : {
      "flag" : "apreciere",
      "user" : [ "flagged-user" ],
      "flagging_user" : [ "flagging_user" ],
      "permission_check" : "1"
    }
  },
  { "drupal_message" : {
      "message" : "Nu po\u0163i aprecia colegii de echip\u0103!",
      "type" : "warning"
    }
  }
]

}}

1
staion16