ユーザーのロールに基づくパネルの表示
パネルをユーザーのロールに基づいて表示するには2つの方法があります。パネルの非表示/表示による単純な方法と、パネル順序の並べ替えなど複雑なシナリオに対応する方法です。
最初に、「階層」パネルを営業マネージャに対してのみ表示し、営業担当には表示されないようにパネル・リージョンを構成します。この例は、単純な非表示/表示のユース・ケースであるため、accounts-detailページのJSONを条件を使用して更新すると簡単です。
accounts-detailページのJSONで、「階層」パネルを営業担当に対して表示しないことを指示します。
-
Visual Builder Studioで、「アプリケーションUI」サイド・タブをクリックします。
-
にナビゲートします。
-
accounts-detailページで、「JSON」サブタブをクリックします。
-
"/PanelsContainerLayout"セクションまでスクロールします。
-
"accountHierarchyPanel"パネルを次の式に置換します:
"[[cxcore.utils.userInfo.getRoles().includes('ORA_ZBS_INSIDE_SALES_REPRESENTATIVE_JOB’) ? null: accountHierarchyPanel]]",
ユーザーのロールに基づいてパネルの順序を並べ替えるなど、より複雑な変更を加える場合は、新しい順序でパネル・レイアウトを作成し、条件を追加する必要があります。たとえば、作成した前述のケース1 (コピー)パネルのレイアウトに、営業マネージャ条件を追加します。これは、営業マネージャに対してのみ、「階層」パネルの後に「アクティビティ」パネルが表示されるパネル・レイアウトが表示されることを意味します。
-
accounts-detailページでページ・デザイナ・タブにナビゲートします。
-
構造パネルで、パネル・コンテナ・レイアウト・ノードをクリックします。
-
「プロパティ」ペインで、ケース1の横にある「複製」アイコンをクリックします。
-
ケース1 (コピー)パネル・レイアウトの条件の横にある式エディタ・アイコンをクリックします。
-
式エディタ・ダイアログで、次の式を入力します:
cxcore.utils.userInfo.getRoles().includes('ORA_ZBS_INSIDE_SALES_MANAGER_JOB')
-
「保存」をクリックします。
営業担当の変更をテストしてみます。
「プレビュー」ボタンをクリックして、ランタイム・テスト環境の変更を表示します。
プレビュー・リンクのURLには、
application/container
セグメントが含まれている必要があります。含まれていない場合は、次の例のURLを使用してプレビュー・リンクを変更します:https://<servername>/fscmUI/redwood/cx-sales/application/container/accounts/accounts-detail?id=300000003513233&puid=7050&view=foldout
このスクリーンショットは、ログインユーザーが営業担当である場合の例です。アカウント詳細ページに「階層」パネルが表示されません。これは、前の手順でJSONを更新したためです。
次に、営業マネージャとしてサインインします。アカウント詳細ページで、「階層」パネルの後に「アクティビティ」パネルが表示されることを確認します。