CSR-1582 | isInsurance is nullable & navigation changes

Allow saveSession to send a null value for isInsurance
Allow service packages to be auto selected based on if isInsurance is null
Add in service location and schedule pages to navigation logic
This commit is contained in:
Scott Kiener 2023-08-15 09:04:32 -04:00
parent e3dfbb6a47
commit 82a73565bd
3 changed files with 13 additions and 28 deletions

View file

@ -31,7 +31,8 @@ export async function getPageToRouteExistingOrderTo(toRoute = {}, existingHerita
// Return that page, so that it can navigate like normal. // Return that page, so that it can navigate like normal.
if ( if (
toRoute.query[queryStrings.FMG_PAGE] !== undefined && toRoute.query[queryStrings.FMG_PAGE] !== undefined &&
toRoute.query[queryStrings.FMG_PAGE] !== fmgPageValues.QUOTE && toRoute.query[queryStrings.FMG_PAGE] !== fmgPageValues.SERVICE_LOCATION &&
toRoute.query[queryStrings.FMG_PAGE] !== fmgPageValues.SCHEDULE &&
!isVinRelatedPage(toRoute) !isVinRelatedPage(toRoute)
) { ) {
return overrideYmmsDirectionIfNeeded(toRoute); return overrideYmmsDirectionIfNeeded(toRoute);
@ -115,6 +116,8 @@ async function getLatestPageForRedirection() {
fmgPageValues.CAPABILITY_QUESTIONS fmgPageValues.CAPABILITY_QUESTIONS
); );
const quoteComponent = await getLazyLoadedComponent(fmgPageValues.QUOTE); const quoteComponent = await getLazyLoadedComponent(fmgPageValues.QUOTE);
const serviceLocationComponent = await getLazyLoadedComponent(fmgPageValues.SERVICE_LOCATION);
const scheduleComponent = await getLazyLoadedComponent(fmgPageValues.SCHEDULE);
const skipVin = await skipVinLookup(); const skipVin = await skipVinLookup();
@ -129,7 +132,13 @@ async function getLatestPageForRedirection() {
} else if (!estimateComponent.methods.arePagePrerequisitesValid()) { } else if (!estimateComponent.methods.arePagePrerequisitesValid()) {
return fmgPageValues.VEHICLE_DAMAGE; return fmgPageValues.VEHICLE_DAMAGE;
} else { } else {
if (quoteComponent.methods.arePagePrerequisitesValid()) { if (scheduleComponent.methods.arePagePrerequisitesValid()) {
return fmgPageValues.SCHEDULE;
} else if (serviceLocationComponent.methods.arePagePrerequisitesValid()) {
// This should be reversed 45+ days after the 8.24 release (Sunday October 8th, 2023)
//return fmgPageValues.SERVICE_LOCATION;
return fmgPageValues.QUOTE;
} else if (quoteComponent.methods.arePagePrerequisitesValid()) {
return fmgPageValues.QUOTE; return fmgPageValues.QUOTE;
} else if (capabilityQuestionsComponent.methods.arePagePrerequisitesValid()) { } else if (capabilityQuestionsComponent.methods.arePagePrerequisitesValid()) {
return fmgPageValues.CAPABILITY_QUESTIONS; return fmgPageValues.CAPABILITY_QUESTIONS;

View file

@ -44,7 +44,7 @@ export default {
}, },
watch: { watch: {
availableLineItems() { availableLineItems() {
if (this.allGlassPartsAndSupportingItemsHavePrices(this.$store.getters.lineItems)) { if (this.$store.getters.payment.isInsurance != null) {
this.selectDefaultPackage(); this.selectDefaultPackage();
} }
}, },
@ -230,30 +230,6 @@ export default {
} }
this.selectedPackageName = lowestTierForPackage; this.selectedPackageName = lowestTierForPackage;
}, },
allGlassPartsAndSupportingItemsHavePrices(lineItems) {
if (lineItems?.glassParts) {
for (let i = 0; i < lineItems.glassParts.length; i++) {
if (this.priceIsNullOrZero(lineItems.glassParts[i])) {
return false;
}
}
}
if (lineItems?.supportingItems) {
for (let i = 0; i < lineItems.supportingItems.length; i++) {
if (this.priceIsNullOrZero(lineItems.supportingItems[i])) {
return false;
}
}
}
return true;
},
priceIsNullOrZero(lineItem) {
return (
(lineItem.kitPrice == null || lineItem.kitPrice == 0) &&
(lineItem.laborAmount == null || lineItem.laborAmount == 0) &&
(lineItem.sellingPrice == null || lineItem.sellingPrice == 0)
);
},
getLowestTierForThisItem(vapsItem) { getLowestTierForThisItem(vapsItem) {
let lowestTierForThisItem = null; let lowestTierForThisItem = null;
switch (vapsItem.partType) { switch (vapsItem.partType) {

View file

@ -1429,7 +1429,7 @@ export const actions = {
InsuranceCoverage: { InsuranceCoverage: {
isVerified: order.payment.insuranceCoverage.isVerified ?? false, isVerified: order.payment.insuranceCoverage.isVerified ?? false,
}, },
isInsurance: order.payment.isInsurance ?? false, isInsurance: order.payment.isInsurance,
parentAccountNumber: order.payment.parentAccountNumber, parentAccountNumber: order.payment.parentAccountNumber,
}, },
serviceLocation: { serviceLocation: {