Merge pull request #2277 from Safelite/rlsmerge/2025.02.13-to-develop
release merge 2025.02.13 to develop
This commit is contained in:
commit
ebff0d868e
11 changed files with 78 additions and 50 deletions
|
|
@ -12,6 +12,7 @@ module.exports = {
|
||||||
"!src/constants/*.js",
|
"!src/constants/*.js",
|
||||||
"!src/router/**/*.js",
|
"!src/router/**/*.js",
|
||||||
"!src/helpers/unit-test-helper.js",
|
"!src/helpers/unit-test-helper.js",
|
||||||
|
"!src/helpers/logger.js",
|
||||||
"!src/layouts/vehicle-damage/windshield-options/windshield-options.vue",
|
"!src/layouts/vehicle-damage/windshield-options/windshield-options.vue",
|
||||||
"!src/layouts/reveal/**/*.vue",
|
"!src/layouts/reveal/**/*.vue",
|
||||||
"!src/layouts/payment-method/**/*.vue",
|
"!src/layouts/payment-method/**/*.vue",
|
||||||
|
|
|
||||||
|
|
@ -5,5 +5,5 @@ export const headerKeys = {
|
||||||
SESSION_SEQUENCE_NUMBER: "X-Session-Sequence-Number",
|
SESSION_SEQUENCE_NUMBER: "X-Session-Sequence-Number",
|
||||||
TRANSACTION_ID: "X-Transaction-Id",
|
TRANSACTION_ID: "X-Transaction-Id",
|
||||||
EON: "X-Enterprise-Order-Number",
|
EON: "X-Enterprise-Order-Number",
|
||||||
LOG_ENABLED: "log-enabled"
|
LOG_ENABLED: "log-enabled",
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -46,6 +46,7 @@ const queryStrings = {
|
||||||
ORGANIC_SOCIAL: "organic_social",
|
ORGANIC_SOCIAL: "organic_social",
|
||||||
EXPERIMENTS: "experiments",
|
EXPERIMENTS: "experiments",
|
||||||
FROM_HERITAGE: "fromheritage",
|
FROM_HERITAGE: "fromheritage",
|
||||||
|
PHONE_NUMBER: "phonenumber",
|
||||||
};
|
};
|
||||||
|
|
||||||
export { queryStrings };
|
export { queryStrings };
|
||||||
|
|
|
||||||
|
|
@ -76,6 +76,7 @@ const storeActions = {
|
||||||
SAVE_SERVICE_LOCATION: "saveServiceLocation",
|
SAVE_SERVICE_LOCATION: "saveServiceLocation",
|
||||||
SAVE_SCHEDULE: "saveSchedule",
|
SAVE_SCHEDULE: "saveSchedule",
|
||||||
SAVE_EMAIL: "saveEmail",
|
SAVE_EMAIL: "saveEmail",
|
||||||
|
SAVE_PHONE_NUMBER: "savePhoneNumber",
|
||||||
SAVE_REGISTRATION_LICENSE_PLATE_LOOKUP: "saveRegistrationLicensePlateLookup",
|
SAVE_REGISTRATION_LICENSE_PLATE_LOOKUP: "saveRegistrationLicensePlateLookup",
|
||||||
SAVE_VIN: "saveVin",
|
SAVE_VIN: "saveVin",
|
||||||
SAVE_REGISTRATION_ADDRESS_LOOKUP: "saveRegistrationAddressLookup",
|
SAVE_REGISTRATION_ADDRESS_LOOKUP: "saveRegistrationAddressLookup",
|
||||||
|
|
|
||||||
|
|
@ -41,6 +41,7 @@ const storeMutations = {
|
||||||
|
|
||||||
// CUSTOMER MUTATIONS
|
// CUSTOMER MUTATIONS
|
||||||
UPDATE_CUSTOMER_EMAIL_ADDRESS: "updateCustomerEmailAddress",
|
UPDATE_CUSTOMER_EMAIL_ADDRESS: "updateCustomerEmailAddress",
|
||||||
|
UPDATE_CUSTOMER_PHONE_NUMBER: "updateCustomerPhoneNumber",
|
||||||
UPDATE_CUSTOMER_DETAILS: "updateCustomerDetails",
|
UPDATE_CUSTOMER_DETAILS: "updateCustomerDetails",
|
||||||
|
|
||||||
// ORDER MUTATIONS
|
// ORDER MUTATIONS
|
||||||
|
|
@ -107,6 +108,7 @@ const storeMutations = {
|
||||||
UPDATE_EXTERNAL_PARAMETER_VIN_SELECTION: "updateExternalParameterVinSelection",
|
UPDATE_EXTERNAL_PARAMETER_VIN_SELECTION: "updateExternalParameterVinSelection",
|
||||||
UPDATE_EXTERNAL_PARAMETER_SERVICE_PACKAGE: "updateExternalParameterServicePackage",
|
UPDATE_EXTERNAL_PARAMETER_SERVICE_PACKAGE: "updateExternalParameterServicePackage",
|
||||||
UPDATE_EXTERNAL_PARAMETER_SOURCE: "updateExternalParameterSource",
|
UPDATE_EXTERNAL_PARAMETER_SOURCE: "updateExternalParameterSource",
|
||||||
|
UPDATE_EXTERNAL_PARAMETER_PHONE_NUMBER: "updateExternalParameterPhoneNumber",
|
||||||
|
|
||||||
//RESET EXTERNAL_PARAMETER MUTATIONS
|
//RESET EXTERNAL_PARAMETER MUTATIONS
|
||||||
RESET_EXTERNAL_PARAMETER_VEHICLE_STATE: "resetExternalParameterVehicleState",
|
RESET_EXTERNAL_PARAMETER_VEHICLE_STATE: "resetExternalParameterVehicleState",
|
||||||
|
|
@ -115,6 +117,7 @@ const storeMutations = {
|
||||||
RESET_EXTERNAL_PARAMETER_SERVICEZIP_STATE: "resetExternalParameterServiceZipState",
|
RESET_EXTERNAL_PARAMETER_SERVICEZIP_STATE: "resetExternalParameterServiceZipState",
|
||||||
RESET_EXTERNAL_PARAMETER_QUOTE_STATE: "resetExternalParameterQuoteState",
|
RESET_EXTERNAL_PARAMETER_QUOTE_STATE: "resetExternalParameterQuoteState",
|
||||||
RESET_EXTERNAL_PARAMETER_SOURCE_STATE: "resetExternalParameterSourceState",
|
RESET_EXTERNAL_PARAMETER_SOURCE_STATE: "resetExternalParameterSourceState",
|
||||||
|
RESET_EXTERNAL_PARAMETER_CUSTOMER_STATE: "resetExternalParameterCustomerState",
|
||||||
RESET_IS_EXTERNAL_PARAMETER: "resetIsExternalParameter",
|
RESET_IS_EXTERNAL_PARAMETER: "resetIsExternalParameter",
|
||||||
|
|
||||||
//Affiliate Cookies
|
//Affiliate Cookies
|
||||||
|
|
|
||||||
|
|
@ -205,7 +205,7 @@ export default {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.alert {
|
.alert {
|
||||||
border-radius: $border-radius-lg;
|
border-radius: $border-radius-lg;
|
||||||
border: 1px solid $green;
|
border: 1px solid $green;
|
||||||
|
|
|
||||||
|
|
@ -219,7 +219,7 @@ export default {
|
||||||
.textbox-question {
|
.textbox-question {
|
||||||
padding: 0;
|
padding: 0;
|
||||||
margin: 0 0 1.5rem 0;
|
margin: 0 0 1.5rem 0;
|
||||||
|
|
||||||
label {
|
label {
|
||||||
text-align: left;
|
text-align: left;
|
||||||
font-weight: 900;
|
font-weight: 900;
|
||||||
|
|
@ -258,7 +258,7 @@ export default {
|
||||||
|
|
||||||
&.progress-saved {
|
&.progress-saved {
|
||||||
.modal-footer-button,
|
.modal-footer-button,
|
||||||
.modal-disclaimer {
|
.modal-disclaimer {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
.skip-button {
|
.skip-button {
|
||||||
|
|
|
||||||
|
|
@ -116,39 +116,39 @@ export default {
|
||||||
|
|
||||||
// send part question data to SPS API for logging
|
// send part question data to SPS API for logging
|
||||||
const orderFromStore = await deepClone(store.getters.order);
|
const orderFromStore = await deepClone(store.getters.order);
|
||||||
const ctu = orderFromStore.serviceLocation?.zipCodeCtu
|
const ctu = orderFromStore.serviceLocation?.zipCodeCtu;
|
||||||
|
|
||||||
const partsOrQuestions = orderFromStore.damage?.partQuestionAnswers;
|
const partsOrQuestions = orderFromStore.damage?.partQuestionAnswers;
|
||||||
|
|
||||||
partsOrQuestions.forEach(pqa => {
|
if (partsOrQuestions) {
|
||||||
const payloadPartQuestions = [];
|
partsOrQuestions.forEach(pqa => {
|
||||||
pqa.answeredQuestions.forEach(answer => {
|
const payloadPartQuestions = [];
|
||||||
payloadPartQuestions.push({
|
pqa.answeredQuestions.forEach(answer => {
|
||||||
questionSeq: answer?.questionNum,
|
payloadPartQuestions.push({
|
||||||
questionText: answer?.questionText,
|
questionSeq: answer?.questionNum,
|
||||||
answerText: answer?.selectedAnswerText,
|
questionText: answer?.questionText,
|
||||||
basePart: pqa?.result,
|
answerText: answer?.selectedAnswerText,
|
||||||
|
basePart: pqa?.result,
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const payload = {
|
||||||
|
eon: orderFromStore.eon,
|
||||||
|
ctu: ctu,
|
||||||
|
workOrderId: orderFromStore.workOrderId,
|
||||||
|
workOrderNumber: orderFromStore.workOrderNumber,
|
||||||
|
carId: orderFromStore.vehicle.carId,
|
||||||
|
glassLocation: pqa?.glassLocation,
|
||||||
|
partQuestions: payloadPartQuestions,
|
||||||
|
};
|
||||||
|
|
||||||
|
baseMixin.methods.dispatchStoreAction(
|
||||||
|
storeActions.LOG_PART_QUESTIONS,
|
||||||
|
payload,
|
||||||
|
false
|
||||||
|
);
|
||||||
});
|
});
|
||||||
|
}
|
||||||
const payload = {
|
|
||||||
eon: orderFromStore.eon,
|
|
||||||
ctu: ctu,
|
|
||||||
workOrderId: orderFromStore.workOrderId,
|
|
||||||
workOrderNumber: orderFromStore.workOrderNumber,
|
|
||||||
carId: orderFromStore.vehicle.carId,
|
|
||||||
glassLocation: pqa?.glassLocation,
|
|
||||||
partQuestions: payloadPartQuestions,
|
|
||||||
};
|
|
||||||
|
|
||||||
baseMixin.methods.dispatchStoreAction(
|
|
||||||
storeActions.LOG_PART_QUESTIONS,
|
|
||||||
payload,
|
|
||||||
false
|
|
||||||
);
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
// Create order
|
// Create order
|
||||||
await baseMixin.methods.dispatchStoreAction(storeActions.CREATE_SUBMITTED_ORDER); // This nulls the Store order
|
await baseMixin.methods.dispatchStoreAction(storeActions.CREATE_SUBMITTED_ORDER); // This nulls the Store order
|
||||||
|
|
|
||||||
|
|
@ -80,7 +80,11 @@ import vehicleQuestion from "@/layouts/vehicle/vehicle-question/vehicle-question
|
||||||
// Supporting files
|
// Supporting files
|
||||||
import { fetchCmsContentForPage } from "@/helpers/cms-content-helper";
|
import { fetchCmsContentForPage } from "@/helpers/cms-content-helper";
|
||||||
import { experimentUniverses } from "@/constants/experiments";
|
import { experimentUniverses } from "@/constants/experiments";
|
||||||
import { getSessionKeyValue, getUserIdValue, getDeviceIdValue } from "@/helpers/heritage-integration/cookie-helper";
|
import {
|
||||||
|
getSessionKeyValue,
|
||||||
|
getUserIdValue,
|
||||||
|
getDeviceIdValue,
|
||||||
|
} from "@/helpers/heritage-integration/cookie-helper";
|
||||||
import { settleAllPromises } from "@/helpers/layout-helper";
|
import { settleAllPromises } from "@/helpers/layout-helper";
|
||||||
import { Form, defineRule } from "vee-validate";
|
import { Form, defineRule } from "vee-validate";
|
||||||
import { required } from "@/helpers/validation-rules";
|
import { required } from "@/helpers/validation-rules";
|
||||||
|
|
|
||||||
|
|
@ -837,6 +837,7 @@ function updateExternalParameterState() {
|
||||||
const externalParameterServicePackage = getQuerystringParameter(queryStrings.SERVICE_PACKAGE);
|
const externalParameterServicePackage = getQuerystringParameter(queryStrings.SERVICE_PACKAGE);
|
||||||
const externalParameterNumberOfChips = getQuerystringParameter(queryStrings.NUMBER_OF_CHIPS);
|
const externalParameterNumberOfChips = getQuerystringParameter(queryStrings.NUMBER_OF_CHIPS);
|
||||||
const externalParameterSource = getQuerystringParameter(queryStrings.EXPERIMENTS);
|
const externalParameterSource = getQuerystringParameter(queryStrings.EXPERIMENTS);
|
||||||
|
const externalParameterPhoneNumber = getQuerystringParameter(queryStrings.PHONE_NUMBER);
|
||||||
if (
|
if (
|
||||||
externalParameterYear &&
|
externalParameterYear &&
|
||||||
externalParameterMake &&
|
externalParameterMake &&
|
||||||
|
|
@ -892,6 +893,13 @@ function updateExternalParameterState() {
|
||||||
if (externalParameterSource) {
|
if (externalParameterSource) {
|
||||||
store.commit(storeMutations.UPDATE_EXTERNAL_PARAMETER_SOURCE, externalParameterSource);
|
store.commit(storeMutations.UPDATE_EXTERNAL_PARAMETER_SOURCE, externalParameterSource);
|
||||||
}
|
}
|
||||||
|
if (externalParameterPhoneNumber) {
|
||||||
|
store.commit(
|
||||||
|
storeMutations.UPDATE_EXTERNAL_PARAMETER_PHONE_NUMBER,
|
||||||
|
externalParameterPhoneNumber
|
||||||
|
);
|
||||||
|
store.dispatch(storeActions.SAVE_PHONE_NUMBER, externalParameterPhoneNumber);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// if there is an existing external parameter state then they have already been through from an external source(LeadGen) and
|
// if there is an existing external parameter state then they have already been through from an external source(LeadGen) and
|
||||||
|
|
|
||||||
|
|
@ -343,6 +343,9 @@ export const mutations = {
|
||||||
updateCustomerEmailAddress(state, customerEmailAddress) {
|
updateCustomerEmailAddress(state, customerEmailAddress) {
|
||||||
state.order.customer.emailAddress = customerEmailAddress;
|
state.order.customer.emailAddress = customerEmailAddress;
|
||||||
},
|
},
|
||||||
|
updateCustomerPhoneNumber(state, phoneNumber) {
|
||||||
|
state.order.customer.phoneNumber = phoneNumber;
|
||||||
|
},
|
||||||
updateVehicle(state, vehicleInfo) {
|
updateVehicle(state, vehicleInfo) {
|
||||||
state.order.vehicle.year = vehicleInfo.year;
|
state.order.vehicle.year = vehicleInfo.year;
|
||||||
state.order.vehicle.make = vehicleInfo.make;
|
state.order.vehicle.make = vehicleInfo.make;
|
||||||
|
|
@ -495,6 +498,10 @@ export const mutations = {
|
||||||
externalParameterState.quote.servicePackage = servicePackage;
|
externalParameterState.quote.servicePackage = servicePackage;
|
||||||
saveExternalParameterState(externalParameterState);
|
saveExternalParameterState(externalParameterState);
|
||||||
},
|
},
|
||||||
|
updateExternalParameterPhoneNumber(state, phoneNumber) {
|
||||||
|
externalParameterState.customer.phoneNumber = phoneNumber;
|
||||||
|
saveExternalParameterState(externalParameterState);
|
||||||
|
},
|
||||||
//RESET ExternalParameter MUTATIONS
|
//RESET ExternalParameter MUTATIONS
|
||||||
resetExternalParameterVehicleState(state) {
|
resetExternalParameterVehicleState(state) {
|
||||||
externalParameterState.vehicle.year = null;
|
externalParameterState.vehicle.year = null;
|
||||||
|
|
@ -528,6 +535,10 @@ export const mutations = {
|
||||||
externalParameterState.isExternalParameter = externalParameterStatus.INACTIVE;
|
externalParameterState.isExternalParameter = externalParameterStatus.INACTIVE;
|
||||||
saveExternalParameterState(externalParameterState);
|
saveExternalParameterState(externalParameterState);
|
||||||
},
|
},
|
||||||
|
resetExternalParameterCustomerState(state) {
|
||||||
|
externalParameterState.customer.phoneNumber = null;
|
||||||
|
saveExternalParameterState(externalParameterState);
|
||||||
|
},
|
||||||
|
|
||||||
// RESET DEPENDENCY MUTATIONS
|
// RESET DEPENDENCY MUTATIONS
|
||||||
resetVehicleState(state) {
|
resetVehicleState(state) {
|
||||||
|
|
@ -984,6 +995,7 @@ export const getters = {
|
||||||
externalParameterQuote: (state) => externalParameterState?.quote,
|
externalParameterQuote: (state) => externalParameterState?.quote,
|
||||||
externalParameterServiceZip: (state) => externalParameterState?.serviceZip,
|
externalParameterServiceZip: (state) => externalParameterState?.serviceZip,
|
||||||
externalParameterEstimate: (state) => externalParameterState?.estimate,
|
externalParameterEstimate: (state) => externalParameterState?.estimate,
|
||||||
|
externalParameterCustomer: (state) => externalParameterState?.customer,
|
||||||
isExternalParameter: (state) => externalParameterState?.isExternalParameter,
|
isExternalParameter: (state) => externalParameterState?.isExternalParameter,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -1448,16 +1460,7 @@ export const actions = {
|
||||||
|
|
||||||
logPartQuestions(
|
logPartQuestions(
|
||||||
context,
|
context,
|
||||||
{
|
{ eon, ctu, workOrderId, workOrderNumber, carId, glassLocation, partQuestions, userAgent }
|
||||||
eon,
|
|
||||||
ctu,
|
|
||||||
workOrderId,
|
|
||||||
workOrderNumber,
|
|
||||||
carId,
|
|
||||||
glassLocation,
|
|
||||||
partQuestions,
|
|
||||||
userAgent,
|
|
||||||
}
|
|
||||||
) {
|
) {
|
||||||
var payload = {
|
var payload = {
|
||||||
applicationName: applicationConfig.APPLICATION_NAME,
|
applicationName: applicationConfig.APPLICATION_NAME,
|
||||||
|
|
@ -1468,15 +1471,14 @@ export const actions = {
|
||||||
carId: carId,
|
carId: carId,
|
||||||
glassLocation: glassLocation,
|
glassLocation: glassLocation,
|
||||||
partQuestions: partQuestions,
|
partQuestions: partQuestions,
|
||||||
userAgent: navigator.userAgent
|
userAgent: navigator.userAgent,
|
||||||
};
|
};
|
||||||
|
|
||||||
return globalMethods
|
return globalMethods.callHttpClient({
|
||||||
.callHttpClient({
|
method: endpoints.LogPartQuestions.method,
|
||||||
method: endpoints.LogPartQuestions.method,
|
endpoint: endpoints.LogPartQuestions.url,
|
||||||
endpoint: endpoints.LogPartQuestions.url,
|
payload: payload,
|
||||||
payload: payload,
|
});
|
||||||
});
|
|
||||||
},
|
},
|
||||||
|
|
||||||
// Misc Actions
|
// Misc Actions
|
||||||
|
|
@ -3039,6 +3041,10 @@ export const actions = {
|
||||||
context.commit(storeMutations.UPDATE_CUSTOMER_EMAIL_ADDRESS, email === "" ? null : email);
|
context.commit(storeMutations.UPDATE_CUSTOMER_EMAIL_ADDRESS, email === "" ? null : email);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
savePhoneNumber(context, phoneNumber) {
|
||||||
|
context.commit(storeMutations.UPDATE_CUSTOMER_PHONE_NUMBER, phoneNumber === "" ? null : phoneNumber);
|
||||||
|
},
|
||||||
|
|
||||||
saveVin(context, { isSelectedGlassAvailableForVehicle, vehicleInfo }) {
|
saveVin(context, { isSelectedGlassAvailableForVehicle, vehicleInfo }) {
|
||||||
//Reset dependent state when changing
|
//Reset dependent state when changing
|
||||||
if (vehicleInfo.vin !== context.state.order.vehicle.vin) {
|
if (vehicleInfo.vin !== context.state.order.vehicle.vin) {
|
||||||
|
|
@ -3132,6 +3138,7 @@ export const actions = {
|
||||||
context.commit(storeMutations.RESET_EXTERNAL_PARAMETER_ESTIMATE_STATE);
|
context.commit(storeMutations.RESET_EXTERNAL_PARAMETER_ESTIMATE_STATE);
|
||||||
context.commit(storeMutations.RESET_EXTERNAL_PARAMETER_SERVICEZIP_STATE);
|
context.commit(storeMutations.RESET_EXTERNAL_PARAMETER_SERVICEZIP_STATE);
|
||||||
context.commit(storeMutations.RESET_EXTERNAL_PARAMETER_QUOTE_STATE);
|
context.commit(storeMutations.RESET_EXTERNAL_PARAMETER_QUOTE_STATE);
|
||||||
|
context.commit(storeMutations.RESET_EXTERNAL_PARAMETER_CUSTOMER_STATE);
|
||||||
context.commit(storeMutations.RESET_IS_EXTERNAL_PARAMETER);
|
context.commit(storeMutations.RESET_IS_EXTERNAL_PARAMETER);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
@ -3704,6 +3711,9 @@ function createExternalParameterDefaultState() {
|
||||||
isInsurance: null,
|
isInsurance: null,
|
||||||
servicePackage: null,
|
servicePackage: null,
|
||||||
},
|
},
|
||||||
|
customer: {
|
||||||
|
phoneNumber: null,
|
||||||
|
},
|
||||||
};
|
};
|
||||||
// set to session storage
|
// set to session storage
|
||||||
saveExternalParameterState(externalParameterDefaultState);
|
saveExternalParameterState(externalParameterDefaultState);
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue