diff --git a/src/store/index.js b/src/store/index.js index 3c51c202e..73c5e2333 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -1472,8 +1472,9 @@ 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 +1676,19 @@ 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) {