This commit is contained in:
Sneha 2024-03-28 15:47:34 +05:30
parent 632a72d311
commit 4553fbf022
4 changed files with 46 additions and 9 deletions

View file

@ -108,6 +108,11 @@ export default {
required: false,
default: true,
},
useDefaultCashParentAccount: {
type: Boolean,
required: false,
default: false,
},
},
computed: {
promoLinkText() {
@ -188,7 +193,13 @@ export default {
resetModalButtonStyle() {
this.modal.resetButtonStyle();
},
async getPromoCodeData(promoCode, lineItems, addableVaps, pageNameToLog = null) {
async getPromoCodeData(
promoCode,
lineItems,
addableVaps,
useDefaultCashParentAccount,
pageNameToLog = null
) {
const pageName = pageNameToLog ?? this.$options?.name;
const promoValidationResponse = await baseMixin.methods.dispatchStoreActionWithLogging(
storeActions.VALIDATE_ORDER_PROMO_AND_SAVE_SERVER_DATA,
@ -196,6 +207,7 @@ export default {
promoCode: promoCode,
lineItemsToUse: lineItems,
addableVaps: addableVaps,
useDefaultCashParentAccount: useDefaultCashParentAccount,
},
pageName,
false
@ -261,6 +273,7 @@ export default {
this.promoCode,
this.lineItems,
this.addableVaps,
this.useDefaultCashParentAccount,
this.pageName
);
if (promoCodeData.isValid) {
@ -271,7 +284,8 @@ export default {
await baseMixin.methods.dispatchStoreActionWithLogging(
storeActions.TAX_ORDER_ITEMS_AND_SAVE_SERVER_DATA,
{
billToAccountNumber: "87291",
billToAccountNumber:
store.getters.order.payment.billToAccountNumber,
providerNumber:
store.getters.order.serviceLocation.provider.providerNumber,
appointmentType:

View file

@ -98,7 +98,8 @@ export function removeVapsPromosFromPromoArray(promoArray) {
export async function revalidatePromosAndValidateQueryStringPromo(
newPromo,
pricedLineItems,
pageNameToLog
pageNameToLog,
useDefaultCashParentAccount = false
) {
const hasActivePromos = store.getters.order.lineItems.promos;
const hasInactivePromos = store.getters.payment.inactivePromos;
@ -114,7 +115,7 @@ export async function revalidatePromosAndValidateQueryStringPromo(
) {
revalidatePromoResponse = await baseMixin.methods.dispatchStoreActionWithLogging(
storeActions.REVALIDATE_ORDER_PROMOS_AND_SAVE_SERVER_DATA,
{},
{ useDefaultCashParentAccount },
pageNameToLog,
false
);

View file

@ -47,6 +47,7 @@
:addableVaps="addableVaps"
pageName="quote"
:taxPromos="false"
:useDefaultCashParentAccount="true"
modalWidgetName="PromoModalWidget" />
<textBlock
@ -188,7 +189,8 @@ export default {
await revalidatePromosAndValidateQueryStringPromo(
promoCodeFromQueryString,
pricingResults,
"quote"
"quote",
true
);
// Sync local promos with any new promos added by validate/revalidate
lineItems.promos = store.getters.lineItems.promos ?? [];

View file

@ -2357,7 +2357,15 @@ export const actions = {
// <lineItemsToUse> is an optional parameter if the lineItems in the store may not be up to date
async validateOrderPromoAndSaveServerData(
context,
{ payload: { promoCode, lineItemsToUse, addableVaps }, pageNameToLog }
{
payload: {
promoCode,
lineItemsToUse,
addableVaps,
useDefaultCashParentAccount = false,
},
pageNameToLog,
}
) {
const order = context.getters.order;
lineItemsToUse = lineItemsToUse ?? order.lineItems;
@ -2376,7 +2384,9 @@ export const actions = {
isRepair: order.damage.isRepair,
glassToReplace: renameGlassToReplaceAttributes(order.damage.glassToReplace),
lineItemsOnOrder: getArrayOfAllLineItems(lineItemsToUse),
parentAccountNumber: order.payment.parentAccountNumber,
parentAccountNumber: useDefaultCashParentAccount
? applicationConfig.CASH_PARENT_ACCOUNT_NUMBER
: order.payment.parentAccountNumber,
referralSequenceNumber: order.referralSequenceNumber,
serviceState: order.serviceLocation.state,
serverData: order.lineItems.serverData,
@ -2413,7 +2423,15 @@ export const actions = {
// All payload parameters are optional - will use store data if not provided
async revalidateOrderPromosAndSaveServerData(
context,
{ payload: { activePromosToUse, inactivePromosToUse, lineItemsToUse }, pageNameToLog }
{
payload: {
activePromosToUse,
inactivePromosToUse,
lineItemsToUse,
useDefaultCashParentAccount = false,
},
pageNameToLog,
}
) {
const order = context.getters.order;
@ -2438,7 +2456,9 @@ export const actions = {
isRepair: order.damage.isRepair,
glassToReplace: renameGlassToReplaceAttributes(order.damage.glassToReplace),
lineItemsOnOrder: getArrayOfAllLineItems(lineItemsToUse),
parentAccountNumber: order.payment.parentAccountNumber,
parentAccountNumber: useDefaultCashParentAccount
? applicationConfig.CASH_PARENT_ACCOUNT_NUMBER
: order.payment.parentAccountNumber,
referralSequenceNumber: order.referralSequenceNumber,
serviceState: order.serviceLocation.state,
serverData: order.lineItems.serverData,