CASH-207 CASH-97

CASH-207 CASH-97 - updates for tech review on CASH-97 for moving the vuex phone number update out of the router.  The also implemented CASH-207 to default the smsOptin to true when quick quote supplies a mobile number.
This commit is contained in:
CarlNation 2025-02-08 07:43:24 -05:00
parent 61b09df1c7
commit 4886e0be92
6 changed files with 43 additions and 6 deletions

View file

@ -78,6 +78,7 @@ const storeActions = {
SAVE_SCHEDULE: "saveSchedule",
SAVE_EMAIL: "saveEmail",
SAVE_PHONE_NUMBER: "savePhoneNumber",
SAVE_IS_SMS_OPT_IN: "saveIsSmsOptIn",
SAVE_REGISTRATION_LICENSE_PLATE_LOOKUP: "saveRegistrationLicensePlateLookup",
SAVE_VIN: "saveVin",
SAVE_REGISTRATION_ADDRESS_LOOKUP: "saveRegistrationAddressLookup",

View file

@ -42,6 +42,7 @@ const storeMutations = {
// CUSTOMER MUTATIONS
UPDATE_CUSTOMER_EMAIL_ADDRESS: "updateCustomerEmailAddress",
UPDATE_CUSTOMER_PHONE_NUMBER: "updateCustomerPhoneNumber",
UPDATE_CUSTOMER_IS_SMS_OPT_IN: "updateCustomerIsSmsOptin",
UPDATE_CUSTOMER_DETAILS: "updateCustomerDetails",
// ORDER MUTATIONS

View file

@ -145,6 +145,20 @@ export default {
vm.setCmsContent(resultMap.cmsContent);
if (store.getters.externalParameterState?.isExternalParameter) {
if (store.getters.externalParameterCustomer.phoneNumber) {
await baseMixin.methods.dispatchStoreAction(
storeActions.SAVE_PHONE_NUMBER,
store.getters.externalParameterCustomer.phoneNumber,
false
);
await baseMixin.methods.dispatchStoreAction(
storeActions.SAVE_IS_SMS_OPT_IN,
true,
false
);
}
if (store.getters.externalParameterEstimate.vinSelection) {
vm.selectedVinLookupMethod = vinPagesMixin.methods.getVinlookupMethod(
store.getters.externalParameterEstimate.vinSelection

View file

@ -149,6 +149,20 @@ export default {
);
}
if (store.getters.externalParameterCustomer.phoneNumber) {
await baseMixin.methods.dispatchStoreAction(
storeActions.SAVE_PHONE_NUMBER,
store.getters.externalParameterCustomer.phoneNumber,
false
);
await baseMixin.methods.dispatchStoreAction(
storeActions.SAVE_IS_SMS_OPT_IN,
true,
false
);
}
baseMixin.methods.ResetExternalParamsAndHideModal();
}
}

View file

@ -898,7 +898,6 @@ function updateExternalParameterState() {
storeMutations.UPDATE_EXTERNAL_PARAMETER_PHONE_NUMBER,
externalParameterPhoneNumber
);
store.dispatch(storeActions.SAVE_PHONE_NUMBER, externalParameterPhoneNumber);
}
}

View file

@ -346,6 +346,9 @@ export const mutations = {
updateCustomerPhoneNumber(state, phoneNumber) {
state.order.customer.phoneNumber = phoneNumber;
},
updateCustomerIsSmsOptin(state, isSmsOptIn) {
state.order.customer.isSmsOptIn = isSmsOptIn;
},
updateVehicle(state, vehicleInfo) {
state.order.vehicle.year = vehicleInfo.year;
state.order.vehicle.make = vehicleInfo.make;
@ -483,7 +486,7 @@ export const mutations = {
saveExternalParameterState(externalParameterState);
},
updateExternalParameterEmailAddress(state, emailAddress) {
externalParameterState.serviceZip.emailAddress = emailAddress;
externalParameterState.customer.emailAddress = emailAddress;
saveExternalParameterState(externalParameterState);
},
updateExternalParameterIsInsurance(state, isInsurance) {
@ -524,7 +527,6 @@ export const mutations = {
},
resetExternalParameterServiceZipState(state) {
externalParameterState.serviceZip.zipCode = null;
externalParameterState.serviceZip.emailAddress = null;
saveExternalParameterState(externalParameterState);
},
resetExternalParameterQuoteState(state) {
@ -536,6 +538,7 @@ export const mutations = {
saveExternalParameterState(externalParameterState);
},
resetExternalParameterCustomerState(state) {
externalParameterState.customer.emailAddress = null;
externalParameterState.customer.phoneNumber = null;
saveExternalParameterState(externalParameterState);
},
@ -1005,8 +1008,9 @@ export const getters = {
emailOrSms: (state) => {
const email =
externalParameterState.serviceZip.emailAddress ?? state.order.customer.emailAddress;
const phone = state.order.customer.phoneNumber;
externalParameterState.customer.emailAddress ?? state.order.customer.emailAddress;
const phone =
externalParameterState.customer.phoneNumber ?? state.order.customer.phoneNumber;
if (!phone && !email) {
return null;
@ -3088,6 +3092,10 @@ export const actions = {
phoneNumber === "" ? null : phoneNumber
);
},
saveIsSmsOptIn(context, isSmsOptIn) {
debugger; // eslint-disable-line
context.commit(storeMutations.UPDATE_CUSTOMER_IS_SMS_OPT_IN, isSmsOptIn);
},
savePageData(context, emailOrSms) {
context.commit(storeMutations.UPDATE_PAGE_DATA, emailOrSms);
@ -3752,7 +3760,6 @@ function createExternalParameterDefaultState() {
vinSelection: null,
},
serviceZip: {
emailAddress: null,
zipCode: null,
},
quote: {
@ -3760,6 +3767,7 @@ function createExternalParameterDefaultState() {
servicePackage: null,
},
customer: {
emailAddress: null,
phoneNumber: null,
},
};