diff --git a/src/layouts/payment-method/payment-method.vue b/src/layouts/payment-method/payment-method.vue index 9e3910b40..96f2fda75 100644 --- a/src/layouts/payment-method/payment-method.vue +++ b/src/layouts/payment-method/payment-method.vue @@ -307,7 +307,6 @@ export default { availableVaps: [], paymentMethodInternalModel: this.getPaymentMethodFromStore(), inactivePromos: this.getInactivePromosFromStore(), - isPiaDisabled: this.getPiaStatusFromStore(), }; }, methods: { @@ -500,13 +499,6 @@ export default { this.$route ); }, - getPiaStatusFromStore() { - const piaExperience = this.getSettingValue(experimentSettings.PIA_EXPERIENCE); - - const isEnabled = piaExperience === "PIA Optional" || piaExperience === "PIA Required"; - - return !isEnabled; - }, }, computed: { damageInfo() { @@ -527,6 +519,13 @@ export default { return null; } }, + isPiaDisabled() { + const piaExperience = this.getSettingValue(experimentSettings.PIA_EXPERIENCE); + + const isEnabled = piaExperience === "PIA Optional" || piaExperience === "PIA Required"; + + return !isEnabled; + }, paymentMethod() { if (this.isPiaDisabled) { return paymentMethods.LATER; diff --git a/src/mixins/experiment-mixin.js b/src/mixins/experiment-mixin.js index 11b573683..a7ffd52f0 100644 --- a/src/mixins/experiment-mixin.js +++ b/src/mixins/experiment-mixin.js @@ -9,9 +9,16 @@ export default { return Object.hasOwn(store.getters.experimentSettings, settingName); }, getSettingValue(settingName) { - return this.hasSetting(settingName) - ? store.getters.experimentSettings[settingName] - : null; + if (this.hasSetting(settingName)) { + return store.getters.experimentSettings[settingName]; + } else if (store.getters.hasSubmittedOrder) { + const experimentSettings = store.getters.submittedOrder.experiments + .filter((x) => x.isActive) + .reduce((r, c) => ({ ...r, ...c.settings }), {}); + return experimentSettings[settingName] ?? null; + } else { + return null; + } }, }, }; diff --git a/src/store/index.js b/src/store/index.js index f023bd708..d69132c9b 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -2511,6 +2511,9 @@ export const actions = { // create a submitted order object from vuex. const submittedOrder = context.state.order; + //add experiments to submittedOrder + submittedOrder.experiments = context.state.applicationUser.experiments; + // set to local storage window.sessionStorage.setItem("submittedOrder", JSON.stringify(submittedOrder));