Tag Archives: Salesforce.com

Salesforce: Add Approve/Reject Link in Email template for approval

Sometimes we need to customize the email that goes out to an approver with the record approve link, Where can approver find the link to approve or reject the record.

We can use the Merge field {!ApprovalRequest.External_URL} or {!ApprovalRequest.Internal_URL} to add approve link in email template.

Follow below steps:

  • In the Available Merge Fields select Field Type as Approval Fields.
  • Select Field as Internal Approval URL or External Approval URL.
  • Copy and paste the merge field value into your template.

Note: Approval process merge fields can be used in email templates, but not mail merge templates. Because email notifications to a queue aren’t intended for an external audience, any instances of the merge field {!ApprovalRequest.External_URL} in the email template are sent as the equivalent internal URL.

Use of immediate attribute of commandbutton & commandlink in visualforce page.

Basically we used immediate="true" in CommandButton & CommandLink, when we don’t want our validation rules to be fired during any server request.

It is a Boolean value that specifies whether the action associated with this component should happen immediately, without processing any validation rules associated with the fields on the page. If set to true, the action happens immediately and validation rules are skipped. If not specified, this value defaults to false.

We generally use it to make functionality of “Cancel” button or “Back” button, where we don’t want validation rule to get executed. If we don’t use immediate=true then on click of cancel button also, validation rules will get executed.

Here is the sample code:

<apex:commandlink action="{!cancel}" value="Cancel" styleclass="btn" id="btnCancel" immediate="true">
</apex:commandlink>

Calling apex method from a custom button using javascript

Sometimes we need to call a method of an apex class, on click of a custom button. Let’s take an example, how we call an apex method, on click of a custom button.
Step 1:
Lets first create the Apex class.

global class MyClass {
    webservice static String myMethod(String studentId){
       return 'Test';
    }
}

Note:

  • Class needs to be a Global class.
  • And the method you intend to call from the javascript must be a Webservice Method.

Step 2:
Now to setup the custom Button.
Goto –> Setup –> Object –> Buttons, links and Actions section –> Click New Button or Link

1

  • Enter the Name of the button.
  • Behaviour : Execute Javascript.
  • Content source : On-Click Javascript.

In the code for button copy the following line of codes:

{!REQUIRESCRIPT("/soap/ajax/14.0/connection.js")}
{!REQUIRESCRIPT("/soap/ajax/14.0/apex.js")}
 
try{ 
  var studentId = '{!Student__c.Id}'
  var result = sforce.apex.execute("MyClass", "myMethod",{studentId : studentId}); 
  alert(result);
} 
catch(ex) {
  alert(txt); 
}

2