From 7ff2c1b38f4c9efa8907f4e8179988895a6c7483 Mon Sep 17 00:00:00 2001 From: CarlNation Date: Wed, 22 Jan 2025 10:44:12 -0500 Subject: [PATCH] CASH-109 CASH-109 the implicit navigation won't work for verified insurance because the quote prereqs always returns false because verified insurance is not permitted on quote page. Also prevent glassparts from being removed for return-users. --- .../heritage-integration/navigation-helper.js | 4 +++ src/router/index.js | 28 +++++++++++++++---- 2 files changed, 27 insertions(+), 5 deletions(-) diff --git a/src/helpers/heritage-integration/navigation-helper.js b/src/helpers/heritage-integration/navigation-helper.js index 4afc7e115..2fc557a16 100644 --- a/src/helpers/heritage-integration/navigation-helper.js +++ b/src/helpers/heritage-integration/navigation-helper.js @@ -76,6 +76,10 @@ export async function getImplicitNavigation(toRoute) { const skipVin = await skipVinLookup(); + if (store.getters.order.payment.insuranceCoverage?.isVerified) { + return fmgPageValues.HERITAGE; + } + if (quoteComponent.methods.arePagePrerequisitesValid()) { // Do not send to quote if verified insurance user. if (store.getters.requiresVerifiedRedirecting) { diff --git a/src/router/index.js b/src/router/index.js index ed35f6808..d956af773 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -83,6 +83,8 @@ const routes = [ const fromReturnUser = from?.name === fmgPageValues.RETURN_USER; const fromContentSite = getQuerystringParameter(queryStrings.START_TYPE) === "fmg"; const toReturnUserPage = to.query?.fmgPage === fmgPageValues.RETURN_USER; + log(" --fromReturnUser ", fromReturnUser); + log(" --to.query.fmgPage ", to.query?.fmgPage); // Intercept all navigation if a submitted order exists in storage if (window.sessionStorage.getItem("submittedOrder") !== null) { @@ -103,9 +105,17 @@ const routes = [ !toReturnUserPage ) { log(" --from content site navigate to return user"); + var qso = { + fmgPage: fmgPageValues.RETURN_USER, + }; + const lg = getQuerystringParameter(queryStrings.LOG); + if (lg) { + qso[queryStrings.LOG] = true; + } + router.push({ path: "/", - query: { fmgPage: fmgPageValues.RETURN_USER }, + query: Object.assign({}, qso), }); return; } @@ -156,21 +166,27 @@ const routes = [ log(" --load session end"); //Update external parameter state but not when returning from heritage - if (!to.query.fmgPage?.startsWith("service-location")) { + if (!to.query.fmgPage?.startsWith("service-location") && !fromReturnUser) { updateExternalParameterState(); } // clear part related state because heritage selected a new vehicle if ( to.query.fmgPage === fmgPageValues.VEHICLE && - eval(getFunnelCookie()?.HasDelayedClaimRegistration) + eval(getFunnelCookie()?.HasDelayedClaimRegistration && + !fromReturnUser) ) { store.commit(storeMutations.RESET_GLASS_PARTS_STATE); } // if coming from the return user page, clear the destination page so implicit navigation runs + log(" --to.query ", JSON.stringify(to.query)); if (fromReturnUser && to.query) { - to.query[queryStrings.FMG_PAGE] = ""; + log( " --clear to.query"); + delete to.query[queryStrings.FMG_PAGE]; + + //to.query[queryStrings.FMG_PAGE] = ""; + log(" --to.query cleared ", JSON.stringify(to.query)); } const pageToRedirectTo = await getPageToRouteExistingOrderTo(to); @@ -550,7 +566,7 @@ async function navigate( const pageError = getQuerystringParameter(queryStrings.PAGE_ERROR); const logQs = getQuerystringParameter(queryStrings.LOG); baseMixin.methods.dispatchStoreAction(storeActions.SAVE_LOGGING_OPTION, logQs, false); - + log("------------- router index.js navigate start -----------------"); log(" --scenario: ", scenario); log(" --isSavingNavigation: ", isSavingNavigation); @@ -614,6 +630,8 @@ function getNavigationMap(scenario, currentRoute) { function log(message, data) { const log = getQuerystringParameter(queryStrings.LOG); + baseMixin.methods.dispatchStoreAction(storeActions.SAVE_LOGGING_OPTION, log, false); + data = data ?? ""; const outData = typeof data === "object" ? JSON.stringify(data) : data;