feat: use Short_Name__c for Document Name when available

Priority: Short_Name__c > stripped Name > template ID
Requires adding Short_Name__c (Text 80) custom field to
dfsle__EnvelopeConfiguration__c. Falls back to language-stripped
Name if Short_Name__c is blank or not populated.
This commit is contained in:
Paul Huliganga 2026-02-25 17:44:15 -05:00
parent fed796e6cc
commit 5ae3da3c1e
1 changed files with 14 additions and 4 deletions

View File

@ -49,21 +49,31 @@ global with sharing class DocusignCompositeEnvelopeBuilder {
sortedTemplateIds.sort(); sortedTemplateIds.sort();
// Query template names for document labels (shows in Docusign Status) // Query template names for document labels (shows in Docusign Status)
// Uses Short_Name__c if populated, otherwise falls back to Name (with language suffix stripped)
Map<String, String> templateNames = new Map<String, String>(); Map<String, String> templateNames = new Map<String, String>();
Map<String, String> templateShortNames = new Map<String, String>();
for (dfsle__EnvelopeConfiguration__c config : [ for (dfsle__EnvelopeConfiguration__c config : [
SELECT dfsle__DocuSignId__c, Name SELECT dfsle__DocuSignId__c, Name, Short_Name__c
FROM dfsle__EnvelopeConfiguration__c FROM dfsle__EnvelopeConfiguration__c
WHERE dfsle__DocuSignId__c IN :sortedTemplateIds WHERE dfsle__DocuSignId__c IN :sortedTemplateIds
]) { ]) {
templateNames.put(config.dfsle__DocuSignId__c, config.Name); templateNames.put(config.dfsle__DocuSignId__c, config.Name);
if (String.isNotBlank(config.Short_Name__c)) {
templateShortNames.put(config.dfsle__DocuSignId__c, config.Short_Name__c);
}
} }
List<dfsle.Document> documents = new List<dfsle.Document>(); List<dfsle.Document> documents = new List<dfsle.Document>();
List<String> docNames = new List<String>(); List<String> docNames = new List<String>();
for (String templateId : sortedTemplateIds) { for (String templateId : sortedTemplateIds) {
String label = templateNames.containsKey(templateId) String label;
? stripLanguageSuffix(templateNames.get(templateId)) if (templateShortNames.containsKey(templateId)) {
: templateId; label = templateShortNames.get(templateId);
} else if (templateNames.containsKey(templateId)) {
label = stripLanguageSuffix(templateNames.get(templateId));
} else {
label = templateId;
}
documents.add( documents.add(
dfsle.Document.fromTemplate( dfsle.Document.fromTemplate(
dfsle.UUID.parse(templateId), dfsle.UUID.parse(templateId),