fix: add optional chaining to prevent runtime errors when accessing reward properties in pos_order.js
This commit is contained in:
parent
dfd52fe1cc
commit
7a7556e8a9
@ -309,10 +309,10 @@ patch(PosOrder.prototype, {
|
|||||||
|
|
||||||
// Separate cheapest product reward lines from others
|
// Separate cheapest product reward lines from others
|
||||||
const cheapestRewardLines = rewardLines.filter(
|
const cheapestRewardLines = rewardLines.filter(
|
||||||
line => line.reward_id && line.reward_id.reward_product_applicability === 'cheapest'
|
line => line.reward_id?.reward_product_applicability === 'cheapest'
|
||||||
);
|
);
|
||||||
const otherRewardLines = rewardLines.filter(
|
const otherRewardLines = rewardLines.filter(
|
||||||
line => !(line.reward_id && line.reward_id.reward_product_applicability === 'cheapest')
|
line => line.reward_id?.reward_product_applicability !== 'cheapest'
|
||||||
);
|
);
|
||||||
|
|
||||||
// If there are cheapest reward lines, handle them separately.
|
// If there are cheapest reward lines, handle them separately.
|
||||||
@ -378,8 +378,8 @@ patch(PosOrder.prototype, {
|
|||||||
reward_identifier_code: line.reward_identifier_code,
|
reward_identifier_code: line.reward_identifier_code,
|
||||||
};
|
};
|
||||||
if (
|
if (
|
||||||
claimedReward.reward.program_id?.program_type === "gift_card" ||
|
claimedReward.reward?.program_id?.program_type === "gift_card" ||
|
||||||
claimedReward.reward.program_id?.program_type === "ewallet"
|
claimedReward.reward?.program_id?.program_type === "ewallet"
|
||||||
) {
|
) {
|
||||||
paymentRewards.push(claimedReward);
|
paymentRewards.push(claimedReward);
|
||||||
} else if (claimedReward.reward.reward_type === "product") {
|
} else if (claimedReward.reward.reward_type === "product") {
|
||||||
@ -423,17 +423,17 @@ patch(PosOrder.prototype, {
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (
|
if (
|
||||||
claimedReward.reward.program_id?.program_type === "coupons" &&
|
claimedReward.reward?.program_id?.program_type === "coupons" &&
|
||||||
this.lines.find(
|
this.lines.find(
|
||||||
(rewardline) => rewardline.reward_id?.id === claimedReward.reward.id
|
(rewardline) => rewardline.reward_id?.id === claimedReward.reward?.id
|
||||||
)
|
)
|
||||||
) {
|
) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (
|
if (
|
||||||
claimedReward.reward.reward_product_ids?.length === 1 &&
|
claimedReward.reward?.reward_product_ids?.length === 1 &&
|
||||||
allRewardsMerged.filter(
|
allRewardsMerged.filter(
|
||||||
(reward) => reward.reward.program_id?.id === claimedReward.reward.program_id?.id
|
(reward) => reward.reward?.program_id?.id === claimedReward.reward?.program_id?.id
|
||||||
).length === 1
|
).length === 1
|
||||||
) {
|
) {
|
||||||
delete claimedReward.args["quantity"];
|
delete claimedReward.args["quantity"];
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user