2016-09-20 7 views
0

これは、カスタマーポータルの「組織」に基づいて「インシデントに関するレポート」を表示することです。入力ボックスに組織に入り、「送信」をクリックします。インシデントレポートは、その組織に対してのみ表示する必要があります。Oracle RightNowのカスタマポータルのインシデントレポートから組み込みフィルタ連絡先IDを削除します

これは起こっていますが、ログインしたコンタクトId(c_id)もそのインシデントレポートにフィルタとして渡されています。

上記のインシデントレポートに課されているc_idフィルタを削除することはできますか?この連絡先IDフィルタをインシデントレポートから削除するにはどうすればよいですか?

誰かがpre_report_get_dataフックを使用し、Contact ID(c_id)フィルタを設定解除することを提案しました。しかし、私はそれをする方法を理解することができませんでした。

pre_report_get_dataフックを使用してc_idフィルタを削除するコードスニペットを教えてください。またはこの問題の他の解決策。

任意の助けいただければ幸いです。:)

答えて

0

コピーあなたが合うようにレポートのフィルタを編集し、新しいバージョンに編集したいレポートが。既定のレポートを直接編集することはできませんが、コピーを使用すると完全に編集することができます。

EDIT

連絡先フィルタは常にあるため、カスタマーポータルのユーザーモデルのカスタマーポータルのフィルタに適用されます。 CPは、Web上のユーザーが特定の顧客であり、ユーザーセッションの特定の連絡先に固有の連絡先データにのみアクセスする必要があると考えています。これはセキュリティ機構であり、意図したとおりに動作しています。

連絡先データが関連している可能性がありますが、すべての連絡先に公開する必要があるレポートのデータを表示することを目標とする場合は、ROQLまたはAnalytics APIクエリを直接実行するカスタムウィジェットを作成する必要があります誤って実装されていると他の顧客データを公開する可能性があることに注意してください。

pre_report_get_dataフックを使用したい場合は、フックをsettings/hooks.phpファイルで有効にするのは簡単です。フックに呼び出すモデルとメソッドにフックを向けます。次に、渡されたデータ配列を編集して、フィルタ配列からc_idの設定を解除します(他の記事で説明したように)。 filter_reportモデルでreport_run()メソッドを呼び出すためのフックエンジンに指示します

$rnHooks['pre_report_get'][] = array(
    'class' => 'filter_report', 
    'function' => 'report_run', 
    'filepath' => '' 
); 

。これらは通常、CP内のコードファイルの例です。そのフックを実装するためには、ほとんどの作業を既に済ませておく必要があります。

function report_run($hookData) 
{ 
    if($hookData['data']['reportId'] == '100335') //Change the report ID to the report that you need to call 
    { 
     unset($hookData['data']['filters']['c_id']); //you'll need to lookup the key of the filter in the report to figure out which one to unset 
    } 
} 
+0

ありがとうございました。しかし、私は問題をはっきりと説明していない間違いをしました。私は今質問を更新しました。レポートはレポートエクスプローラで正常に機能し、その組織にのみ属するインシデントも表示されます。しかし、カスタマーポータルで使用されると、コンタクトIDフィルタは何もせずに自動的に渡されています。私の上記の質問をもう一度チェックして、解決策が分かっているかどうか確認してください。この質問に答える時間をとってくれてありがとう。乾杯。 –

+0

さらに、Scottを追加するのを忘れてしまいました。私はContact Idフィルタなしで最初のカスタムレポートを使用していました。あなたが何らかの方法で助けることができるかどうかを見てください。顧客ポータルのレポートの要件は非常に多いですが、ログインしたユーザーのこの愚かな連絡先IDはフィルタとして適用され続けます。私はセキュリティ上の目的でそのことを理解していますが、私はそれを正しく行うことができます。ありがとう。 –

関連する問題