Excerpt | ||
---|---|---|
| ||
Execute custom logic whenever an event is created. |
Booker25 allows you to define an interface which you can use to add custom logic when Templates are being created on the Calendar. This is useful for pre-populating fields for example.
To add your own logic on Template creation:
Create a global class that implements the Callable interface (see https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_interface_System_Callable.htm )
Implement the 'call' method in this class. This method will be called with a string value of 'onCreateTemplate' and a map with key 'template' whose value is the B25__Reservation_Template__c record that is being created.
The 'call' method should return an object of type B25__Reservation_Template__c, with values in the fields that you want to pre-populate.
Create a Custom Setting (of type B25 System Setting) with name 'Template On Create Class' and as value the name of the class you created in step 1.
Example
Code Block | ||
---|---|---|
| ||
global with sharing class MyTemplateHook implements Callable {
global Object call(String action, Map<String,Object> args) {
// check which action is being called,
// in case you are reusing this class for multiple purposes
if (action == 'onCreateTemplate') {
// get the record
B25__Reservation_Template__c recordBeingCreated = args.get('template');
// pre-populate values
recordBeingCreated.B25__Number_Of_Sessions__c = 10;
// return the record
return recordBeingCreated;
} else {
// another action was called
// this is possible if you are reusing this class for multiple purposes
// for this example we return null as a fallback
return null;
}
}
} |
Info |
---|
If you are following along with the above example, don't forget to create a B25__System_Setting__c custom setting with name 'Template On Create Class' and value 'MyTemplateHook' |
...
On this page
...
Table of Contents |
---|