• Toyohisa TANAKA
  • NEWBIE
  • 30 Points
  • Member since 2013

  • Chatter
    Feed
  • 1
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 0
    Questions
  • 2
    Replies

いつもお世話になっております。

Force.com SitesのChangePasswordController(パスワード変更用コントローラー)のchangePasswordメソッドで、
パスワードの変更が成功したときにVisualforceページに遷移させる方法をご教授頂きたいです。

 

 

*****以下、長くなってしまいますが、詳細です。*************************

以下のサイトを参考にさせて頂き、ポータルとForce.com Sitesを関連付けることで
Force.com Sitesに配置したログイン画面からポータルにログインできるようにしました。
http://blog.flect.co.jp/salesforce/2011/07/post-9fd5.html
また、サイトに書いてあるように、
SiteLoginController(ログイン画面用コントローラー)のloginメソッド
----------------------------------------
global PageReference login() {
    String startUrl = System.currentPageReference().getParameters().get('startURL');
    return Site.login(username, password, startUrl);
}
----------------------------------------
を、↓↓↓
----------------------------------------
global PageReference login() {
    return Site.login(username, password, '/home/home.jsp');
}
----------------------------------------
と変更することでログイン後、ポータルのホーム画面に遷移するようにでき、
「'/home/home.jsp'」の部分を「'/apex/【Visualforceページ名】'」
と変更することでログイン後にVisualforceのページに遷移させることができました。

同様に、
ChangePasswordController(パスワード変更用コントローラー)のchangePasswordメソッドで、
パスワードの変更が成功したときにVisualforceページに遷移するよう実装したいと考えているのですが、上手く実装できませんでした。
----------------------------------------
public PageReference changePassword() {
    return Site.changePassword(newPassword, verifyNewPassword, oldpassword);
}
----------------------------------------
を、
http://boards.developerforce.com/t5/Apex-Code-Development/Unit-Test-in-Apex-Code-Help/td-p/257565
を参考に、↓↓↓
----------------------------------------
public PageReference changePassword(){
    Site.changePassword(newPassword, verifyNewPassword, oldpassword);
    String s = Site.getOriginalUrl();
    //エラーでないとき
    if(s!=null) {
        //Visualforceページに遷移
        PageReference p = new PageReference('/apex/【Visualforceページ名】');
        p.setRedirect(true);
        return p;
    }
    //エラーのとき
    else {
        //遷移しない
        return null;
    }
}
----------------------------------------
のようにエラー判定しようと試みたのですが、上手くエラー判定できませんでした。

エラー判定の方法が上手くできていないのかと思っているのですが、
パスワードの変更が成功したときにVisualforceページに遷移する方法をご教授頂きたいです。
宜しくお願い致します。

いつもお世話になっております。

Force.com SitesのChangePasswordController(パスワード変更用コントローラー)のchangePasswordメソッドで、
パスワードの変更が成功したときにVisualforceページに遷移させる方法をご教授頂きたいです。

 

 

*****以下、長くなってしまいますが、詳細です。*************************

以下のサイトを参考にさせて頂き、ポータルとForce.com Sitesを関連付けることで
Force.com Sitesに配置したログイン画面からポータルにログインできるようにしました。
http://blog.flect.co.jp/salesforce/2011/07/post-9fd5.html
また、サイトに書いてあるように、
SiteLoginController(ログイン画面用コントローラー)のloginメソッド
----------------------------------------
global PageReference login() {
    String startUrl = System.currentPageReference().getParameters().get('startURL');
    return Site.login(username, password, startUrl);
}
----------------------------------------
を、↓↓↓
----------------------------------------
global PageReference login() {
    return Site.login(username, password, '/home/home.jsp');
}
----------------------------------------
と変更することでログイン後、ポータルのホーム画面に遷移するようにでき、
「'/home/home.jsp'」の部分を「'/apex/【Visualforceページ名】'」
と変更することでログイン後にVisualforceのページに遷移させることができました。

同様に、
ChangePasswordController(パスワード変更用コントローラー)のchangePasswordメソッドで、
パスワードの変更が成功したときにVisualforceページに遷移するよう実装したいと考えているのですが、上手く実装できませんでした。
----------------------------------------
public PageReference changePassword() {
    return Site.changePassword(newPassword, verifyNewPassword, oldpassword);
}
----------------------------------------
を、
http://boards.developerforce.com/t5/Apex-Code-Development/Unit-Test-in-Apex-Code-Help/td-p/257565
を参考に、↓↓↓
----------------------------------------
public PageReference changePassword(){
    Site.changePassword(newPassword, verifyNewPassword, oldpassword);
    String s = Site.getOriginalUrl();
    //エラーでないとき
    if(s!=null) {
        //Visualforceページに遷移
        PageReference p = new PageReference('/apex/【Visualforceページ名】');
        p.setRedirect(true);
        return p;
    }
    //エラーのとき
    else {
        //遷移しない
        return null;
    }
}
----------------------------------------
のようにエラー判定しようと試みたのですが、上手くエラー判定できませんでした。

エラー判定の方法が上手くできていないのかと思っているのですが、
パスワードの変更が成功したときにVisualforceページに遷移する方法をご教授頂きたいです。
宜しくお願い致します。

現在、サイト機能を使って外部公開できるような組織を作っていますが、

これをパッケージ化する時、追加できるコンポーネントの選択リストには

サイトに関するものが表示されてこないのですが、

サイト設定はあくまでAppExchangeで該当のアプリケーションをインストールした後に

各自で手動にて設定するという流れになるのでしょうか?

  • February 05, 2013
  • Like
  • 0