web-dev-qa-db-ja.com

カスタムフィールド:部門に編成されたユーザー

私はイントラネットの企業サイトを構築しており、ユーザーを部門にリンクさせる必要があります。これを行うには、部門のリストで分類語彙を作成し、ユーザーエンティティにカスタムフィールドを追加して、部門語彙の対応する部門にリンクするのが簡単だと思います。

ここで、「担当者」フィールドをカスタムコンテンツタイプ(「Document」という名前を付けます)に追加します。これは、部門別に編成されたユーザーのリストである必要があります。

今後、このフィールドを使用してドキュメントへのアクセスを制御する必要が生じる可能性があります。


したがって、質問は次のとおりです。

  1. ユーザーを部門にリンクする私の方法は十分ですか、それとももっと良い方法がありますか? (これは現在開発中であるため、すべてを簡単に変更できます)。
  2. 「担当者」フィールド(部門ごとに整理されたユーザーのリスト)を作成する最良の方法は何ですか。
  3. これらすべては、将来のアクセス制御の必要性に対応できるでしょうか?
2
Shevchuk

部門などでグループ化する場合は、テーブル設定に「グループ化」を追加します。

screenshot

(この場合、おそらく部署フィールドを非表示にする必要があります。)

ユーザーと部門の関係に分類法を使用するとうまくいきます。ビューを使用してユーザー/部門のすべてのリストを作成します(グループ化)。

  • ボキャブラリー「部門」を作成し、それにいくつかの用語を追加します

    screenshot

  • Personコンテンツタイプを作成する

  • 部門語彙への分類参照であるフィールドをPersonに追加します

    screenshot

  • Entityreferenceモジュールをダウンロードして有効にします

  • Vocabularyのフィールドを変更して、Personノードへのエンティティ参照であるフィールドを追加します。

  • 責任者と呼ぶ

    screenshot

  • テストするコンテンツを作成します。人を作成し、部署に添付してから、部署(用語)を編集して責任者を割り当てます。

  • ビューモジュールをダウンロードして有効にする

  • タイプpersonのコンテンツのビューを作成します。タイトルと部門のフィールドを追加する

  • relationshipをビュー「Content:Department」に追加します

  • 追加した関係を使用して、Person Responsibleフィールドをビューに追加します。

    screenshot

IRCでの議論から、ドキュメントに関する要件を誤解しました。上記よりも簡単です。ただやる:

  • 部門語彙を作成します。いくつかの用語を追加

  • Personコンテンツタイプを作成します。部門の語彙を参照する分類フィールドを追加する

  • ドキュメントコンテンツタイプを作成します。タイプPersonのノードを参照するエンティティ参照フィールドを追加する

  • ビューを使用して、エンティティ参照の「全体」を含む表示

2
user12897