(7) <apex:page>のaction属性でリダイレクトする
<apex:page>のaction属性にApexクラス拡張機能によって記述した処理を呼び出すことにより、
画面を開いた際に特定プロファイルの場合のみリダイレクトさせます。
global class MyExtender extends SkyEditor2.Extender { SkyEditorClass extension; public MyExtender (SkyEditorClass extension) { this.extension = extension; } //プロファイルでリダイレクト public pageReference pageAction(){ String profileId = UserInfo.getProfileId(); if(profileId == '○○○○○○○○○○○○○○○○○○'){ return New pageReference('http://www.terrasky.co.jp'); } return null; } }
■Apexテストクラス
・プロファイル毎の各分岐条件内もテスト処理を実行したい場合は、runAsメソッドを使用し、任意のプロファイルのユーザで実行してください。
詳細はSalesforce Apex開発ガイド「runAsメソッドの使用」を参照ください
@isTest private class MyExtenderTest{ // TestMethod private static testMethod void testMyExtender() { Account acc = new Account(Name='Test'); insert acc; // 対象オブジェクトが取引先の場合 SkyEditorClass ext = new SkyEditorClass(new ApexPages.StandardController(acc)); MyExtender extender = new MyExtender(ext); // どのプロファイル条件とも一致しない場合のテスト Assert.isNull(extender.pageAction(), 'isNull'); } }