diff --git a/force-app/main/default/lwc/clmDocGenWorkbench/clmDocGenWorkbench.js b/force-app/main/default/lwc/clmDocGenWorkbench/clmDocGenWorkbench.js
index 77b86ee..cb3ccf6 100644
--- a/force-app/main/default/lwc/clmDocGenWorkbench/clmDocGenWorkbench.js
+++ b/force-app/main/default/lwc/clmDocGenWorkbench/clmDocGenWorkbench.js
@@ -317,7 +317,7 @@ export default class ClmDocGenWorkbench extends LightningElement {
return `${normalizedPrefix}.docx`;
}
- resetSelectionsToDefaults() {
+ async resetSelectionsToDefaults() {
this.hasLoadedDefaults = false;
this.templateFolderName = '';
this.destinationFolderName = '';
@@ -329,7 +329,7 @@ export default class ClmDocGenWorkbench extends LightningElement {
this.destinationDocumentOptions = [];
this.selectedTemplateSubfolderHref = '';
this.selectedDestinationSubfolderHref = '';
- this.initializeDefaults(true);
+ await this.initializeDefaults(true);
}
async loadCaseContext() {
diff --git a/force-app/main/default/lwc/clmRequestPreview/clmRequestPreview.js b/force-app/main/default/lwc/clmRequestPreview/clmRequestPreview.js
index 878156f..e29fe95 100644
--- a/force-app/main/default/lwc/clmRequestPreview/clmRequestPreview.js
+++ b/force-app/main/default/lwc/clmRequestPreview/clmRequestPreview.js
@@ -76,6 +76,10 @@ export default class ClmRequestPreview extends LightningElement {
}
async loadPreview() {
+ if (!this.recordId) {
+ this.showMessage('No record context — place this component on a record page.', 'warning');
+ return;
+ }
this.preview = await getDocGenPreview({
appraiserCaseId: this.recordId,
accountCode: this.accountCode,
diff --git a/manifest/package.xml b/manifest/package.xml
index f6efe48..01acf9f 100644
--- a/manifest/package.xml
+++ b/manifest/package.xml
@@ -5,14 +5,31 @@
CustomApplication
+ CLM_Account_Setting.DTC_CLM_Demo
+ CLM_Account_Setting.DTC_HUD_Demo
+ CLM_Account_Setting.DTC_IAM_Enterprise
CLM_Environment_Setting.S1
CLM_Environment_Setting.UAT
+ CLM_Letter_Definition.DTC_CLM_Demo_Appraiser_Review
+ CLM_Letter_Definition.DTC_CLM_Demo_Education_Letter
+ CLM_Letter_Definition.DTC_CLM_Demo_Intent_to_Remove_Letter
+ CLM_Letter_Definition.DTC_CLM_Demo_NOD_Letter
+ CLM_Letter_Definition.DTC_HUD_Demo_Appraiser_Review
+ CLM_Letter_Definition.DTC_HUD_Demo_Education_Letter
+ CLM_Letter_Definition.DTC_HUD_Demo_Intent_to_Remove_Letter
+ CLM_Letter_Definition.DTC_HUD_Demo_NOD_Letter
+ CLM_Letter_Definition.DTC_IAM_Ent_Intent_Remove
+ CLM_Letter_Definition.DTC_IAM_Enterprise_Appraiser_Review
+ CLM_Letter_Definition.DTC_IAM_Enterprise_Education_Letter
+ CLM_Letter_Definition.DTC_IAM_Enterprise_NOD_Letter
CustomMetadata
Appraiser_Case__c
Appraiser_Case_Deficiency__c
+ CLM_Account_Setting__mdt
CLM_Environment_Setting__mdt
+ CLM_Letter_Definition__mdt
CustomObject
@@ -20,6 +37,10 @@
Appraiser_Case_Deficiency__c
CustomTab
+
+ DocusignJWT
+ ExternalCredential
+
Appraiser_Case_Record_Page
FlexiPage
@@ -31,8 +52,18 @@
Appraiser_Case__c-Appraiser Case Layout
Appraiser_Case_Deficiency__c-Appraiser Case Deficiency Layout
+ CLM_Account_Setting__mdt-CLM Account Setting Layout
+ CLM_Letter_Definition__mdt-CLM Letter Definition Layout
Layout
+
+ CLMs1Download
+ CLMs1NamedCreds
+ CLMuatDownload
+ CLMuatNamedCreds
+ Esignature_Demo_NamedCreds
+ NamedCredential
+
Appraiser_Case__c.Generate_Review_Letter
QuickAction
@@ -43,21 +74,21 @@
PermissionSet
- CLMAdminService
- CLMAdminServiceTest
AppraiserCasePayloadBuilder
AppraiserCasePayloadBuilderTest
+ CLMAdminService
+ CLMAdminServiceTest
CLMDocGenCallout
CLMDocGenCalloutTest
+ DocusignESignatureService
+ DocusignESignatureServiceTest
ApexClass
clmDocGenWorkbench
+ clmRequestPreview
+ docusignEsignWorkbench
LightningComponentBundle
-
- DocusignJWT
- ExternalCredential
-
62.0
diff --git a/scripts/apex/createSampleAppraiserCase.apex b/scripts/apex/createSampleAppraiserCase.apex
index ce9462e..9f5acc0 100644
--- a/scripts/apex/createSampleAppraiserCase.apex
+++ b/scripts/apex/createSampleAppraiserCase.apex
@@ -1,32 +1,41 @@
Appraiser_Case__c appraiserCase = new Appraiser_Case__c(
Appraiser_Field_Review_Date__c = Date.today(),
+ Letter_Sent_Date__c = Date.today().addDays(7),
+ FHA_Case_Number__c = '123-4567890',
+ Appraiser_Name__c = 'Jamie',
+ Appraiser_Last_Name__c = 'Appraiser',
+ Appraiser_Salutation__c = 'Ms.',
+ Appraiser_Email__c = 'jamie.appraiser@example.com',
+ Appraiser_Street__c = '245 Lexington Ave',
+ Appraiser_City__c = 'New York',
+ Appraiser_State_Province__c = 'NY',
+ Appraiser_Postal_Code__c = '10016',
+ Appraiser_Country__c = 'USA',
Property_Street__c = '123 Main St',
- Property_City__c = 'Ottawa',
- Property_State_Province__c = 'ON',
- Property_Postal_Code__c = 'K1A 0A1',
- Property_Country__c = 'Canada'
+ Property_City__c = 'Denver',
+ Property_State_Province__c = 'CO',
+ Property_Postal_Code__c = '80202',
+ Property_Country__c = 'USA'
);
insert appraiserCase;
-insert new List{
- new Appraiser_Deficiency__c(
- Name = 'Deficiency 1',
+insert new List{
+ new Appraiser_Case_Deficiency__c(
Appraiser_Case__c = appraiserCase.Id,
- Deficiency_Number__c = '1',
- Description__c = 'Missing comparable sale analysis',
- Resolution__c = 'Provide updated comparable sales section',
- Sort_Order__c = 1
+ Deficiency_Number__c = 1,
+ Description__c = 'Missing comparable sale adjustment detail.',
+ Resolution__c = 'Added adjustment rationale and supporting calculations.',
+ Reference__c = 'VC-1'
),
- new Appraiser_Deficiency__c(
- Name = 'Deficiency 2',
+ new Appraiser_Case_Deficiency__c(
Appraiser_Case__c = appraiserCase.Id,
- Deficiency_Number__c = '2',
- Description__c = 'Exterior condition comments are too brief',
- Resolution__c = 'Expand comments and attach photos',
- Sort_Order__c = 2
+ Deficiency_Number__c = 2,
+ Description__c = 'Neighborhood trend explanation insufficient.',
+ Resolution__c = 'Expanded market trend narrative with MLS evidence.',
+ Reference__c = 'MC-2'
)
};
System.debug('Created Appraiser Case Id: ' + appraiserCase.Id);
-System.debug('Payload JSON: ' + AppraiserCaseDocGenService.buildPayloadJson(appraiserCase.Id));
-System.debug('Doc Gen JSON: ' + AppraiserCaseDocGenService.buildDocGenRequestJson(appraiserCase.Id, 'APPRAISER_REVIEW_LETTER'));
+System.debug('Payload JSON: ' + AppraiserCasePayloadBuilder.buildPayloadJson(appraiserCase.Id));
+System.debug('Data XML:\n' + CLMDocGenCallout.buildDataXmlForCase(appraiserCase.Id));