Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Expand SendBetterMail merge field functionality to support cross-object merge fields #1578

Open
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

JnsMT
Copy link

@JnsMT JnsMT commented Sep 2, 2024

Building on, brace yourself, a 15 year old idea, I've extended the default SendBetterMail's email template functionality to also support cross-object fields, eliminating the need to manually insert the values or trash the data model with formula fields not needed elsewhere. The new feature keeps the default merge fields syntax with {{{field}}} and adds the cross-object syntax ###field### to prevent confusion and errors during the standard merging process.

All you need to know is the field path thats also used in SOQL queries, for instance if your Email templates source object is Case and you want to retrieve the associated accounts name, you insert the following into the template:
###Account.Name###

The code uses a single query to fetch all fields inserted into the template and automatically formats Date and Datetime fields in the running users default format.

Added renderTemplate method
Added renderTemplate method in utils. Used to inject cross-object merge fields via Apex
Removed double setTreatTargetObjectAsRecipient
added safety checks
@JnsMT JnsMT changed the title Test Expand SendBetterMail merge field functionality to support cross-object merge fields Sep 2, 2024
@JnsMT JnsMT marked this pull request as ready for review September 2, 2024 09:24
@alexed1 alexed1 requested a review from jdpond September 3, 2024 20:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant