From 6572f01910dff7cf3ce93dde2966c15ed4a91732 Mon Sep 17 00:00:00 2001 From: Sneha Date: Thu, 29 Jun 2023 11:28:01 +0530 Subject: [PATCH 1/4] CSR-1438 Reverting back FMG changes --- .../address-lookup/customer-questions/customer-questions.vue | 3 ++- src/layouts/address-vehicles/address-vehicles.vue | 1 + src/layouts/estimate/estimate.vue | 4 +++- src/layouts/license-plate-lookup/license-plate-lookup.vue | 3 ++- src/layouts/vin-lookup/vin-lookup.vue | 4 +++- src/store/index.js | 2 +- 6 files changed, 12 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 fd3e083f2..d10812df2 100644 --- a/src/layouts/address-lookup/customer-questions/customer-questions.vue +++ b/src/layouts/address-lookup/customer-questions/customer-questions.vue @@ -30,7 +30,7 @@ ref="emailAddress" inputId="00450a91b8964a768ce3992e6feb890f" disableAutoFill - validationRules="email-address-format" /> + validationRules="email-address-required|email-address-format" />
@@ -52,6 +52,7 @@ import textBlock from "@/common-components/text-block/text-block"; // DEFINE VALIDATION RULES defineRule("first-name-required", required(errorMessages.FIRST_NAME_REQUIRED)); defineRule("last-name-required", required(errorMessages.LAST_NAME_REQUIRED)); +defineRule("email-address-required", required(errorMessages.EMAIL_ADDRESS_REQUIRED)); defineRule( "email-address-format", regex( diff --git a/src/layouts/address-vehicles/address-vehicles.vue b/src/layouts/address-vehicles/address-vehicles.vue index 370cb8dc3..4babd7a33 100644 --- a/src/layouts/address-vehicles/address-vehicles.vue +++ b/src/layouts/address-vehicles/address-vehicles.vue @@ -157,6 +157,7 @@ export default { if ( store.getters.order.vehicle.carId && store.getters.order.serviceLocation.zipCode && + store.getters.order.customer.emailAddress && store.getters.pageData(fmgPageValues.ADDRESS_VEHICLES) ) { return true; diff --git a/src/layouts/estimate/estimate.vue b/src/layouts/estimate/estimate.vue index f869d52a5..17135b1aa 100644 --- a/src/layouts/estimate/estimate.vue +++ b/src/layouts/estimate/estimate.vue @@ -45,8 +45,9 @@ cmsWidgetName="EmailAddressQuestionWidget" v-model="emailAddress" inputId="emailAddress" + isRequired disableAutoFill - validationRules="email-address-format" /> + validationRules="email-address-required|email-address-format" />
@@ -118,6 +119,7 @@ import { queryStrings } from "@/constants/query-strings"; // Define Validation Rules defineRule("zip-required", required(errorMessages.SERVICE_ZIP_REQUIRED)); defineRule("zip-format", regex(/(^\d{5}$)|(^\d{5}-\d{4}$)/, errorMessages.SERVICE_ZIP_FORMAT)); +defineRule("email-address-required", required(errorMessages.EMAIL_ADDRESS_REQUIRED)); defineRule( "email-address-format", regex( diff --git a/src/layouts/license-plate-lookup/license-plate-lookup.vue b/src/layouts/license-plate-lookup/license-plate-lookup.vue index 64eb818c8..4c540f09d 100644 --- a/src/layouts/license-plate-lookup/license-plate-lookup.vue +++ b/src/layouts/license-plate-lookup/license-plate-lookup.vue @@ -33,7 +33,7 @@ cmsWidgetName="EmailAddressQuestionWidget" v-model="email" inputId="email" - validationRules="email-address-format" /> + validationRules="email-address-required|email-address-format" />
@@ -116,6 +116,7 @@ import vinPagesMixin from "@/mixins/vin-pages-mixin"; defineRule("license-plate-required", required(errorMessages.LICENSE_PLATE_REQUIRED)); defineRule("registration-zip-required", required(errorMessages.REGISTRATION_ZIP_REQUIRED)); defineRule("zip-format", regex(/(^\d{5}$)|(^\d{5}-\d{4}$)/, errorMessages.SERVICE_ZIP_FORMAT)); +defineRule("email-address-required", required(errorMessages.EMAIL_ADDRESS_REQUIRED)); defineRule( "email-address-format", regex( diff --git a/src/layouts/vin-lookup/vin-lookup.vue b/src/layouts/vin-lookup/vin-lookup.vue index 60e80ea89..9fe9077d9 100644 --- a/src/layouts/vin-lookup/vin-lookup.vue +++ b/src/layouts/vin-lookup/vin-lookup.vue @@ -60,8 +60,9 @@ cmsWidgetName="EmailAddressQuestionWidget" v-model="emailAddress" inputId="emailAddress" + isRequired disableAutoFill - validationRules="email-address-format" /> + validationRules="email-address-required|email-address-format" />
@@ -154,6 +155,7 @@ import vinPagesMixin from "@/mixins/vin-pages-mixin"; // DEFINE VALIDATION RULES defineRule("zip-required", required(errorMessages.SERVICE_ZIP_REQUIRED)); defineRule("zip-format", regex(/(^\d{5}$)|(^\d{5}-\d{4}$)/, errorMessages.SERVICE_ZIP_FORMAT)); +defineRule("email-address-required", required(errorMessages.EMAIL_ADDRESS_REQUIRED)); defineRule( "email-address-format", regex( diff --git a/src/store/index.js b/src/store/index.js index 18fb61995..510877a53 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -1054,7 +1054,7 @@ export const actions = { }, }, customer: { - emailAddress: order.customer.emailAddress || null, + emailAddress: order.customer.emailAddress, }, damage: { numberOfChips: damage.numberOfChips, From 129cccaa5813f9fa3d3012b4939038f173dc0ec1 Mon Sep 17 00:00:00 2001 From: Matt Caimi Date: Thu, 29 Jun 2023 15:16:43 -0400 Subject: [PATCH 2/4] CSR-1439 remove params from endpoint logging --- src/global-methods.js | 3 ++- src/mixins/analytics-mixin.js | 11 +++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/global-methods.js b/src/global-methods.js index 1ae2dbf80..e9507dc9e 100644 --- a/src/global-methods.js +++ b/src/global-methods.js @@ -39,9 +39,10 @@ export default { } const pageName = analyticsMixIn.methods.getPageName(); const nextPageName = router.lastNavigationPage || pageName; + const endpointWithoutParams = analyticsMixIn.methods.removeParamsFromEndpoint(endpoint); analyticsMixIn.methods.pushEventToGA( GaCategories.API_RESPONSE, - `${nextPageName}_${endpoint}`, + `${nextPageName}_${endpointWithoutParams}`, `${GaLabels.SUCCESS}${additionalEventData}`, true ); diff --git a/src/mixins/analytics-mixin.js b/src/mixins/analytics-mixin.js index 75f22edcb..cbea1bae9 100644 --- a/src/mixins/analytics-mixin.js +++ b/src/mixins/analytics-mixin.js @@ -176,6 +176,17 @@ export default { getSessionIdValue() === "00000000-0000-0000-0000-000000000000" ); }, + + removeParamsFromEndpoint(endpoint) { + const numSlashesBeforeParams = 6; + let splitString = endpoint.split('/'); + if (splitString.length > numSlashesBeforeParams) { + splitString = splitString.slice(0, numSlashesBeforeParams); + return splitString.join('/'); + } else { + return endpoint; + } + }, }, computed: { analyticsPageEvents() { From 71e57c2aa5e83133f87c1c353df3a5b5fb7ee44c Mon Sep 17 00:00:00 2001 From: Matt Caimi Date: Thu, 29 Jun 2023 15:19:56 -0400 Subject: [PATCH 3/4] CSR-1439 formatting --- src/global-methods.js | 3 ++- src/mixins/analytics-mixin.js | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/global-methods.js b/src/global-methods.js index e9507dc9e..46d50d2fd 100644 --- a/src/global-methods.js +++ b/src/global-methods.js @@ -39,7 +39,8 @@ export default { } const pageName = analyticsMixIn.methods.getPageName(); const nextPageName = router.lastNavigationPage || pageName; - const endpointWithoutParams = analyticsMixIn.methods.removeParamsFromEndpoint(endpoint); + const endpointWithoutParams = + analyticsMixIn.methods.removeParamsFromEndpoint(endpoint); analyticsMixIn.methods.pushEventToGA( GaCategories.API_RESPONSE, `${nextPageName}_${endpointWithoutParams}`, diff --git a/src/mixins/analytics-mixin.js b/src/mixins/analytics-mixin.js index cbea1bae9..b66711f46 100644 --- a/src/mixins/analytics-mixin.js +++ b/src/mixins/analytics-mixin.js @@ -179,10 +179,10 @@ export default { removeParamsFromEndpoint(endpoint) { const numSlashesBeforeParams = 6; - let splitString = endpoint.split('/'); + let splitString = endpoint.split("/"); if (splitString.length > numSlashesBeforeParams) { splitString = splitString.slice(0, numSlashesBeforeParams); - return splitString.join('/'); + return splitString.join("/"); } else { return endpoint; } From 6fb00ef84db8419fa2f6da26f63032fa4ed2f681 Mon Sep 17 00:00:00 2001 From: Matt Caimi Date: Fri, 30 Jun 2023 13:54:35 -0400 Subject: [PATCH 4/4] CSR-1439 another param bugfix --- src/mixins/analytics-mixin.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/mixins/analytics-mixin.js b/src/mixins/analytics-mixin.js index b66711f46..88b4772f8 100644 --- a/src/mixins/analytics-mixin.js +++ b/src/mixins/analytics-mixin.js @@ -178,13 +178,14 @@ export default { }, removeParamsFromEndpoint(endpoint) { + const endpointWithoutParams = endpoint.split("?")[0]; const numSlashesBeforeParams = 6; - let splitString = endpoint.split("/"); + let splitString = endpointWithoutParams.split("/"); if (splitString.length > numSlashesBeforeParams) { splitString = splitString.slice(0, numSlashesBeforeParams); return splitString.join("/"); } else { - return endpoint; + return endpointWithoutParams; } }, },