commit
a6a88ac698
4 changed files with 46 additions and 9 deletions
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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
|
||||
);
|
||||
|
|
|
|||
|
|
@ -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 ?? [];
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
Loading…
Reference in a new issue