Merge pull request #922 from Safelite/defect/CSR-753

CSR-1022 | Child parts are not priced
This commit is contained in:
scottkiener 2023-01-06 12:09:35 -05:00 committed by GitHub
commit b7e8fc5817
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1416,9 +1416,8 @@ export const actions = {
},
// Price order actions
async priceOrderItems(context, availableLineItems) {
const availableLineItemsFormattedForRequest = availableLineItems
.map((lineItem) => `&LineItems=${lineItem.partNumber}`)
.join("");
const availableLineItemsFormattedForRequest =
getLineItemQueryStringForPricing(availableLineItems);
const vehicle = context.getters.order.vehicle;
let queryString =
`ParentAccountNumber=${applicationConfig.CASH_ACCOUNT_NUMBER}` +
@ -1598,6 +1597,9 @@ function addPricesToLineItems(lineItems, pricingLineItems) {
let lineItemIndex = pricingLineItems.findIndex(
(pricingLineItem) => pricingLineItem.partNumber === lineItem.partNumber
);
if (lineItem.childParts) {
addPricesToLineItems(lineItem.childParts, pricingLineItems);
}
let pricedLineItem = pricingLineItems.splice(lineItemIndex, 1)[0];
lineItem.laborAmount = pricedLineItem.laborAmount;
lineItem.sellingPrice = pricedLineItem.sellingPrice;
@ -1605,3 +1607,14 @@ 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("");
}