From c3b113d301909295a58c7d08ed4b4e47fc0c8a90 Mon Sep 17 00:00:00 2001 From: Scott Kiener Date: Mon, 16 Jan 2023 15:50:36 -0500 Subject: [PATCH 01/22] CSR-1083 | Child part prices not included in service package quotes --- src/mixins/base-mixin.js | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/src/mixins/base-mixin.js b/src/mixins/base-mixin.js index 0bebdc372..896a663ef 100644 --- a/src/mixins/base-mixin.js +++ b/src/mixins/base-mixin.js @@ -64,17 +64,12 @@ export default { }; }, getTierOnePackagePrice(lineItems) { - let totalPrice = 0; - lineItems.forEach((lineItem) => { - const partType = lineItem.partType.toUpperCase(); - if ( - partType != partTypeStrings.FRONT_WIPER && - partType != partTypeStrings.REAR_WIPER && - partType != partTypeStrings.RAIN_DEFENSE - ) { - totalPrice += this.getTotalLineItemPrice(lineItem); - } + let lineItemsToPrice = lineItems.filter(lineItem => { + return lineItem.partType != partTypeStrings.FRONT_WIPER && + lineItem.partType != partTypeStrings.REAR_WIPER && + lineItem.partType != partTypeStrings.RAIN_DEFENSE }); + let totalPrice = this.getTotalPriceOfAllLineItemsAndChildParts(lineItemsToPrice); return totalPrice; }, filterOutFees(lineItems) { @@ -86,6 +81,16 @@ export default { }); return filteredLineItems; }, + getTotalPriceOfAllLineItemsAndChildParts(lineItems) { + let totalPrice = 0; + lineItems.forEach((lineItem) => { + totalPrice += this.getTotalLineItemPrice(lineItem); + if (lineItem.childParts) { + totalPrice += this.getTotalPriceOfAllLineItemsAndChildParts(lineItem.childParts); + } + }); + return totalPrice; + }, getTotalLineItemPrice(lineItem) { return lineItem.kitPrice + lineItem.laborAmount + lineItem.sellingPrice; }, From 3e0d4a789fc989f0bac332922ddfa963c5d277f7 Mon Sep 17 00:00:00 2001 From: Scott Kiener Date: Mon, 16 Jan 2023 15:59:02 -0500 Subject: [PATCH 02/22] CSR-1083 | Formatting --- src/mixins/base-mixin.js | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/mixins/base-mixin.js b/src/mixins/base-mixin.js index 896a663ef..9018de79b 100644 --- a/src/mixins/base-mixin.js +++ b/src/mixins/base-mixin.js @@ -64,10 +64,12 @@ export default { }; }, getTierOnePackagePrice(lineItems) { - let lineItemsToPrice = lineItems.filter(lineItem => { - return lineItem.partType != partTypeStrings.FRONT_WIPER && - lineItem.partType != partTypeStrings.REAR_WIPER && - lineItem.partType != partTypeStrings.RAIN_DEFENSE + let lineItemsToPrice = lineItems.filter((lineItem) => { + return ( + lineItem.partType != partTypeStrings.FRONT_WIPER && + lineItem.partType != partTypeStrings.REAR_WIPER && + lineItem.partType != partTypeStrings.RAIN_DEFENSE + ); }); let totalPrice = this.getTotalPriceOfAllLineItemsAndChildParts(lineItemsToPrice); return totalPrice; @@ -86,7 +88,9 @@ export default { lineItems.forEach((lineItem) => { totalPrice += this.getTotalLineItemPrice(lineItem); if (lineItem.childParts) { - totalPrice += this.getTotalPriceOfAllLineItemsAndChildParts(lineItem.childParts); + totalPrice += this.getTotalPriceOfAllLineItemsAndChildParts( + lineItem.childParts + ); } }); return totalPrice; From b3edba964dcc6425c6f9b3e4237fa21f85801a5b Mon Sep 17 00:00:00 2001 From: CarlNation Date: Tue, 17 Jan 2023 10:19:54 -0500 Subject: [PATCH 03/22] CSR-1086 Recover from old saved sessions and errors --- .../heritage-integration/order-helper.js | 2 +- src/store/index.js | 38 ++++++++++++------- 2 files changed, 25 insertions(+), 15 deletions(-) diff --git a/src/helpers/heritage-integration/order-helper.js b/src/helpers/heritage-integration/order-helper.js index 05b4c4dc4..7cf3cc12b 100644 --- a/src/helpers/heritage-integration/order-helper.js +++ b/src/helpers/heritage-integration/order-helper.js @@ -44,7 +44,7 @@ export async function loadSessionIfPresent(isConceptInsurance) { funnelCookie.ReferralCorrelationId, isConceptInsurance ) - ).data; + )?.data; } /* diff --git a/src/store/index.js b/src/store/index.js index c41f38ddf..d2634dd10 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -10,6 +10,7 @@ import { experimentTriggers } from "@/constants/experiments"; import { damageLocationsSelected } from "@/constants/damage-locations-selected"; import { fmgPageValues } from "@/router/router-constants/fmgPage-values"; import router from "@/router"; +import { deleteFunnelCookie } from "@/helpers/heritage-integration/cookie-helper.js"; // Export State const getDefaultState = () => { @@ -1059,23 +1060,32 @@ export const actions = { referralCorrelationId: referralCorrelationId, }, }) - .then((response) => { - // Flatten location and name properties - response.data.order.damage?.glassToReplace?.map((glass) => { - glass.glassLocation = glass.location; - glass.glassName = glass.name; - delete glass.location; - delete glass.name; - return glass; - }); + .then( + (response) => { + // Flatten location and name properties + response.data.order.damage?.glassToReplace?.map((glass) => { + glass.glassLocation = glass.location; + glass.glassName = glass.name; + delete glass.location; + delete glass.name; + return glass; + }); - // clear the state if the existing EON does not equal what is returned from loadSession - if (context.state.order.eon && context.state.order.eon != response.data.eon) { + // clear the state if the existing EON does not equal what is returned from loadSession + if (context.state.order.eon && context.state.order.eon != response.data.eon) { + context.commit(storeMutations.RESET_STATE); + } + context.commit( + storeMutations.UPDATE_STATE_WITH_ORDER_INFORMATION, + response.data + ); + return response; + }, + (error) => { + deleteFunnelCookie(); context.commit(storeMutations.RESET_STATE); } - context.commit(storeMutations.UPDATE_STATE_WITH_ORDER_INFORMATION, response.data); - return response; - }); + ); }, // Business domain actions From 6e5b98058a01da78230c227659a4205eeaf9cfe6 Mon Sep 17 00:00:00 2001 From: Bryan Mauger Date: Mon, 30 Jan 2023 15:39:50 -0500 Subject: [PATCH 04/22] CSR-896 Fix regex to error on more than one dot in email address prior to domain extension. --- .../address-lookup/customer-questions/customer-questions.vue | 2 +- src/layouts/estimate/estimate.vue | 2 +- src/layouts/license-plate-lookup/license-plate-lookup.vue | 2 +- src/layouts/vin-lookup/vin-lookup.vue | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/layouts/address-lookup/customer-questions/customer-questions.vue b/src/layouts/address-lookup/customer-questions/customer-questions.vue index 5c8ee6b4e..f73d21b9c 100644 --- a/src/layouts/address-lookup/customer-questions/customer-questions.vue +++ b/src/layouts/address-lookup/customer-questions/customer-questions.vue @@ -56,7 +56,7 @@ defineRule("email-address-required", required(errorMessages.EMAIL_ADDRESS_REQUIR defineRule( "email-address-format", regex( - /^([a-zA-Z0-9_\-.+]+)@([a-zA-Z0-9_\-.]+)\.([a-zA-Z]{2,})$/, + /^([a-zA-Z0-9_\-.+]+)@([a-zA-Z0-9_\-.])+\.([a-zA-Z]{2,})$/, errorMessages.EMAIL_ADDRESS_FORMAT ) ); diff --git a/src/layouts/estimate/estimate.vue b/src/layouts/estimate/estimate.vue index 0f8508921..e92a0bc9f 100644 --- a/src/layouts/estimate/estimate.vue +++ b/src/layouts/estimate/estimate.vue @@ -120,7 +120,7 @@ defineRule("email-address-required", required(errorMessages.EMAIL_ADDRESS_REQUIR defineRule( "email-address-format", regex( - /^([a-zA-Z0-9_\-.+]+)@([a-zA-Z0-9_\-.]+)\.([a-zA-Z]{2,})$/, + /^([a-zA-Z0-9_\-.+]+)@([a-zA-Z0-9_\-.])+\.([a-zA-Z]{2,})$/, errorMessages.EMAIL_ADDRESS_FORMAT ) ); diff --git a/src/layouts/license-plate-lookup/license-plate-lookup.vue b/src/layouts/license-plate-lookup/license-plate-lookup.vue index 5b7c0b568..1abf2daf7 100644 --- a/src/layouts/license-plate-lookup/license-plate-lookup.vue +++ b/src/layouts/license-plate-lookup/license-plate-lookup.vue @@ -120,7 +120,7 @@ defineRule("email-address-required", required(errorMessages.EMAIL_ADDRESS_REQUIR defineRule( "email-address-format", regex( - /^([a-zA-Z0-9_\-.+]+)@([a-zA-Z0-9_\-.]+)\.([a-zA-Z]{2,})$/, + /^([a-zA-Z0-9_\-.+]+)@([a-zA-Z0-9_\-.])+\.([a-zA-Z]{2,})$/, errorMessages.EMAIL_ADDRESS_FORMAT ) ); diff --git a/src/layouts/vin-lookup/vin-lookup.vue b/src/layouts/vin-lookup/vin-lookup.vue index 6db8736c3..b5a39b310 100644 --- a/src/layouts/vin-lookup/vin-lookup.vue +++ b/src/layouts/vin-lookup/vin-lookup.vue @@ -145,7 +145,7 @@ defineRule("email-address-required", required(errorMessages.EMAIL_ADDRESS_REQUIR defineRule( "email-address-format", regex( - /^([a-zA-Z0-9_\-.+]+)@([a-zA-Z0-9_\-.]+)\.([a-zA-Z]{2,})$/, + /^([a-zA-Z0-9_\-.+]+)@([a-zA-Z0-9_\-.])+\.([a-zA-Z]{2,})$/, errorMessages.EMAIL_ADDRESS_FORMAT ) ); From 10e1c9a17293e982d045e81b8a4c47e8244aa9a2 Mon Sep 17 00:00:00 2001 From: Bryan Mauger Date: Mon, 30 Jan 2023 16:59:15 -0500 Subject: [PATCH 05/22] Update regex. --- .../address-lookup/customer-questions/customer-questions.vue | 2 +- src/layouts/estimate/estimate.vue | 2 +- src/layouts/license-plate-lookup/license-plate-lookup.vue | 2 +- src/layouts/vin-lookup/vin-lookup.vue | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/layouts/address-lookup/customer-questions/customer-questions.vue b/src/layouts/address-lookup/customer-questions/customer-questions.vue index f73d21b9c..172973e28 100644 --- a/src/layouts/address-lookup/customer-questions/customer-questions.vue +++ b/src/layouts/address-lookup/customer-questions/customer-questions.vue @@ -56,7 +56,7 @@ defineRule("email-address-required", required(errorMessages.EMAIL_ADDRESS_REQUIR defineRule( "email-address-format", regex( - /^([a-zA-Z0-9_\-.+]+)@([a-zA-Z0-9_\-.])+\.([a-zA-Z]{2,})$/, + /^([a-zA-Z0-9_\-.+]+)@([a-zA-Z0-9]+)\.([a-zA-Z]{2,})$/, errorMessages.EMAIL_ADDRESS_FORMAT ) ); diff --git a/src/layouts/estimate/estimate.vue b/src/layouts/estimate/estimate.vue index e92a0bc9f..2efff8d21 100644 --- a/src/layouts/estimate/estimate.vue +++ b/src/layouts/estimate/estimate.vue @@ -120,7 +120,7 @@ defineRule("email-address-required", required(errorMessages.EMAIL_ADDRESS_REQUIR defineRule( "email-address-format", regex( - /^([a-zA-Z0-9_\-.+]+)@([a-zA-Z0-9_\-.])+\.([a-zA-Z]{2,})$/, + /^([a-zA-Z0-9_\-.+]+)@([a-zA-Z0-9]+)\.([a-zA-Z]{2,})$/, errorMessages.EMAIL_ADDRESS_FORMAT ) ); diff --git a/src/layouts/license-plate-lookup/license-plate-lookup.vue b/src/layouts/license-plate-lookup/license-plate-lookup.vue index 1abf2daf7..9714e2ead 100644 --- a/src/layouts/license-plate-lookup/license-plate-lookup.vue +++ b/src/layouts/license-plate-lookup/license-plate-lookup.vue @@ -120,7 +120,7 @@ defineRule("email-address-required", required(errorMessages.EMAIL_ADDRESS_REQUIR defineRule( "email-address-format", regex( - /^([a-zA-Z0-9_\-.+]+)@([a-zA-Z0-9_\-.])+\.([a-zA-Z]{2,})$/, + /^([a-zA-Z0-9_\-.+]+)@([a-zA-Z0-9]+)\.([a-zA-Z]{2,})$/, errorMessages.EMAIL_ADDRESS_FORMAT ) ); diff --git a/src/layouts/vin-lookup/vin-lookup.vue b/src/layouts/vin-lookup/vin-lookup.vue index b5a39b310..e118f9664 100644 --- a/src/layouts/vin-lookup/vin-lookup.vue +++ b/src/layouts/vin-lookup/vin-lookup.vue @@ -145,7 +145,7 @@ defineRule("email-address-required", required(errorMessages.EMAIL_ADDRESS_REQUIR defineRule( "email-address-format", regex( - /^([a-zA-Z0-9_\-.+]+)@([a-zA-Z0-9_\-.])+\.([a-zA-Z]{2,})$/, + /^([a-zA-Z0-9_\-.+]+)@([a-zA-Z0-9]+)\.([a-zA-Z]{2,})$/, errorMessages.EMAIL_ADDRESS_FORMAT ) ); From 9817c7d3282a456ddbca89590c11a915fe5dcffa Mon Sep 17 00:00:00 2001 From: Bryan Mauger Date: Tue, 31 Jan 2023 08:26:18 -0500 Subject: [PATCH 06/22] Add dash to regex. --- .../address-lookup/customer-questions/customer-questions.vue | 2 +- src/layouts/estimate/estimate.vue | 2 +- src/layouts/license-plate-lookup/license-plate-lookup.vue | 2 +- src/layouts/vin-lookup/vin-lookup.vue | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/layouts/address-lookup/customer-questions/customer-questions.vue b/src/layouts/address-lookup/customer-questions/customer-questions.vue index 172973e28..f0b2e9b33 100644 --- a/src/layouts/address-lookup/customer-questions/customer-questions.vue +++ b/src/layouts/address-lookup/customer-questions/customer-questions.vue @@ -56,7 +56,7 @@ defineRule("email-address-required", required(errorMessages.EMAIL_ADDRESS_REQUIR defineRule( "email-address-format", regex( - /^([a-zA-Z0-9_\-.+]+)@([a-zA-Z0-9]+)\.([a-zA-Z]{2,})$/, + /^([a-zA-Z0-9_\-.+]+)@([a-zA-Z0-9\-]+)\.([a-zA-Z]{2,})$/, errorMessages.EMAIL_ADDRESS_FORMAT ) ); diff --git a/src/layouts/estimate/estimate.vue b/src/layouts/estimate/estimate.vue index 2efff8d21..c6d691e16 100644 --- a/src/layouts/estimate/estimate.vue +++ b/src/layouts/estimate/estimate.vue @@ -120,7 +120,7 @@ defineRule("email-address-required", required(errorMessages.EMAIL_ADDRESS_REQUIR defineRule( "email-address-format", regex( - /^([a-zA-Z0-9_\-.+]+)@([a-zA-Z0-9]+)\.([a-zA-Z]{2,})$/, + /^([a-zA-Z0-9_\-.+]+)@([a-zA-Z0-9\-]+)\.([a-zA-Z]{2,})$/, errorMessages.EMAIL_ADDRESS_FORMAT ) ); diff --git a/src/layouts/license-plate-lookup/license-plate-lookup.vue b/src/layouts/license-plate-lookup/license-plate-lookup.vue index 9714e2ead..afa442e09 100644 --- a/src/layouts/license-plate-lookup/license-plate-lookup.vue +++ b/src/layouts/license-plate-lookup/license-plate-lookup.vue @@ -120,7 +120,7 @@ defineRule("email-address-required", required(errorMessages.EMAIL_ADDRESS_REQUIR defineRule( "email-address-format", regex( - /^([a-zA-Z0-9_\-.+]+)@([a-zA-Z0-9]+)\.([a-zA-Z]{2,})$/, + /^([a-zA-Z0-9_\-.+]+)@([a-zA-Z0-9\-]+)\.([a-zA-Z]{2,})$/, errorMessages.EMAIL_ADDRESS_FORMAT ) ); diff --git a/src/layouts/vin-lookup/vin-lookup.vue b/src/layouts/vin-lookup/vin-lookup.vue index e118f9664..e48f0e42b 100644 --- a/src/layouts/vin-lookup/vin-lookup.vue +++ b/src/layouts/vin-lookup/vin-lookup.vue @@ -145,7 +145,7 @@ defineRule("email-address-required", required(errorMessages.EMAIL_ADDRESS_REQUIR defineRule( "email-address-format", regex( - /^([a-zA-Z0-9_\-.+]+)@([a-zA-Z0-9]+)\.([a-zA-Z]{2,})$/, + /^([a-zA-Z0-9_\-.+]+)@([a-zA-Z0-9\-]+)\.([a-zA-Z]{2,})$/, errorMessages.EMAIL_ADDRESS_FORMAT ) ); From 081eab992cb4535d46394f766e0902e8ebf7bc3d Mon Sep 17 00:00:00 2001 From: Bryan Mauger Date: Tue, 31 Jan 2023 16:15:38 -0500 Subject: [PATCH 07/22] Remove errant text and fix regex build error. --- .../address-lookup/customer-questions/customer-questions.vue | 2 +- src/layouts/estimate/estimate.vue | 2 +- src/layouts/license-plate-lookup/license-plate-lookup.vue | 2 +- src/layouts/vin-lookup/vin-lookup.vue | 3 +-- 4 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/layouts/address-lookup/customer-questions/customer-questions.vue b/src/layouts/address-lookup/customer-questions/customer-questions.vue index f0b2e9b33..cfc121731 100644 --- a/src/layouts/address-lookup/customer-questions/customer-questions.vue +++ b/src/layouts/address-lookup/customer-questions/customer-questions.vue @@ -56,7 +56,7 @@ defineRule("email-address-required", required(errorMessages.EMAIL_ADDRESS_REQUIR defineRule( "email-address-format", regex( - /^([a-zA-Z0-9_\-.+]+)@([a-zA-Z0-9\-]+)\.([a-zA-Z]{2,})$/, + /^([a-zA-Z0-9_\-.+]+)@([a-zA-Z0-9-]+)\.([a-zA-Z]{2,})$/, errorMessages.EMAIL_ADDRESS_FORMAT ) ); diff --git a/src/layouts/estimate/estimate.vue b/src/layouts/estimate/estimate.vue index c6d691e16..f46034412 100644 --- a/src/layouts/estimate/estimate.vue +++ b/src/layouts/estimate/estimate.vue @@ -120,7 +120,7 @@ defineRule("email-address-required", required(errorMessages.EMAIL_ADDRESS_REQUIR defineRule( "email-address-format", regex( - /^([a-zA-Z0-9_\-.+]+)@([a-zA-Z0-9\-]+)\.([a-zA-Z]{2,})$/, + /^([a-zA-Z0-9_\-.+]+)@([a-zA-Z0-9-]+)\.([a-zA-Z]{2,})$/, errorMessages.EMAIL_ADDRESS_FORMAT ) ); diff --git a/src/layouts/license-plate-lookup/license-plate-lookup.vue b/src/layouts/license-plate-lookup/license-plate-lookup.vue index afa442e09..9f3b8c349 100644 --- a/src/layouts/license-plate-lookup/license-plate-lookup.vue +++ b/src/layouts/license-plate-lookup/license-plate-lookup.vue @@ -120,7 +120,7 @@ defineRule("email-address-required", required(errorMessages.EMAIL_ADDRESS_REQUIR defineRule( "email-address-format", regex( - /^([a-zA-Z0-9_\-.+]+)@([a-zA-Z0-9\-]+)\.([a-zA-Z]{2,})$/, + /^([a-zA-Z0-9_\-.+]+)@([a-zA-Z0-9-]+)\.([a-zA-Z]{2,})$/, errorMessages.EMAIL_ADDRESS_FORMAT ) ); diff --git a/src/layouts/vin-lookup/vin-lookup.vue b/src/layouts/vin-lookup/vin-lookup.vue index e48f0e42b..75d7b019f 100644 --- a/src/layouts/vin-lookup/vin-lookup.vue +++ b/src/layouts/vin-lookup/vin-lookup.vue @@ -1,4 +1,3 @@ -fmg