ユーザーのロールに基づくパネルの表示

パネルをユーザーのロールに基づいて表示するには2つの方法があります。パネルの非表示/表示による単純な方法と、パネル順序の並べ替えなど複雑なシナリオに対応する方法です。

最初に、「階層」パネルを営業マネージャに対してのみ表示し、営業担当には表示されないようにパネル・リージョンを構成します。この例は、単純な非表示/表示のユース・ケースであるため、accounts-detailページのJSONを条件を使用して更新すると簡単です。

accounts-detailページのJSONで、「階層」パネルを営業担当に対して表示しないことを指示します。

  1. Visual Builder Studioで、「アプリケーションUI」サイド・タブをクリックします。

  2. CX Sales > cx-sales > accounts > accounts-detailにナビゲートします。

  3. accounts-detailページで、「JSON」サブタブをクリックします。

  4. "/PanelsContainerLayout"セクションまでスクロールします。

  5. "accountHierarchyPanel"パネルを次の式に置換します:

    "[[cxcore.utils.userInfo.getRoles().includes('ORA_ZBS_INSIDE_SALES_REPRESENTATIVE_JOB’) ? null: accountHierarchyPanel]]",

    このスクリーンショットは、JSON内での"accountHierarchyPanel"パネルの表示状態を示しています。

ユーザーのロールに基づいてパネルの順序を並べ替えるなど、より複雑な変更を加える場合は、新しい順序でパネル・レイアウトを作成し、条件を追加する必要があります。たとえば、作成した前述のケース1 (コピー)パネルのレイアウトに、営業マネージャ条件を追加します。これは、営業マネージャに対してのみ、「階層」パネルの後に「アクティビティ」パネルが表示されるパネル・レイアウトが表示されることを意味します。

  1. accounts-detailページでページ・デザイナ・タブにナビゲートします。

  2. 構造パネルで、パネル・コンテナ・レイアウト・ノードをクリックします。

    これはパネル・コンテナ・レイアウト・ノードのスクリーンショットです。

  3. 「プロパティ」ペインで、ケース1の横にある「複製」アイコンをクリックします。

    このスクリーンショットは、パネル・レイアウトの複製方法を示しています。

  4. ケース1 (コピー)パネル・レイアウトの条件の横にある式エディタ・アイコンをクリックします。

    これは式エディタ・アイコンのスクリーンショットです。

  5. 式エディタ・ダイアログで、次の式を入力します:

    cxcore.utils.userInfo.getRoles().includes('ORA_ZBS_INSIDE_SALES_MANAGER_JOB')

    これは式エディタのスクリーンショットです。

  6. 「保存」をクリックします。

  7. 営業担当の変更をテストしてみます。

    「プレビュー」ボタンをクリックして、ランタイム・テスト環境の変更を表示します。

    これは、Visual Builder Studioの「プレビュー」ボタンのスクリーンショットです。

    プレビュー・リンクのURLには、application/containerセグメントが含まれている必要があります。含まれていない場合は、次の例のURLを使用してプレビュー・リンクを変更します:

    https://<servername>/fscmUI/redwood/cx-sales/application/container/accounts/accounts-detail?id=300000003513233&puid=7050&view=foldout

    このスクリーンショットは、ログインユーザーが営業担当である場合の例です。アカウント詳細ページに「階層」パネルが表示されません。これは、前の手順でJSONを更新したためです。

    これは「階層」パネルのないアカウント詳細ページのスクリーンショットです。

    次に、営業マネージャとしてサインインします。アカウント詳細ページで、「階層」パネルの後に「アクティビティ」パネルが表示されることを確認します。