Tailor signature certificate email copy for approvals
Store the per-signature email subject as text on the electronic_signatures row at creation time, mirroring the consent_text pattern. The document approval service sets "Your approved <Title> - Certificate of Completion"; other callers default to "Your signed <Name> - Certificate of Completion". The certificate worker uses signature.email_subject as the email subject, falling back to the default format when the column is empty. Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
This commit is contained in:
@@ -219,7 +219,6 @@ const (
|
||||
subjectTrustCenterAccess = "Compliance Page Access Invitation - %s"
|
||||
subjectTrustCenterDocumentAccessRejected = "Compliance Page Document Access Rejected - %s"
|
||||
subjectMagicLink = "Connect to %s"
|
||||
subjectElectronicSignatureCertificate = "Your signed %s - Certificate of Completion"
|
||||
subjectMailingListSubscription = "%s – Confirm Your Compliance Updates Subscription"
|
||||
subjectMailingListUnsubscription = "%s – You've been unsubscribed"
|
||||
subjectMailingListUpdates = "%s – %s"
|
||||
@@ -525,25 +524,25 @@ func (p *Presenter) RenderMagicLink(ctx context.Context, magicLinkUrlPath string
|
||||
return fmt.Sprintf(subjectMagicLink, organizationName), textBody, htmlBody, err
|
||||
}
|
||||
|
||||
func (p *Presenter) RenderElectronicSignatureCertificate(ctx context.Context, signerName string, documentName string) (subject string, textBody string, htmlBody *string, err error) {
|
||||
func (p *Presenter) RenderElectronicSignatureCertificate(ctx context.Context, signerName string, documentName string, subject string) (textBody string, htmlBody *string, err error) {
|
||||
vars, err := p.getCommonVariables(ctx)
|
||||
if err != nil {
|
||||
return "", "", nil, fmt.Errorf("cannot get common variables: %w", err)
|
||||
return "", nil, fmt.Errorf("cannot get common variables: %w", err)
|
||||
}
|
||||
|
||||
data := struct {
|
||||
*CommonVariables
|
||||
SignerName string
|
||||
DocumentName string
|
||||
Subject string
|
||||
}{
|
||||
CommonVariables: vars,
|
||||
SignerName: signerName,
|
||||
DocumentName: documentName,
|
||||
Subject: subject,
|
||||
}
|
||||
|
||||
textBody, htmlBody, err = renderEmail(electronicSignatureCertificateTextTemplate, electronicSignatureCertificateHTMLTemplate, data)
|
||||
|
||||
return fmt.Sprintf(subjectElectronicSignatureCertificate, documentName), textBody, htmlBody, err
|
||||
return renderEmail(electronicSignatureCertificateTextTemplate, electronicSignatureCertificateHTMLTemplate, data)
|
||||
}
|
||||
|
||||
func (p *Presenter) RenderMailingListSubscription(ctx context.Context, organizationName string, confirmURL string, unsubscribeURL string) (subject string, textBody string, htmlBody *string, err error) {
|
||||
|
||||
@@ -21,13 +21,11 @@ import EmailLayout, {
|
||||
|
||||
export const ElectronicSignatureCertificate = () => {
|
||||
return (
|
||||
<EmailLayout
|
||||
subject={`Your signed ${"{{.DocumentName}}"} — Certificate of Completion`}
|
||||
>
|
||||
<EmailLayout subject={'{{.Subject}}'}>
|
||||
<Text style={bodyText}>
|
||||
Your <strong>{"{{.DocumentName}}"}</strong> has been signed
|
||||
electronically. A Certificate of Completion is attached to this email
|
||||
as a PDF document.
|
||||
A Certificate of Completion for{" "}
|
||||
<strong>{"{{.DocumentName}}"}</strong> is attached to this email as a
|
||||
PDF document.
|
||||
</Text>
|
||||
|
||||
<Text style={bodyText}>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
Hi {{.RecipientFullName}},
|
||||
|
||||
Your {{.DocumentName}} has been signed electronically. A Certificate of Completion is attached to this email as a PDF document.
|
||||
A Certificate of Completion for {{.DocumentName}} is attached to this email as a PDF document.
|
||||
|
||||
The certificate contains a complete record of the signing event, including the integrity seal, timestamp, and audit trail.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user