2014-08-28 1 views
0

J'ai un code à la page visualforce où il affiche un enregistrement spécifique pour l'utilisateur spécifié. Ce code est un scénario IF-ELSE en supposant qu'il n'y a plus deux utilisateurs spécifiés. Cependant, je voudrais spécifier 10 utilisateurs différents pour différents enregistrements. Quelqu'un pourrait-il m'aider s'il vous plaît?Visualforce page pour afficher l'enregistrement particulier pour les utilisateurs spécifiés

Code exisitng

/************** Visualforce page *****************/ 
<apex:page controller="myClass" action="{!redirect}" > 

</apex:page> 


/************* Controller ***********************/ 
public with sharing class myClass{ 
public string uId; 

public myClass(){ 
    uId = UserInfo.getUserId(); 
} 

public pageReference redirect(){ 
    PageReference pageRef = new PageReference('URL1'); 
    pageRef.setRedirect(true); 
    if(uId == 'firstOption'){ 
     pageRef.setRedirect(true); 
     return pageRef; 
    }else{ 
     pageRef = new PageReference('URL2'); 
     pageRef.setRedirect(true); 
     return pageRef; 
    } 
} 

}

Répondre

0

Si vous allez avoir plusieurs utilisateurs accédant à la page, vous pouvez créer un Hierarchy Custom Setting pour stocker une URL pour chaque utilisateur. De cette façon, vous avez un moyen configurable de maintenir votre liste sans avoir à mettre à jour/redéployer le code. Commencez par créer un paramètre personnalisé. Dans cet exemple, nous l'appelons "Redirection utilisateur" (User_Redirect__c) et définissez le type Hiérarchie. Donnez-lui un champ de texte personnalisé appelé "URL de redirection" (Redirect_Url__c). Une fois terminé, cliquez sur le bouton Gérer et vous pouvez ensuite ajouter des enregistrements individuels pour les utilisateurs (et/ou les profils). Assurez-vous de créer un enregistrement à l'échelle de l'organisation par défaut aussi comme un tout attraper. Maintenant, dans votre contrôleur, il vous suffit de référencer vos paramètres personnalisés.

//the system will automatically grab the record for the user if one exists, 
//else a for their profile if a record exists, else the org-default 
String url = User_Redirect__c.getInstance().Redirect_Url__c; 
PageReference pageRef = new PageReference(url); 
//this is implied if redirecting to a different url. you only ever need to set 
//this if you are refreshing the current page and want to reset the state 
//pageRef.setRedirect(true); 
return pageRef; 
+0

Cela fonctionne! Merci pour votre aide Scott – user3631781

Questions connexes