Fix LWC async bug, null guard, stale sample script; update manifest
LWC fixes: - clmDocGenWorkbench: resetSelectionsToDefaults was a sync onclick handler calling async initializeDefaults without await — isBusy not set and errors silently dropped; made the method async and added await - clmRequestPreview: loadPreview called from refreshAll (account/letter change handlers) without a recordId guard; a null appraiserCaseId would propagate to the Apex AuraHandledException; added early return with a user-facing message manifest/package.xml: - Was missing CLM_Account_Setting__mdt and CLM_Letter_Definition__mdt objects and all 17 custom metadata records - Missing DocusignESignatureService and its test class - Missing docusignEsignWorkbench and clmRequestPreview LWC components - Missing NamedCredential section entirely (CLMs1*, CLMuat*, Esignature_Demo) - Missing CLM Account Setting and Letter Definition layouts scripts/apex/createSampleAppraiserCase.apex: - Rewrote entirely; old version referenced the deleted Appraiser_Deficiency__c object, Sort_Order__c, Deficiency_Number__c as a string, and the deleted AppraiserCaseDocGenService class - Now uses Appraiser_Case_Deficiency__c with correct field types - Populates all appraiser identity/address fields added since original version - Debug output uses AppraiserCasePayloadBuilder and CLMDocGenCallout Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
fe337efe63
commit
0ce516bbfc
|
|
@ -317,7 +317,7 @@ export default class ClmDocGenWorkbench extends LightningElement {
|
||||||
return `${normalizedPrefix}.docx`;
|
return `${normalizedPrefix}.docx`;
|
||||||
}
|
}
|
||||||
|
|
||||||
resetSelectionsToDefaults() {
|
async resetSelectionsToDefaults() {
|
||||||
this.hasLoadedDefaults = false;
|
this.hasLoadedDefaults = false;
|
||||||
this.templateFolderName = '';
|
this.templateFolderName = '';
|
||||||
this.destinationFolderName = '';
|
this.destinationFolderName = '';
|
||||||
|
|
@ -329,7 +329,7 @@ export default class ClmDocGenWorkbench extends LightningElement {
|
||||||
this.destinationDocumentOptions = [];
|
this.destinationDocumentOptions = [];
|
||||||
this.selectedTemplateSubfolderHref = '';
|
this.selectedTemplateSubfolderHref = '';
|
||||||
this.selectedDestinationSubfolderHref = '';
|
this.selectedDestinationSubfolderHref = '';
|
||||||
this.initializeDefaults(true);
|
await this.initializeDefaults(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
async loadCaseContext() {
|
async loadCaseContext() {
|
||||||
|
|
|
||||||
|
|
@ -76,6 +76,10 @@ export default class ClmRequestPreview extends LightningElement {
|
||||||
}
|
}
|
||||||
|
|
||||||
async loadPreview() {
|
async loadPreview() {
|
||||||
|
if (!this.recordId) {
|
||||||
|
this.showMessage('No record context — place this component on a record page.', 'warning');
|
||||||
|
return;
|
||||||
|
}
|
||||||
this.preview = await getDocGenPreview({
|
this.preview = await getDocGenPreview({
|
||||||
appraiserCaseId: this.recordId,
|
appraiserCaseId: this.recordId,
|
||||||
accountCode: this.accountCode,
|
accountCode: this.accountCode,
|
||||||
|
|
|
||||||
|
|
@ -5,14 +5,31 @@
|
||||||
<name>CustomApplication</name>
|
<name>CustomApplication</name>
|
||||||
</types>
|
</types>
|
||||||
<types>
|
<types>
|
||||||
|
<members>CLM_Account_Setting.DTC_CLM_Demo</members>
|
||||||
|
<members>CLM_Account_Setting.DTC_HUD_Demo</members>
|
||||||
|
<members>CLM_Account_Setting.DTC_IAM_Enterprise</members>
|
||||||
<members>CLM_Environment_Setting.S1</members>
|
<members>CLM_Environment_Setting.S1</members>
|
||||||
<members>CLM_Environment_Setting.UAT</members>
|
<members>CLM_Environment_Setting.UAT</members>
|
||||||
|
<members>CLM_Letter_Definition.DTC_CLM_Demo_Appraiser_Review</members>
|
||||||
|
<members>CLM_Letter_Definition.DTC_CLM_Demo_Education_Letter</members>
|
||||||
|
<members>CLM_Letter_Definition.DTC_CLM_Demo_Intent_to_Remove_Letter</members>
|
||||||
|
<members>CLM_Letter_Definition.DTC_CLM_Demo_NOD_Letter</members>
|
||||||
|
<members>CLM_Letter_Definition.DTC_HUD_Demo_Appraiser_Review</members>
|
||||||
|
<members>CLM_Letter_Definition.DTC_HUD_Demo_Education_Letter</members>
|
||||||
|
<members>CLM_Letter_Definition.DTC_HUD_Demo_Intent_to_Remove_Letter</members>
|
||||||
|
<members>CLM_Letter_Definition.DTC_HUD_Demo_NOD_Letter</members>
|
||||||
|
<members>CLM_Letter_Definition.DTC_IAM_Ent_Intent_Remove</members>
|
||||||
|
<members>CLM_Letter_Definition.DTC_IAM_Enterprise_Appraiser_Review</members>
|
||||||
|
<members>CLM_Letter_Definition.DTC_IAM_Enterprise_Education_Letter</members>
|
||||||
|
<members>CLM_Letter_Definition.DTC_IAM_Enterprise_NOD_Letter</members>
|
||||||
<name>CustomMetadata</name>
|
<name>CustomMetadata</name>
|
||||||
</types>
|
</types>
|
||||||
<types>
|
<types>
|
||||||
<members>Appraiser_Case__c</members>
|
<members>Appraiser_Case__c</members>
|
||||||
<members>Appraiser_Case_Deficiency__c</members>
|
<members>Appraiser_Case_Deficiency__c</members>
|
||||||
|
<members>CLM_Account_Setting__mdt</members>
|
||||||
<members>CLM_Environment_Setting__mdt</members>
|
<members>CLM_Environment_Setting__mdt</members>
|
||||||
|
<members>CLM_Letter_Definition__mdt</members>
|
||||||
<name>CustomObject</name>
|
<name>CustomObject</name>
|
||||||
</types>
|
</types>
|
||||||
<types>
|
<types>
|
||||||
|
|
@ -20,6 +37,10 @@
|
||||||
<members>Appraiser_Case_Deficiency__c</members>
|
<members>Appraiser_Case_Deficiency__c</members>
|
||||||
<name>CustomTab</name>
|
<name>CustomTab</name>
|
||||||
</types>
|
</types>
|
||||||
|
<types>
|
||||||
|
<members>DocusignJWT</members>
|
||||||
|
<name>ExternalCredential</name>
|
||||||
|
</types>
|
||||||
<types>
|
<types>
|
||||||
<members>Appraiser_Case_Record_Page</members>
|
<members>Appraiser_Case_Record_Page</members>
|
||||||
<name>FlexiPage</name>
|
<name>FlexiPage</name>
|
||||||
|
|
@ -31,8 +52,18 @@
|
||||||
<types>
|
<types>
|
||||||
<members>Appraiser_Case__c-Appraiser Case Layout</members>
|
<members>Appraiser_Case__c-Appraiser Case Layout</members>
|
||||||
<members>Appraiser_Case_Deficiency__c-Appraiser Case Deficiency Layout</members>
|
<members>Appraiser_Case_Deficiency__c-Appraiser Case Deficiency Layout</members>
|
||||||
|
<members>CLM_Account_Setting__mdt-CLM Account Setting Layout</members>
|
||||||
|
<members>CLM_Letter_Definition__mdt-CLM Letter Definition Layout</members>
|
||||||
<name>Layout</name>
|
<name>Layout</name>
|
||||||
</types>
|
</types>
|
||||||
|
<types>
|
||||||
|
<members>CLMs1Download</members>
|
||||||
|
<members>CLMs1NamedCreds</members>
|
||||||
|
<members>CLMuatDownload</members>
|
||||||
|
<members>CLMuatNamedCreds</members>
|
||||||
|
<members>Esignature_Demo_NamedCreds</members>
|
||||||
|
<name>NamedCredential</name>
|
||||||
|
</types>
|
||||||
<types>
|
<types>
|
||||||
<members>Appraiser_Case__c.Generate_Review_Letter</members>
|
<members>Appraiser_Case__c.Generate_Review_Letter</members>
|
||||||
<name>QuickAction</name>
|
<name>QuickAction</name>
|
||||||
|
|
@ -43,21 +74,21 @@
|
||||||
<name>PermissionSet</name>
|
<name>PermissionSet</name>
|
||||||
</types>
|
</types>
|
||||||
<types>
|
<types>
|
||||||
<members>CLMAdminService</members>
|
|
||||||
<members>CLMAdminServiceTest</members>
|
|
||||||
<members>AppraiserCasePayloadBuilder</members>
|
<members>AppraiserCasePayloadBuilder</members>
|
||||||
<members>AppraiserCasePayloadBuilderTest</members>
|
<members>AppraiserCasePayloadBuilderTest</members>
|
||||||
|
<members>CLMAdminService</members>
|
||||||
|
<members>CLMAdminServiceTest</members>
|
||||||
<members>CLMDocGenCallout</members>
|
<members>CLMDocGenCallout</members>
|
||||||
<members>CLMDocGenCalloutTest</members>
|
<members>CLMDocGenCalloutTest</members>
|
||||||
|
<members>DocusignESignatureService</members>
|
||||||
|
<members>DocusignESignatureServiceTest</members>
|
||||||
<name>ApexClass</name>
|
<name>ApexClass</name>
|
||||||
</types>
|
</types>
|
||||||
<types>
|
<types>
|
||||||
<members>clmDocGenWorkbench</members>
|
<members>clmDocGenWorkbench</members>
|
||||||
|
<members>clmRequestPreview</members>
|
||||||
|
<members>docusignEsignWorkbench</members>
|
||||||
<name>LightningComponentBundle</name>
|
<name>LightningComponentBundle</name>
|
||||||
</types>
|
</types>
|
||||||
<types>
|
|
||||||
<members>DocusignJWT</members>
|
|
||||||
<name>ExternalCredential</name>
|
|
||||||
</types>
|
|
||||||
<version>62.0</version>
|
<version>62.0</version>
|
||||||
</Package>
|
</Package>
|
||||||
|
|
|
||||||
|
|
@ -1,32 +1,41 @@
|
||||||
Appraiser_Case__c appraiserCase = new Appraiser_Case__c(
|
Appraiser_Case__c appraiserCase = new Appraiser_Case__c(
|
||||||
Appraiser_Field_Review_Date__c = Date.today(),
|
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_Street__c = '123 Main St',
|
||||||
Property_City__c = 'Ottawa',
|
Property_City__c = 'Denver',
|
||||||
Property_State_Province__c = 'ON',
|
Property_State_Province__c = 'CO',
|
||||||
Property_Postal_Code__c = 'K1A 0A1',
|
Property_Postal_Code__c = '80202',
|
||||||
Property_Country__c = 'Canada'
|
Property_Country__c = 'USA'
|
||||||
);
|
);
|
||||||
insert appraiserCase;
|
insert appraiserCase;
|
||||||
|
|
||||||
insert new List<Appraiser_Deficiency__c>{
|
insert new List<Appraiser_Case_Deficiency__c>{
|
||||||
new Appraiser_Deficiency__c(
|
new Appraiser_Case_Deficiency__c(
|
||||||
Name = 'Deficiency 1',
|
|
||||||
Appraiser_Case__c = appraiserCase.Id,
|
Appraiser_Case__c = appraiserCase.Id,
|
||||||
Deficiency_Number__c = '1',
|
Deficiency_Number__c = 1,
|
||||||
Description__c = 'Missing comparable sale analysis',
|
Description__c = 'Missing comparable sale adjustment detail.',
|
||||||
Resolution__c = 'Provide updated comparable sales section',
|
Resolution__c = 'Added adjustment rationale and supporting calculations.',
|
||||||
Sort_Order__c = 1
|
Reference__c = 'VC-1'
|
||||||
),
|
),
|
||||||
new Appraiser_Deficiency__c(
|
new Appraiser_Case_Deficiency__c(
|
||||||
Name = 'Deficiency 2',
|
|
||||||
Appraiser_Case__c = appraiserCase.Id,
|
Appraiser_Case__c = appraiserCase.Id,
|
||||||
Deficiency_Number__c = '2',
|
Deficiency_Number__c = 2,
|
||||||
Description__c = 'Exterior condition comments are too brief',
|
Description__c = 'Neighborhood trend explanation insufficient.',
|
||||||
Resolution__c = 'Expand comments and attach photos',
|
Resolution__c = 'Expanded market trend narrative with MLS evidence.',
|
||||||
Sort_Order__c = 2
|
Reference__c = 'MC-2'
|
||||||
)
|
)
|
||||||
};
|
};
|
||||||
|
|
||||||
System.debug('Created Appraiser Case Id: ' + appraiserCase.Id);
|
System.debug('Created Appraiser Case Id: ' + appraiserCase.Id);
|
||||||
System.debug('Payload JSON: ' + AppraiserCaseDocGenService.buildPayloadJson(appraiserCase.Id));
|
System.debug('Payload JSON: ' + AppraiserCasePayloadBuilder.buildPayloadJson(appraiserCase.Id));
|
||||||
System.debug('Doc Gen JSON: ' + AppraiserCaseDocGenService.buildDocGenRequestJson(appraiserCase.Id, 'APPRAISER_REVIEW_LETTER'));
|
System.debug('Data XML:\n' + CLMDocGenCallout.buildDataXmlForCase(appraiserCase.Id));
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue