Merge pull request #1457 from Safelite/feature/CSR-1392
Feature/csr 1392
This commit is contained in:
commit
6cffd41fa8
8 changed files with 31 additions and 61 deletions
|
|
@ -90,7 +90,6 @@ const storeActions = {
|
||||||
SAVE_CUSTOMER_DETAILS: "saveCustomerDetails",
|
SAVE_CUSTOMER_DETAILS: "saveCustomerDetails",
|
||||||
SAVE_SERVICE_LOCATION_TECH_NOTES: "saveServiceLocationTechNotes",
|
SAVE_SERVICE_LOCATION_TECH_NOTES: "saveServiceLocationTechNotes",
|
||||||
SAVE_WORK_ORDER_FLAG: "saveWorkOrderFlag",
|
SAVE_WORK_ORDER_FLAG: "saveWorkOrderFlag",
|
||||||
SAVE_PIA_ERROR_CODE: "savePiaErrorCode",
|
|
||||||
SAVE_PIA_WORK_ORDER: "savePiaWorkOrder",
|
SAVE_PIA_WORK_ORDER: "savePiaWorkOrder",
|
||||||
SAVE_CCTOKEN: "saveCCToken",
|
SAVE_CCTOKEN: "saveCCToken",
|
||||||
SAVE_PAYPAL_TOKEN: "savePaypalToken",
|
SAVE_PAYPAL_TOKEN: "savePaypalToken",
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
const storeMutations = {
|
const storeMutations = {
|
||||||
// PAYMENT MUTATIONS
|
// PAYMENT MUTATIONS
|
||||||
UPDATE_WORK_ORDER_FLAG: "updateWorkOrderFlag",
|
UPDATE_WORK_ORDER_FLAG: "updateWorkOrderFlag",
|
||||||
UPDATE_PIA_ERROR_CODE: "updatePiaErrorCode",
|
|
||||||
UPDATE_PIA_WORK_ORDER: "updatePiaWorkOrder",
|
UPDATE_PIA_WORK_ORDER: "updatePiaWorkOrder",
|
||||||
UPDATE_CCTOKEN: "updateCCToken",
|
UPDATE_CCTOKEN: "updateCCToken",
|
||||||
UPDATE_PAYPAL_TOKEN: "updatePaypalToken",
|
UPDATE_PAYPAL_TOKEN: "updatePaypalToken",
|
||||||
|
|
|
||||||
|
|
@ -50,12 +50,13 @@ function setupMocks() {
|
||||||
lineItems: [],
|
lineItems: [],
|
||||||
order: {
|
order: {
|
||||||
payment: {
|
payment: {
|
||||||
piaErrorCode: "",
|
isPia: false,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
const mountOptions = getMountOptions({
|
const mountOptions = getMountOptions({
|
||||||
|
route: { query: {}, params: {} },
|
||||||
router: {
|
router: {
|
||||||
navigate: jest.fn(),
|
navigate: jest.fn(),
|
||||||
navigateWithSaving: jest.fn(),
|
navigateWithSaving: jest.fn(),
|
||||||
|
|
|
||||||
|
|
@ -35,7 +35,7 @@
|
||||||
<alert
|
<alert
|
||||||
ref="piaErrorAlert"
|
ref="piaErrorAlert"
|
||||||
class="my-4"
|
class="my-4"
|
||||||
v-if="displayPiaAlert"
|
v-if="shouldDisplayPiaAlert"
|
||||||
cmsWidgetName="PIAErrorAlertWidget"
|
cmsWidgetName="PIAErrorAlertWidget"
|
||||||
alertClass="alert-danger"
|
alertClass="alert-danger"
|
||||||
v-bind:isDismissible="false" />
|
v-bind:isDismissible="false" />
|
||||||
|
|
@ -275,7 +275,6 @@ export default {
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
backButtonAction() {
|
backButtonAction() {
|
||||||
this.dispatchStoreAction(storeActions.SAVE_PIA_ERROR_CODE, null, false);
|
|
||||||
this.$router.navigateWithoutSaving(this.navigationScenarios.CLICKED_BACK, this.$route);
|
this.$router.navigateWithoutSaving(this.navigationScenarios.CLICKED_BACK, this.$route);
|
||||||
},
|
},
|
||||||
async forwardButtonAction() {
|
async forwardButtonAction() {
|
||||||
|
|
@ -289,40 +288,26 @@ export default {
|
||||||
|
|
||||||
await this.dispatchStoreAction(storeActions.SAVE_PROMOS, this.lineItems.promos, false);
|
await this.dispatchStoreAction(storeActions.SAVE_PROMOS, this.lineItems.promos, false);
|
||||||
|
|
||||||
switch (this.paymentMethod) {
|
if (this.paymentMethod == paymentMethods.LATER) {
|
||||||
case paymentMethods.CREDIT_CARD:
|
this.dispatchStoreAction(this.storeActions.SAVE_WORK_ORDER_FLAG, true, false);
|
||||||
this.setupPia(this.paymentMethod);
|
await submitWorkOrder({ pageNameToLog: "payment-method" });
|
||||||
break;
|
this.$router.navigateWithoutSaving(
|
||||||
case paymentMethods.PAYPAL:
|
this.navigationScenarios.CLICKED_FORWARD,
|
||||||
this.setupPia(this.paymentMethod);
|
this.$route
|
||||||
break;
|
);
|
||||||
case paymentMethods.AFTERPAY:
|
} else {
|
||||||
this.setupPia(this.paymentMethod);
|
this.setupPia();
|
||||||
break;
|
|
||||||
default:
|
|
||||||
this.dispatchStoreAction(storeActions.SAVE_PIA_ERROR_CODE, null, false);
|
|
||||||
this.dispatchStoreAction(this.storeActions.SAVE_WORK_ORDER_FLAG, true, false);
|
|
||||||
await submitWorkOrder({ pageNameToLog: "payment-method" });
|
|
||||||
this.$router.navigateWithoutSaving(
|
|
||||||
this.navigationScenarios.CLICKED_FORWARD,
|
|
||||||
this.$route
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
async setupPia(payNowType) {
|
async setupPia() {
|
||||||
this.$refs.loadingModal.showModal();
|
this.$refs.loadingModal.showModal();
|
||||||
|
|
||||||
// since we're leaving the site for pia, clear any save session promises that we will not be able to resolve when we return
|
|
||||||
await this.dispatchStoreAction(storeActions.RESET_SAVE_SESSION_PROMISE);
|
|
||||||
|
|
||||||
// make sure pia error codes are reset
|
|
||||||
this.dispatchStoreAction(storeActions.SAVE_PIA_ERROR_CODE, null, false);
|
|
||||||
|
|
||||||
// if we don't have a work order in delete substatus, set the flag and submit
|
// if we don't have a work order in delete substatus, set the flag and submit
|
||||||
if (!store.getters.order.workOrderNumber) {
|
if (!store.getters.order.workOrderNumber) {
|
||||||
this.dispatchStoreAction(storeActions.SAVE_PIA_WORK_ORDER, true);
|
this.dispatchStoreAction(storeActions.SAVE_PIA_WORK_ORDER, true);
|
||||||
await submitWorkOrder({ pageNameToLog: "payment-method" });
|
await submitWorkOrder({ pageNameToLog: "payment-method" });
|
||||||
this.dispatchStoreAction(storeActions.SAVE_PIA_WORK_ORDER, false);
|
this.dispatchStoreAction(storeActions.SAVE_PIA_WORK_ORDER, false);
|
||||||
|
this.dispatchStoreAction(storeActions.RESET_SAVE_SESSION_PROMISE);
|
||||||
}
|
}
|
||||||
|
|
||||||
this.$router.navigateWithoutSaving(
|
this.$router.navigateWithoutSaving(
|
||||||
|
|
@ -363,8 +348,8 @@ export default {
|
||||||
|
|
||||||
return this.paymentMethodInternalModel;
|
return this.paymentMethodInternalModel;
|
||||||
},
|
},
|
||||||
displayPiaAlert() {
|
shouldDisplayPiaAlert() {
|
||||||
return store.getters.order.payment.piaErrorCode ? true : false;
|
return this.$route.params[this.routerParams.DISPLAY_PIA_ALERT];
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,7 @@ import baseMixin from "@/mixins/base-mixin.js";
|
||||||
import loadingModal from "@/fmg-components/loading-modal/loading-modal.vue";
|
import loadingModal from "@/fmg-components/loading-modal/loading-modal.vue";
|
||||||
import { Form } from "vee-validate";
|
import { Form } from "vee-validate";
|
||||||
import { paymentMethods } from "@/constants/payment-method-constants";
|
import { paymentMethods } from "@/constants/payment-method-constants";
|
||||||
|
import { routerParams } from "@/router/router-constants/router-params";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "payment-pia-return",
|
name: "payment-pia-return",
|
||||||
|
|
@ -23,12 +24,12 @@ export default {
|
||||||
|
|
||||||
if (piaError) {
|
if (piaError) {
|
||||||
console.log("Error during payment: " + piaError);
|
console.log("Error during payment: " + piaError);
|
||||||
baseMixin.methods.dispatchStoreAction(
|
this.$router.navigateWithoutSaving(
|
||||||
storeActions.SAVE_PIA_ERROR_CODE,
|
this.navigationScenarios.PIA_ERROR,
|
||||||
piaError,
|
this.$route,
|
||||||
false
|
{},
|
||||||
|
{ [routerParams.DISPLAY_PIA_ALERT]: true }
|
||||||
);
|
);
|
||||||
this.$router.navigateWithoutSaving(this.navigationScenarios.PIA_ERROR, this.$route);
|
|
||||||
} else {
|
} else {
|
||||||
switch (store.getters.order.payment.piaType) {
|
switch (store.getters.order.payment.piaType) {
|
||||||
case paymentMethods.CREDIT_CARD:
|
case paymentMethods.CREDIT_CARD:
|
||||||
|
|
@ -41,14 +42,11 @@ export default {
|
||||||
default:
|
default:
|
||||||
var msg = "Unknown Pia type: " + store.getters.order.payment.piaType;
|
var msg = "Unknown Pia type: " + store.getters.order.payment.piaType;
|
||||||
console.log(msg);
|
console.log(msg);
|
||||||
baseMixin.methods.dispatchStoreAction(
|
|
||||||
storeActions.SAVE_PIA_ERROR_CODE,
|
|
||||||
msg,
|
|
||||||
false
|
|
||||||
);
|
|
||||||
this.$router.navigateWithoutSaving(
|
this.$router.navigateWithoutSaving(
|
||||||
this.navigationScenarios.PIA_ERROR,
|
this.navigationScenarios.PIA_ERROR,
|
||||||
this.$route
|
this.$route,
|
||||||
|
{},
|
||||||
|
{ [routerParams.DISPLAY_PIA_ALERT]: true }
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -60,7 +58,6 @@ export default {
|
||||||
async processPaypalResponse() {
|
async processPaypalResponse() {
|
||||||
const token = getQuerystringParameter(queryStrings.TOKEN);
|
const token = getQuerystringParameter(queryStrings.TOKEN);
|
||||||
const payerId = getQuerystringParameter(queryStrings.PAYERID);
|
const payerId = getQuerystringParameter(queryStrings.PAYERID);
|
||||||
baseMixin.methods.dispatchStoreAction(storeActions.SAVE_PIA_ERROR_CODE, null, false);
|
|
||||||
baseMixin.methods.dispatchStoreAction(storeActions.SAVE_WORK_ORDER_FLAG, true, false);
|
baseMixin.methods.dispatchStoreAction(storeActions.SAVE_WORK_ORDER_FLAG, true, false);
|
||||||
baseMixin.methods.dispatchStoreAction(storeActions.SAVE_PAYPAL_TOKEN, token, false);
|
baseMixin.methods.dispatchStoreAction(storeActions.SAVE_PAYPAL_TOKEN, token, false);
|
||||||
|
|
||||||
|
|
@ -68,7 +65,6 @@ export default {
|
||||||
},
|
},
|
||||||
async processCreditCardResponse() {
|
async processCreditCardResponse() {
|
||||||
const subscriptionID = getQuerystringParameter(queryStrings.SUBSCRIPTIONID);
|
const subscriptionID = getQuerystringParameter(queryStrings.SUBSCRIPTIONID);
|
||||||
baseMixin.methods.dispatchStoreAction(storeActions.SAVE_PIA_ERROR_CODE, null, false);
|
|
||||||
baseMixin.methods.dispatchStoreAction(storeActions.SAVE_WORK_ORDER_FLAG, true, false);
|
baseMixin.methods.dispatchStoreAction(storeActions.SAVE_WORK_ORDER_FLAG, true, false);
|
||||||
|
|
||||||
const referralSeqNum = getQuerystringParameter(queryStrings.REFERRAL_SEQ_NUM);
|
const referralSeqNum = getQuerystringParameter(queryStrings.REFERRAL_SEQ_NUM);
|
||||||
|
|
@ -79,12 +75,12 @@ export default {
|
||||||
" " +
|
" " +
|
||||||
store.getters.order.referralSequenceNumber
|
store.getters.order.referralSequenceNumber
|
||||||
);
|
);
|
||||||
baseMixin.methods.dispatchStoreAction(
|
this.$router.navigateWithoutSaving(
|
||||||
storeActions.SAVE_PIA_ERROR_CODE,
|
this.navigationScenarios.PIA_ERROR,
|
||||||
"unknown error",
|
this.$route,
|
||||||
false
|
{},
|
||||||
|
{ [routerParams.DISPLAY_PIA_ALERT]: true }
|
||||||
);
|
);
|
||||||
this.$router.navigateWithoutSaving(this.navigationScenarios.PIA_ERROR, this.$route);
|
|
||||||
} else {
|
} else {
|
||||||
const expMonth = getQuerystringParameter(queryStrings.CARD_EXPIRATION_MONTH);
|
const expMonth = getQuerystringParameter(queryStrings.CARD_EXPIRATION_MONTH);
|
||||||
const expYear = getQuerystringParameter(queryStrings.CARD_EXPIRATION_YEAR);
|
const expYear = getQuerystringParameter(queryStrings.CARD_EXPIRATION_YEAR);
|
||||||
|
|
|
||||||
|
|
@ -260,8 +260,6 @@ export default {
|
||||||
return items[1];
|
return items[1];
|
||||||
}
|
}
|
||||||
|
|
||||||
// no work order, set pia error and return
|
|
||||||
this.dispatchStoreAction(storeActions.SAVE_PIA_ERROR_CODE, "NO WORK ORDER", false);
|
|
||||||
this.backButtonAction();
|
this.backButtonAction();
|
||||||
},
|
},
|
||||||
getInvoiceNumber() {
|
getInvoiceNumber() {
|
||||||
|
|
@ -269,8 +267,6 @@ export default {
|
||||||
return store.getters.order.workOrderNumber.replace("-", "");
|
return store.getters.order.workOrderNumber.replace("-", "");
|
||||||
}
|
}
|
||||||
|
|
||||||
// no work order, set pia error and return
|
|
||||||
this.dispatchStoreAction(storeActions.SAVE_PIA_ERROR_CODE, "NO WORK ORDER", false);
|
|
||||||
this.backButtonAction();
|
this.backButtonAction();
|
||||||
},
|
},
|
||||||
getAddress1() {
|
getAddress1() {
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
const routerParams = {
|
const routerParams = {
|
||||||
DISPLAY_VEHICLE_CHANGE_ALERT: "displayVehicleChangeAlert",
|
DISPLAY_VEHICLE_CHANGE_ALERT: "displayVehicleChangeAlert",
|
||||||
|
DISPLAY_PIA_ALERT: "displayPiaAlert",
|
||||||
};
|
};
|
||||||
|
|
||||||
export { routerParams };
|
export { routerParams };
|
||||||
|
|
|
||||||
|
|
@ -97,7 +97,6 @@ const getDefaultState = () => {
|
||||||
parentAccountNumber: 0,
|
parentAccountNumber: 0,
|
||||||
isPia: null,
|
isPia: null,
|
||||||
piaType: null,
|
piaType: null,
|
||||||
piaErrorCode: null,
|
|
||||||
inactivePromos: null,
|
inactivePromos: null,
|
||||||
paypalToken: null,
|
paypalToken: null,
|
||||||
ccToken: {
|
ccToken: {
|
||||||
|
|
@ -249,9 +248,6 @@ export const mutations = {
|
||||||
updatePiaType(state, piaType) {
|
updatePiaType(state, piaType) {
|
||||||
state.order.payment.piaType = piaType;
|
state.order.payment.piaType = piaType;
|
||||||
},
|
},
|
||||||
updatePiaErrorCode(state, piaErrorCode) {
|
|
||||||
state.order.payment.piaErrorCode = piaErrorCode;
|
|
||||||
},
|
|
||||||
updatePiaWorkOrder(state, piaWorkOrder) {
|
updatePiaWorkOrder(state, piaWorkOrder) {
|
||||||
state.order.createDeleteStatusWorkOrderForPia = piaWorkOrder;
|
state.order.createDeleteStatusWorkOrderForPia = piaWorkOrder;
|
||||||
},
|
},
|
||||||
|
|
@ -1780,9 +1776,6 @@ export const actions = {
|
||||||
saveWorkOrderFlag(context, submitAfterSave) {
|
saveWorkOrderFlag(context, submitAfterSave) {
|
||||||
context.commit(storeMutations.UPDATE_WORK_ORDER_FLAG, submitAfterSave);
|
context.commit(storeMutations.UPDATE_WORK_ORDER_FLAG, submitAfterSave);
|
||||||
},
|
},
|
||||||
savePiaErrorCode(context, piaErrorCode) {
|
|
||||||
context.commit(storeMutations.UPDATE_PIA_ERROR_CODE, piaErrorCode);
|
|
||||||
},
|
|
||||||
savePiaWorkOrder(context, piaWorkOrder) {
|
savePiaWorkOrder(context, piaWorkOrder) {
|
||||||
context.commit(storeMutations.UPDATE_PIA_WORK_ORDER, piaWorkOrder);
|
context.commit(storeMutations.UPDATE_PIA_WORK_ORDER, piaWorkOrder);
|
||||||
},
|
},
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue