Merge pull request #1637 from Safelite/rlsmerge/2023.12.14-to-develop
Rlsmerge/2023.12.14 to develop
This commit is contained in:
commit
fa82201f21
4 changed files with 12 additions and 34 deletions
|
|
@ -112,7 +112,6 @@ export async function revalidatePromosAndValidateQueryStringPromo(
|
||||||
pageNameToLog,
|
pageNameToLog,
|
||||||
false
|
false
|
||||||
);
|
);
|
||||||
|
|
||||||
const revalidationErrorPromoCodes = revalidatePromoResponse.errors.map((x) => x.promoCode);
|
const revalidationErrorPromoCodes = revalidatePromoResponse.errors.map((x) => x.promoCode);
|
||||||
baseMixin.methods.dispatchStoreAction(
|
baseMixin.methods.dispatchStoreAction(
|
||||||
storeActions.SAVE_ACTIVE_AND_OR_INACTIVE_PROMOS,
|
storeActions.SAVE_ACTIVE_AND_OR_INACTIVE_PROMOS,
|
||||||
|
|
@ -123,7 +122,6 @@ export async function revalidatePromosAndValidateQueryStringPromo(
|
||||||
false
|
false
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (hasNewPromo) {
|
if (hasNewPromo) {
|
||||||
validatePromoResponse = await baseMixin.methods.dispatchStoreActionWithLogging(
|
validatePromoResponse = await baseMixin.methods.dispatchStoreActionWithLogging(
|
||||||
storeActions.VALIDATE_ORDER_PROMO_AND_SAVE_SERVER_DATA,
|
storeActions.VALIDATE_ORDER_PROMO_AND_SAVE_SERVER_DATA,
|
||||||
|
|
@ -134,7 +132,6 @@ export async function revalidatePromosAndValidateQueryStringPromo(
|
||||||
pageNameToLog,
|
pageNameToLog,
|
||||||
false
|
false
|
||||||
);
|
);
|
||||||
|
|
||||||
if (validatePromoResponse.errorCode == null) {
|
if (validatePromoResponse.errorCode == null) {
|
||||||
// Save promo to store
|
// Save promo to store
|
||||||
const activePromos = store.getters.order.lineItems.promos ?? [];
|
const activePromos = store.getters.order.lineItems.promos ?? [];
|
||||||
|
|
|
||||||
|
|
@ -112,7 +112,6 @@ import { defineRule } from "vee-validate";
|
||||||
import { required } from "@/helpers/validation-rules";
|
import { required } from "@/helpers/validation-rules";
|
||||||
import { errorMessages } from "@/constants/error-messages";
|
import { errorMessages } from "@/constants/error-messages";
|
||||||
import { AppointmentTypeStrings } from "@/constants/schedule-constants";
|
import { AppointmentTypeStrings } from "@/constants/schedule-constants";
|
||||||
import { partTypeStrings } from "@/constants/part-type-strings";
|
|
||||||
import { mapTaxedLineItemsToStoreFormat } from "../../store";
|
import { mapTaxedLineItemsToStoreFormat } from "../../store";
|
||||||
|
|
||||||
defineRule("option-required", required(errorMessages.OPTION_REQUIRED));
|
defineRule("option-required", required(errorMessages.OPTION_REQUIRED));
|
||||||
|
|
@ -381,32 +380,6 @@ export default {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Because we don't yet have a robust solution for part interchange ...
|
|
||||||
// if there are front wiper line items in the revalidate response, we need to delete any existing front wiper line items from the store
|
|
||||||
// and replace them with those that come back from revalidation.
|
|
||||||
const revalidateResponseHasFrontWiperLineItems =
|
|
||||||
revalidatePromoResponse.promoLineItems.find(
|
|
||||||
(lineItem) => lineItem.partType == partTypeStrings.FRONT_WIPER
|
|
||||||
).length > 0;
|
|
||||||
|
|
||||||
if (revalidateResponseHasFrontWiperLineItems) {
|
|
||||||
const frontWiperLineItemsInStore = this.lineItems.vaps.find(
|
|
||||||
(lineItem) => lineItem.partType == partTypeStrings.FRONT_WIPER
|
|
||||||
);
|
|
||||||
if (frontWiperLineItemsInStore.length > 0) {
|
|
||||||
this.lineItems.vaps = this.lineItems.vaps.find(
|
|
||||||
(lineItem) => lineItem.partType != partTypeStrings.FRONT_WIPER
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
const vapsToAddToCart = getVapsThatNeedToBeAddedToSatisfyPromos(
|
|
||||||
revalidatePromoResponse.promoLineItems,
|
|
||||||
this.availableVaps,
|
|
||||||
this.lineItems
|
|
||||||
);
|
|
||||||
this.lineItems.vaps.push(...vapsToAddToCart);
|
|
||||||
|
|
||||||
this.lineItems.promos = revalidatePromoResponse.promoLineItems;
|
this.lineItems.promos = revalidatePromoResponse.promoLineItems;
|
||||||
this.inactivePromos = revalidatePromoResponse.errors.map((x) =>
|
this.inactivePromos = revalidatePromoResponse.errors.map((x) =>
|
||||||
getPromoCodeWithoutBundleIdentifier(x.promoCode)
|
getPromoCodeWithoutBundleIdentifier(x.promoCode)
|
||||||
|
|
|
||||||
|
|
@ -79,7 +79,7 @@ import vehicleQuestion from "@/layouts/vehicle/vehicle-question/vehicle-question
|
||||||
// Supporting files
|
// Supporting files
|
||||||
import { fetchCmsContentForPage } from "@/helpers/cms-content-helper";
|
import { fetchCmsContentForPage } from "@/helpers/cms-content-helper";
|
||||||
import { experimentUniverses } from "@/constants/experiments";
|
import { experimentUniverses } from "@/constants/experiments";
|
||||||
import { getDeviceIdValue, getSessionKeyValue } from "@/helpers/heritage-integration/cookie-helper";
|
import { getSessionKeyValue, getUserIdValue } from "@/helpers/heritage-integration/cookie-helper";
|
||||||
import { settleAllPromises } from "@/helpers/layout-helper";
|
import { settleAllPromises } from "@/helpers/layout-helper";
|
||||||
import { Form, defineRule } from "vee-validate";
|
import { Form, defineRule } from "vee-validate";
|
||||||
import { required } from "@/helpers/validation-rules";
|
import { required } from "@/helpers/validation-rules";
|
||||||
|
|
@ -169,7 +169,7 @@ export default {
|
||||||
baseMixin.methods.dispatchStoreActionWithLogging(
|
baseMixin.methods.dispatchStoreActionWithLogging(
|
||||||
storeActions.LOG_EXPERIMENT_EXPOSURE,
|
storeActions.LOG_EXPERIMENT_EXPOSURE,
|
||||||
{
|
{
|
||||||
userId: getDeviceIdValue(),
|
userId: getUserIdValue(),
|
||||||
sessionKey: getSessionKeyValue(),
|
sessionKey: getSessionKeyValue(),
|
||||||
pageName: to.query.fmgPage,
|
pageName: to.query.fmgPage,
|
||||||
experiment: experimentForLogging,
|
experiment: experimentForLogging,
|
||||||
|
|
|
||||||
|
|
@ -36,6 +36,10 @@ export default {
|
||||||
const currentPageName = getPageNameByQueryString();
|
const currentPageName = getPageNameByQueryString();
|
||||||
await this.validateSession();
|
await this.validateSession();
|
||||||
|
|
||||||
|
const refSequenceNum =
|
||||||
|
store.getters.order.referralSequenceNumber ||
|
||||||
|
store.getters.submittedOrder?.referralSequenceNumber;
|
||||||
|
|
||||||
var payload = {
|
var payload = {
|
||||||
userId: getUserIdValue(),
|
userId: getUserIdValue(),
|
||||||
sessionKey: getSessionKeyValue(),
|
sessionKey: getSessionKeyValue(),
|
||||||
|
|
@ -45,7 +49,7 @@ export default {
|
||||||
event: pageEvent,
|
event: pageEvent,
|
||||||
shouldUseSessionId: false,
|
shouldUseSessionId: false,
|
||||||
experimentsForUser: store.getters.applicationUser.experiments,
|
experimentsForUser: store.getters.applicationUser.experiments,
|
||||||
referralSequenceNumber: store.getters.order.referralSequenceNumber,
|
referralSequenceNumber: refSequenceNum,
|
||||||
parentAccountNumber: store.getters.order.payment.parentAccountNumber,
|
parentAccountNumber: store.getters.order.payment.parentAccountNumber,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -56,6 +60,10 @@ export default {
|
||||||
const currentPageName = getPageNameByQueryString();
|
const currentPageName = getPageNameByQueryString();
|
||||||
await this.validateSession();
|
await this.validateSession();
|
||||||
|
|
||||||
|
const refSequenceNum =
|
||||||
|
store.getters.order.referralSequenceNumber ||
|
||||||
|
store.getters.submittedOrder?.referralSequenceNumber;
|
||||||
|
|
||||||
var payload = {
|
var payload = {
|
||||||
userId: getUserIdValue(),
|
userId: getUserIdValue(),
|
||||||
sessionKey: getSessionKeyValue(),
|
sessionKey: getSessionKeyValue(),
|
||||||
|
|
@ -67,7 +75,7 @@ export default {
|
||||||
value: value,
|
value: value,
|
||||||
shouldUseSessionId: false,
|
shouldUseSessionId: false,
|
||||||
experimentsForUser: store.getters.applicationUser.experiments,
|
experimentsForUser: store.getters.applicationUser.experiments,
|
||||||
referralSequenceNumber: store.getters.order.referralSequenceNumber,
|
referralSequenceNumber: refSequenceNum,
|
||||||
parentAccountNumber: store.getters.order.payment.parentAccountNumber,
|
parentAccountNumber: store.getters.order.payment.parentAccountNumber,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue