Merge branch 'release/2025.02.27' into feature/CASH-153

This commit is contained in:
Adam Caouette 2025-02-20 10:46:05 -05:00
commit ca65ba6659
5 changed files with 69 additions and 39 deletions

View file

@ -58,3 +58,15 @@ export function getTopLevelPartsWithRecal(lineItems) {
return lineItems.filter((li) => isRecalPartOrHasChildRecalPart(li)); return lineItems.filter((li) => isRecalPartOrHasChildRecalPart(li));
} }
export function getRecalPartNumbers(glassPartsArray) {
if (glassPartsArray && glassPartsArray.length > 0) {
const topLevel = glassPartsArray.filter((gp) => isRecalPart(gp)).map((gp) => gp.partNumber);
const children = glassPartsArray.map((gp) => getRecalPartNumbers(gp.childParts)).flat();
return [...topLevel, ...children];
} else {
return [];
}
}

View file

@ -357,15 +357,18 @@ export default {
false false
); );
if (vinPagesMixin.methods.isPhoneNumber(this.customerQuestions.emailOrSms)) { // if no value due to field being optional, blank both phone and email address
const phone = this.customerQuestions.emailOrSms.replace(/[()]/g, ""); if (!this.customerQuestions.emailOrSms) {
await this.dispatchStoreAction(storeActions.SAVE_PHONE_NUMBER, phone, false); await this.dispatchStoreAction(storeActions.SAVE_PHONE_NUMBER, "", false);
} else { await this.dispatchStoreAction(storeActions.SAVE_EMAIL, "", false);
await this.dispatchStoreAction( }
storeActions.SAVE_EMAIL, else {
this.customerQuestions.emailOrSms, if (vinPagesMixin.methods.isPhoneNumber(this.customerQuestions.emailOrSms)) {
false const phone = this.customerQuestions.emailOrSms.replace(/[()]/g, "");
); await this.dispatchStoreAction(storeActions.SAVE_PHONE_NUMBER, phone, false);
} else {
await this.dispatchStoreAction(storeActions.SAVE_EMAIL, this.customerQuestions.emailOrSms, false);
}
} }
await this.dispatchStoreAction( await this.dispatchStoreAction(

View file

@ -311,11 +311,18 @@ export default {
false false
); );
if (vinPagesMixin.methods.isPhoneNumber(this.emailOrSms)) { // if no value due to field being optional, blank both phone and email address
const phone = this.emailOrSms.replace(/[()]/g, ""); if (!this.emailOrSms) {
await this.dispatchStoreAction(storeActions.SAVE_PHONE_NUMBER, phone, false); await this.dispatchStoreAction(storeActions.SAVE_PHONE_NUMBER, "", false);
} else { await this.dispatchStoreAction(storeActions.SAVE_EMAIL, "", false);
await this.dispatchStoreAction(storeActions.SAVE_EMAIL, this.emailOrSms, false); }
else {
if (vinPagesMixin.methods.isPhoneNumber(this.emailOrSms)) {
const phone = this.emailOrSms.replace(/[()]/g, "");
await this.dispatchStoreAction(storeActions.SAVE_PHONE_NUMBER, phone, false);
} else {
await this.dispatchStoreAction(storeActions.SAVE_EMAIL, this.emailOrSms, false);
}
} }
await this.dispatchStoreAction( await this.dispatchStoreAction(

View file

@ -330,11 +330,18 @@ export default {
false false
); );
if (vinPagesMixin.methods.isPhoneNumber(this.emailOrSms)) { // if no value due to field being optional, blank both phone and email address
const phone = this.emailOrSms.replace(/[()]/g, ""); if (!this.emailOrSms) {
await this.dispatchStoreAction(storeActions.SAVE_PHONE_NUMBER, phone, false); await this.dispatchStoreAction(storeActions.SAVE_PHONE_NUMBER, "", false);
} else { await this.dispatchStoreAction(storeActions.SAVE_EMAIL, "", false);
await this.dispatchStoreAction(storeActions.SAVE_EMAIL, this.emailOrSms, false); }
else {
if (vinPagesMixin.methods.isPhoneNumber(this.emailOrSms)) {
const phone = this.emailOrSms.replace(/[()]/g, "");
await this.dispatchStoreAction(storeActions.SAVE_PHONE_NUMBER, phone, false);
} else {
await this.dispatchStoreAction(storeActions.SAVE_EMAIL, this.emailOrSms, false);
}
} }
await this.dispatchStoreAction( await this.dispatchStoreAction(
@ -380,11 +387,18 @@ export default {
); );
} }
if (vinPagesMixin.methods.isPhoneNumber(this.emailOrSms)) { // if no value due to field being optional, blank both phone and email address
const phone = this.emailOrSms.replace(/[()]/g, ""); if (!this.emailOrSms) {
await this.dispatchStoreAction(storeActions.SAVE_PHONE_NUMBER, phone, false); await this.dispatchStoreAction(storeActions.SAVE_PHONE_NUMBER, "", false);
} else { await this.dispatchStoreAction(storeActions.SAVE_EMAIL, "", false);
await this.dispatchStoreAction(storeActions.SAVE_EMAIL, this.emailOrSms, false); }
else {
if (vinPagesMixin.methods.isPhoneNumber(this.emailOrSms)) {
const phone = this.emailOrSms.replace(/[()]/g, "");
await this.dispatchStoreAction(storeActions.SAVE_PHONE_NUMBER, phone, false);
} else {
await this.dispatchStoreAction(storeActions.SAVE_EMAIL, this.emailOrSms, false);
}
} }
await this.dispatchStoreAction( await this.dispatchStoreAction(

View file

@ -45,6 +45,7 @@ import {
containsRecalParts, containsRecalParts,
getTopLevelPartsWithRecal, getTopLevelPartsWithRecal,
isRecalPartOrHasChildRecalPart, isRecalPartOrHasChildRecalPart,
getRecalPartNumbers,
} from "@/helpers/recal-helper"; } from "@/helpers/recal-helper";
import { externalParameterStatus } from "@/constants/external-parameters"; import { externalParameterStatus } from "@/constants/external-parameters";
import { experimentSettings } from "@/constants/experiments"; import { experimentSettings } from "@/constants/experiments";
@ -1712,10 +1713,15 @@ export const actions = {
var endPoint = `${endpoints.GetMobileFeePart.url}/?serviceType=${serviceType}&facilityType=${facilityType}&parentAccountNumber=${parentAccountNumber}&billToAccountNumber=${billToAccountNumber}&providerNumber=${providerNumber}&isItacOptimized=${isItacOptimized}&zipCode=${zipCode}`; var endPoint = `${endpoints.GetMobileFeePart.url}/?serviceType=${serviceType}&facilityType=${facilityType}&parentAccountNumber=${parentAccountNumber}&billToAccountNumber=${billToAccountNumber}&providerNumber=${providerNumber}&isItacOptimized=${isItacOptimized}&zipCode=${zipCode}`;
const recalPartNumber = getRecalPartNumber(order.lineItems?.glassParts[0]); const recalPartNumbers = getRecalPartNumbers(order.lineItems?.glassParts);
const carId = order.vehicle?.carId; const carId = order.vehicle?.carId;
if (recalPartNumber && carId) { if (recalPartNumbers && recalPartNumbers.length > 0 && carId) {
endPoint = `${endPoint}&partNumbers=${recalPartNumber}&carId=${carId}`; let additionalQueryParams = ``;
for (let i = 0; i < recalPartNumbers.length; i++) {
additionalQueryParams += `&partNumbers[${i}]=${recalPartNumbers[i]}`;
}
additionalQueryParams += `&carId=${carId}`;
endPoint += additionalQueryParams;
} }
if (coverageStatus) { if (coverageStatus) {
@ -3760,15 +3766,3 @@ function getExternalParameterDefaultState() {
function saveExternalParameterState(externalParameterState) { function saveExternalParameterState(externalParameterState) {
window.sessionStorage.setItem("externalParameterState", JSON.stringify(externalParameterState)); window.sessionStorage.setItem("externalParameterState", JSON.stringify(externalParameterState));
} }
//This function finds the recalibration part and returns the part number for it.
function getRecalPartNumber(glassPartsArray) {
const recalPart = glassPartsArray.childParts.find(
(item) => item.partType === partTypeStrings.ADAS_RECALIBRATION
);
if (recalPart) {
return recalPart.partNumber;
} else {
return null;
}
}