Tag Archives: Visualforce Page

Get Current User Info Using Apex in Salesforce

String FirstName = UserInfo.getFirstName();//Returns the context user's first name.
System.Debug('FirstName-' + FirstName);
String LastName = UserInfo.getLastName();//Returns the context user's last name.
System.Debug('LastName-' + LastName);
String Name = UserInfo.getName();//Returns the context user's full name.
System.Debug('Name-' + Name);
String UserEmail = UserInfo.getUserEmail();//Returns the current user’s email address.
System.Debug('UserEmail-' + UserEmail);
String UserType = UserInfo.getUserType();//Returns the context user's type.
System.Debug('UserType-' + UserType);
String UserId = UserInfo.getUserId();//Returns the context user's ID.
System.Debug('UserId-' + UserId);
String UserName = UserInfo.getUserName();//Returns the context user's login name.
System.Debug('UserName-' + UserName);
String ProfileId = UserInfo.getProfileId();//Returns the context user's profile ID.
System.Debug('ProfileId-' + ProfileId);
String UserRoleId = UserInfo.getUserRoleId();//Returns the context user's role ID.
System.Debug('UserRoleId-' + UserRoleId);
String SessionId = UserInfo.getSessionId();//Returns the session ID for the current session.
System.Debug('SessionId-' + SessionId);
TimeZone tz = UserInfo.getTimeZone();//Returns the current user’s local time zone.
System.Debug('TimeZone-' + tz);
String DefaultCurrency = UserInfo.getDefaultCurrency();//Returns the context user's default currency code for multiple currency organizations or the organization's currency code for single currency organizations.
System.Debug('DefaultCurrency-' + DefaultCurrency);
String Language = UserInfo.getLanguage();//Returns the context user's language.
System.Debug('Language-' + Language);
String Locale = UserInfo.getLocale();//Returns the context user's locale.
System.Debug('Locale-' + Locale);
String OrganizationId = UserInfo.getOrganizationId();//Returns the context organization's ID.
System.Debug('OrganizationId-' + OrganizationId);
String OrganizationName = UserInfo.getOrganizationName();//Returns the context organization's company name.
System.Debug('OrganizationName-' + OrganizationName);

How to cover pagereference method in test class

For Custom Controller


//Page reference to your VF Page
PageReference pageRef = Page.TestPage;
Test.setCurrentPage(pageRef);

//Pass necessary parameter
pageRef.getParameters().put('Id',id); 

//init controller 
CustomCtrl objCtrl = new CustomCtrl();

//Call pageRef mymethod
PageReference objPageRef = objCtrl.mymethod();

//Put system asserts
System.assertEquals (null,pageRef);

For Standard Controller

//First create record
Account acc = New Account();
acc.Name = 'Test Account';
INSERT acc;

//Page reference to your VF Page
PageReference pageRef = Page.TestPage;
Test.setCurrentPage(pageRef);

//Pass necessary parameter
pageRef.getParameters().put('Id',acc.id);   

//Pass your object to controller     
ApexPages.StandardController stc = new ApexPages.StandardController(acc);

//Call controller
CustomCtrl objCtrl = new CustomCtrl(stc);

//Call pageRef mymethod
PageReference objPageRef = objCtrl.mymethod();

//Put system asserts
System.assertEquals (null,pageRef);

Salesforce Display Button On Apex Page Message

Apex Class:

public class SampleController {
    
    public Account acc {get;set;}
    public Boolean isButtonVisible {get;set;}
    public string message {get;set;}
    
    public SampleController(){
        isButtonVisible = false;
        acc = new Account();
        message = '';
    }
    
    public pageReference showMessage(){
        isButtonVisible = true;
        message = 'Do you want to create the account';
        return null;
    }
    
    public pageReference saveAccount(){
        insert acc;
        isButtonVisible = false;
        acc = new Account();
        return null;
    }
    
    public pageReference cancel(){
        isButtonVisible = false;
        acc = new Account();
        return null;
    }
}

Visualforce Page:

<apex:page controller="SampleController" tabStyle="Account">
    <apex:form >
        <apex:pageMessages escape="false"/> 
        <apex:outputPanel rendered="{!isButtonVisible}">
            <apex:pageMessage severity="info" strength="3" summary="{!message}">
                <apex:commandButton value="Yes" action="{!saveAccount}"/>
                <apex:commandButton value="No" action="{!cancel}"/>
            </apex:pageMessage>
        </apex:outputPanel>
        
        <apex:pageblock title="Account">
            <apex:pageBlockSection title="Account Information" columns="2">
                <apex:inputField value="{!acc.Name}"/>
                <apex:inputField value="{!acc.AccountNumber}"/>
            </apex:pageBlockSection>
            <apex:pageBlockButtons location="bottom">
                <apex:commandButton value="Confirm" action="{!showMessage}"> </apex:commandButton>
            </apex:pageBlockButtons>
        </apex:pageblock>
    </apex:form>
</apex:page>

Output:

Custom Label in JavaScript File

We use {!$Label.CustomLabelName}, when we call custom label in Visualforce page JavaScript function. But if we need to access custom labels in JavaScript file in static resource, then here is the way to get the custom label value.

Load the custom label in Visualforce Page before loading the static resource JavaScript file.

<script>
    window.$Label = window.$Label || {};
    $Label.MyCustomLable1 = '{!JSENCODE($Label.MyCustomLable1)}';
    $Label.MyCustomLable2 = '{!JSENCODE($Label.MyCustomLable2)}';
</script>

Use in JavaScript file.

console.log($Label.MyCustomLable1);
alert($Label.MyCustomLable1);

Open a visualforce page in same primary tab by closing the current primary tab in Salesforce console

{!REQUIRESCRIPT(“/support/console/36.0/integration.js”)}
{!REQUIRESCRIPT(“/soap/ajax/36.0/connection.js”)}
try {
sforce.console.getEnclosingPrimaryTabId(function (result)
{
sforce.console.openPrimaryTab(result.id, ‘/apex/CaseSummary?id={!Case.Id}’, true);
});
}
catch(ex){
alert(‘An Error has Occured. Error:’ + ex);
}