Created
April 24, 2020 04:16
-
-
Save ryanfollmer/1b3ac52553b063497599ac93d8ba9db0 to your computer and use it in GitHub Desktop.
Visualforce Component for Approval Request Email Template
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<apex:component id="SBAA_ApprovalRequestEmailTemplate" access="global" controller="SBAA_ApprovalRequestEmailController"> | |
<apex:attribute name="approvalRecordId" assignTo="{!approvalId}" type="Id" description="Approval Id for the email" access="global" required="true"/> | |
<apex:attribute name="quoteRecordId" assignTo="{!quoteId}" type="Id" description="Quote Id for the email" access="global" required="true"/> | |
<apex:attribute name="recipientEmailUser" type="User" assignTo="{!recipientUser}" description="Recipient User" access="global" required="true"/> | |
<apex:variable var="changeList" value="{!RecordChanges}" /> | |
<div> | |
<p>{!recipientEmailUser.FirstName},</p> | |
<p>The following quote requires your approval due to <apex:outputField value="{!currentApproval.sbaa__Rule__r.Name}"/>: <a href="{!orgUrl}/{!quoteRecordId}">{!quote.Name}</a> | |
</p> | |
<p>To approve or reject this approval request, simply reply to this email with "Approve" or "Reject". <br /> | |
<a href="{!orgUrl}/{!approvalRecordId}">View the approval request in Salesforce</a> | |
</p> | |
<p><b>Account:</b></p> | |
<ul> | |
<li><b>Name: </b><apex:outputField value="{!quote.SBQQ__Opportunity2__r.Account.Name}"/></li> | |
<li><b>Owner: </b><apex:outputField value="{!quote.SBQQ__Opportunity2__r.Account.Owner.Name}"/></li> | |
</ul> | |
<p><b>Opportunity:</b></p> | |
<ul> | |
<li><b>Name: </b><a href="{!orgUrl}/{!quote.SBQQ__Opportunity2__c}">{!quote.SBQQ__Opportunity2__r.Name}</a></li> | |
<li><b>Owner: </b><apex:outputField value="{!quote.SBQQ__Opportunity2__r.Owner.Name}"/></li> | |
<li><b>Type: </b><apex:outputField value="{!quote.SBQQ__Opportunity2__r.Type}"/></li> | |
<li><b>Amount: </b><apex:outputField value="{!quote.SBQQ__Opportunity2__r.Amount}"/></li> | |
<li><b>Close Date: </b><apex:outputField value="{!quote.SBQQ__Opportunity2__r.CloseDate}"/></li> | |
<li><b>Stage: </b><apex:outputField value="{!quote.SBQQ__Opportunity2__r.StageName}"/></li> | |
</ul> | |
<p><b>Quote:</b></p> | |
<ul> | |
<li><b>Name: </b><a href="{!orgUrl}/{!quoteRecordId}">{!quote.Name}</a></li> | |
<li><b>Start Date: </b><apex:outputField value="{!quote.SBQQ__StartDate__c}"/></li> | |
<li><b>End Date: </b><apex:outputField value="{!quote.SBQQ__EndDate__c}"/></li> | |
<li><b>Subscription Term: </b><apex:outputField value="{!quote.SBQQ__SubscriptionTerm__c}"/></li> | |
<li><b>Billing Frequency: </b><apex:outputField value="{!quote.SBQQ__BillingFrequency__c}"/></li> | |
<li><b>Payment Terms: </b><apex:outputField value="{!quote.SBQQ__PaymentTerms__c}"/></li> | |
<li><b>List Amount: </b><apex:outputField value="{!quote.SBQQ__ListAmount__c}"/></li> | |
<li><b>Net Total Amount: </b><apex:outputField value="{!quote.SBQQ__NetAmount__c}"/></li> | |
<li><b>Total Customer Discount Amount: </b><apex:outputField value="{!quote.SBQQ__TotalCustomerDiscountAmount__c}"/></li> | |
</ul> | |
<apex:outputPanel layout="block" rendered="{!displayRecordChanges}"> | |
<h4>Key Approval-Related Changes to the Quote</h4> | |
<apex:dataTable style="margin-bottom: 10px" border="1px" cellpadding="5px" value="{!changeList}" var="recordChange" width="100%"> | |
<apex:column width="20%" headerValue="Date" value="{!recordChange.ValueChangedOn}" /> | |
<apex:column width="50%" headerValue="What Changed" value="{!recordChange.ChangeReason}" /> | |
<apex:column width="15%" headerValue="Original Value"> | |
<apex:outputText rendered="{!recordChange.IsNumericValue}" value="{0, number}"> | |
<apex:param value="{!recordChange.OriginalValueDecimal}" /> | |
</apex:outputText> | |
<apex:outputText rendered="{!recordChange.IsCurrencyValue}" value="{0} {1, number}"> | |
<apex:param value="{!recordChange.CurrencyIsoCode}" /> | |
<apex:param value="{!recordChange.OriginalValueDecimal}" /> | |
</apex:outputText> | |
<apex:outputText rendered="{!recordChange.IsPercentValue}" value="{0, number}%"> | |
<apex:param value="{!recordChange.OriginalValueDecimal}" /> | |
</apex:outputText> | |
<apex:outputText rendered="{!recordChange.IsTextValue}" value="{0}"> | |
<apex:param value="{!recordChange.OriginalValue}" /> | |
</apex:outputText> | |
<apex:outputText rendered="{!recordChange.IsDateValue}" value="{0, date, short}"> | |
<apex:param value="{!recordChange.OriginalValueDate}" /> | |
</apex:outputText> | |
</apex:column> | |
<apex:column width="15%" headerValue="New Value"> | |
<apex:outputText rendered="{!recordChange.IsNumericValue}" value="{0, number}"> | |
<apex:param value="{!recordChange.NewValueDecimal}" /> | |
</apex:outputText> | |
<apex:outputText rendered="{!recordChange.IsCurrencyValue}" value="{0} {1, number}"> | |
<apex:param value="{!recordChange.CurrencyIsoCode}" /> | |
<apex:param value="{!recordChange.NewValueDecimal}" /> | |
</apex:outputText> | |
<apex:outputText rendered="{!recordChange.IsPercentValue}" value="{0, number}%"> | |
<apex:param value="{!recordChange.NewValueDecimal}" /> | |
</apex:outputText> | |
<apex:outputText rendered="{!recordChange.IsTextValue}" value="{0}"> | |
<apex:param value="{!recordChange.NewValue}" /> | |
</apex:outputText> | |
<apex:outputText rendered="{!recordChange.IsDateValue}" value="{0, date, short}"> | |
<apex:param value="{!recordChange.NewValueDate}" /> | |
</apex:outputText> | |
</apex:column> | |
</apex:dataTable> | |
</apex:outputPanel> | |
</div> | |
<apex:outputText style="color: white;" value="{!approvalRecordId}"/> | |
</apex:component> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment