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:
Sacha Al Himdani
2026-05-12 15:06:28 +02:00
parent 4f1ca073b3
commit 6948a6b9ab
8 changed files with 57 additions and 19 deletions

View File

@@ -271,7 +271,12 @@ func (h *completionCertificateHandler) generateCertificate(
docName = signature.DocumentType.DisplayName()
}
subject, textBody, htmlBody, err := emailPresenter.RenderElectronicSignatureCertificate(ctx, ref.UnrefOrZero(signature.SignerFullName), docName)
subject := signature.EmailSubject
if subject == "" {
subject = fmt.Sprintf("Your signed %s - Certificate of Completion", docName)
}
textBody, htmlBody, err := emailPresenter.RenderElectronicSignatureCertificate(ctx, ref.UnrefOrZero(signature.SignerFullName), docName, subject)
if err != nil {
return nil, nil, fmt.Errorf("cannot render email: %w", err)
}