From 9ce34c57a28a7db503357ea2bcdb914d6abaec28 Mon Sep 17 00:00:00 2001 From: Scott Kiener Date: Mon, 24 Apr 2023 10:26:42 -0400 Subject: [PATCH 1/2] CSR-1104 | Fix child parts not being priced --- src/store/index.js | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/store/index.js b/src/store/index.js index 3c51c202e..a3757b2f9 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -1472,8 +1472,8 @@ export const actions = { const ctuToUse = serviceZipCodeCtu ? serviceZipCodeCtu : context.getters.order.serviceLocation.zipCodeCtu; - - const lineItemsWithOnlyPartNumbers = availableLineItems.map((lineItem) => ({ + const flattenedLineItemsWithChildParts = getFlattenedArrayOfLineItemsWithChildParts(availableLineItems); + const lineItemsWithOnlyPartNumbers = flattenedLineItemsWithChildParts.map((lineItem) => ({ partNumber: lineItem.partNumber, })); const availableLineItemsFormattedForRequest = @@ -1675,16 +1675,16 @@ function addPricesToLineItems(lineItems, pricingLineItems) { }); return lineItems; } -function getLineItemQueryStringForPricing(lineItems) { - return lineItems - .map((lineItem) => { - let queryStringSnippet = `&LineItems=${lineItem.partNumber}`; - if (lineItem.childParts) { - queryStringSnippet += getLineItemQueryStringForPricing(lineItem.childParts); - } - return queryStringSnippet; - }) - .join(""); + +function getFlattenedArrayOfLineItemsWithChildParts(lineItems) { + let flattenedArray = []; + lineItems.forEach(lineItem => { + flattenedArray.push(lineItem); + if (lineItem.childParts) { + flattenedArray = [...flattenedArray, ...getFlattenedArrayOfLineItemsWithChildParts(lineItem.childParts)]; + } + }); + return flattenedArray; } function buildQueryStringParameterFromArrayOfComplexObjects(arrayOfObjects, parameterName) { From 92329cb47057eb49a9cc93a65069c3555b6cfe6e Mon Sep 17 00:00:00 2001 From: Scott Kiener Date: Mon, 24 Apr 2023 10:29:00 -0400 Subject: [PATCH 2/2] CSR-1104 | Fix Formatting --- src/store/index.js | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/store/index.js b/src/store/index.js index a3757b2f9..73c5e2333 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -1472,7 +1472,8 @@ export const actions = { const ctuToUse = serviceZipCodeCtu ? serviceZipCodeCtu : context.getters.order.serviceLocation.zipCodeCtu; - const flattenedLineItemsWithChildParts = getFlattenedArrayOfLineItemsWithChildParts(availableLineItems); + const flattenedLineItemsWithChildParts = + getFlattenedArrayOfLineItemsWithChildParts(availableLineItems); const lineItemsWithOnlyPartNumbers = flattenedLineItemsWithChildParts.map((lineItem) => ({ partNumber: lineItem.partNumber, })); @@ -1678,10 +1679,13 @@ function addPricesToLineItems(lineItems, pricingLineItems) { function getFlattenedArrayOfLineItemsWithChildParts(lineItems) { let flattenedArray = []; - lineItems.forEach(lineItem => { + lineItems.forEach((lineItem) => { flattenedArray.push(lineItem); if (lineItem.childParts) { - flattenedArray = [...flattenedArray, ...getFlattenedArrayOfLineItemsWithChildParts(lineItem.childParts)]; + flattenedArray = [ + ...flattenedArray, + ...getFlattenedArrayOfLineItemsWithChildParts(lineItem.childParts), + ]; } }); return flattenedArray;