diff --git a/src/fmg-components/cart/cart.vue b/src/fmg-components/cart/cart.vue index 3cb99f941..19e190f5f 100644 --- a/src/fmg-components/cart/cart.vue +++ b/src/fmg-components/cart/cart.vue @@ -103,6 +103,7 @@ class="small mt-4" v-model="lineItems" :addableVaps="availableVaps" + :pageName="pageName" modalWidgetName="PromoModalWidget" /> @@ -145,6 +146,7 @@ export default { damage: Object, servicePackageOptionsCmsName: String, availableVaps: Object, + pageName: String, allowItemRemoval: Boolean, recyclingModalCmsWidgetName: String, showAsPaid: Boolean, diff --git a/src/helpers/heritage-integration/navigation-helper.js b/src/helpers/heritage-integration/navigation-helper.js index 6da22c37c..e58dc0a3a 100644 --- a/src/helpers/heritage-integration/navigation-helper.js +++ b/src/helpers/heritage-integration/navigation-helper.js @@ -129,6 +129,11 @@ export async function navigateToHeritageFunnel({ shouldSaveSession, pageNameToLo heritageParms["forceEndToEndInsurance"] = true; } + // if they are going to heritage and already have a policy number then this is a nav back flow + if (store.getters.policy.policyNumber) { + heritageParms["insuranceNavBack"] = true; + } + router.navigateToExternalUrl(externalUrls.HERITAGE_FUNNEL, heritageParms); } diff --git a/src/helpers/heritage-integration/order-helper.js b/src/helpers/heritage-integration/order-helper.js index 38f4161b9..07c469ae8 100644 --- a/src/helpers/heritage-integration/order-helper.js +++ b/src/helpers/heritage-integration/order-helper.js @@ -166,6 +166,7 @@ async function saveSessionHelper( customerPortalLoginToken: savedSessionInfo.data.customerPortalLoginToken, lockToken: savedSessionInfo.data.lockToken, settledTenderAmount: savedSessionInfo.data.settledTenderAmount, + billToAccountNumber: savedSessionInfo.data.billToAccountNumber, }, false ); diff --git a/src/layouts/insurance-company/insurance-company.vue b/src/layouts/insurance-company/insurance-company.vue index e880b1534..4fa86743f 100644 --- a/src/layouts/insurance-company/insurance-company.vue +++ b/src/layouts/insurance-company/insurance-company.vue @@ -119,6 +119,7 @@ export default { return { searchableInsuranceCompanyList: [], originalList: [], + selectedParentAccount: "", }; }, methods: { @@ -142,8 +143,11 @@ export default { // Go back to Quote page this.$router.navigateWithoutSaving(this.navigationScenarios.CLICKED_BACK, this.$route); }, - forwardButtonAction() { - this.dispatchStoreAction( + async forwardButtonAction() { + // await any pending save-sessions. if you don't, we will save the new parent account into vuex and then a pending async save-session response overwrites it + await store.getters.applicationUser.saveSessionPromise; + + await this.dispatchStoreAction( this.storeActions.SAVE_PARENT_ACCOUNT_NUMBER, this.selectedParentAccount, false @@ -156,12 +160,12 @@ export default { }); }, selectParentAccountNumber(parentAccountName) { - if (!this.insuranceCompanyList) { + if (!this.searchableInsuranceCompanyList) { console.error("No insurance companies found"); return; } - var selectedItem = this.insuranceCompanyList.filter((item) => { + var selectedItem = this.searchableInsuranceCompanyList.filter((item) => { return item.accountName === parentAccountName; }); diff --git a/src/layouts/payment-method/payment-method.vue b/src/layouts/payment-method/payment-method.vue index 6d233a797..207b7f041 100644 --- a/src/layouts/payment-method/payment-method.vue +++ b/src/layouts/payment-method/payment-method.vue @@ -26,6 +26,7 @@ :availableVaps="availableVaps" :allowItemRemoval="true" v-model="lineItems" + pageName="payment-method" servicePackageOptionsCmsName="ServicePackageTitle" recyclingModalCmsWidgetName="RecycleModal" /> diff --git a/src/layouts/quote/afterpay-modal-banner/afterpay-modal-banner.vue b/src/layouts/quote/afterpay-modal-banner/afterpay-modal-banner.vue index 6eb8a5a87..09d9ddc15 100644 --- a/src/layouts/quote/afterpay-modal-banner/afterpay-modal-banner.vue +++ b/src/layouts/quote/afterpay-modal-banner/afterpay-modal-banner.vue @@ -29,6 +29,8 @@