Page prereqs
This commit is contained in:
parent
d107245f73
commit
3f9df4c331
1 changed files with 105 additions and 4 deletions
|
|
@ -66,6 +66,8 @@ import { showFmgLoadingModal } from "../../helpers/loading-modal-helper";
|
||||||
import cart from "@/fmg-components/cart/cart";
|
import cart from "@/fmg-components/cart/cart";
|
||||||
import { coverageStatus } from "@/constants/insurance";
|
import { coverageStatus } from "@/constants/insurance";
|
||||||
import { deepClone } from "@/helpers/object-helper";
|
import { deepClone } from "@/helpers/object-helper";
|
||||||
|
import store from "@/store";
|
||||||
|
import { debugLog } from "@/helpers/debug-log-helper.js";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "payment-adyen",
|
name: "payment-adyen",
|
||||||
|
|
@ -110,11 +112,110 @@ export default {
|
||||||
},
|
},
|
||||||
|
|
||||||
arePagePrerequisitesValid() {
|
arePagePrerequisitesValid() {
|
||||||
// Stub, for checking if application is capable of entering this page
|
// Service Location
|
||||||
// And/or, is all information required for this page present?
|
const serviceLocation = store.getters.order.serviceLocation;
|
||||||
// To prevent sequence-breaking from the end-user.
|
const mobileReqs = !!(
|
||||||
|
serviceLocation.address &&
|
||||||
|
serviceLocation.city &&
|
||||||
|
serviceLocation.state &&
|
||||||
|
serviceLocation.zipCode
|
||||||
|
);
|
||||||
|
|
||||||
return true;
|
const providerLocation = serviceLocation.provider.address;
|
||||||
|
const dropOffInshopReqs = !!(
|
||||||
|
providerLocation.streetAddress &&
|
||||||
|
providerLocation.city &&
|
||||||
|
providerLocation.state &&
|
||||||
|
providerLocation.zipCode
|
||||||
|
);
|
||||||
|
|
||||||
|
const isMobile = serviceLocation.appointmentType === AppointmentTypeStrings.MOBILE;
|
||||||
|
|
||||||
|
const serviceLocationReqs =
|
||||||
|
(isMobile && mobileReqs) || (!isMobile && dropOffInshopReqs);
|
||||||
|
|
||||||
|
// Insurance
|
||||||
|
const isInsuranceSet = store.getters.order.payment.isInsurance !== null;
|
||||||
|
|
||||||
|
// Schedule
|
||||||
|
const schedule = store.getters.order.schedule;
|
||||||
|
const scheduleReqs = !!(
|
||||||
|
schedule.date &&
|
||||||
|
schedule.startTime &&
|
||||||
|
schedule.endTime &&
|
||||||
|
schedule.jobMaxMinutes &&
|
||||||
|
schedule.jobMinMinutes
|
||||||
|
);
|
||||||
|
|
||||||
|
// Customer
|
||||||
|
const customer = store.getters.order.customer;
|
||||||
|
const customerReqs = !!(
|
||||||
|
customer.firstName &&
|
||||||
|
customer.lastName &&
|
||||||
|
customer.phoneNumber &&
|
||||||
|
customer.emailAddress
|
||||||
|
);
|
||||||
|
|
||||||
|
const paymentMethodReqs =
|
||||||
|
store.getters.order.payment.isPia !== null &&
|
||||||
|
(store.getters.order.payment.isPia || !!store.getters.order.payment.piaType);
|
||||||
|
|
||||||
|
const preReqResult =
|
||||||
|
serviceLocationReqs &&
|
||||||
|
isInsuranceSet &&
|
||||||
|
scheduleReqs &&
|
||||||
|
customerReqs &&
|
||||||
|
paymentMethodReqs;
|
||||||
|
|
||||||
|
// prettier-ignore
|
||||||
|
{
|
||||||
|
debugLog("--- payment-adyen.vue pagePrereqs start ---", null, !preReqResult);
|
||||||
|
debugLog("mobileReqs:", mobileReqs, !preReqResult);
|
||||||
|
debugLog("serviceLocation.address:", serviceLocation.address, !preReqResult);
|
||||||
|
debugLog("serviceLocation.city:", serviceLocation.city, !preReqResult);
|
||||||
|
debugLog("serviceLocation.state:", serviceLocation.state, !preReqResult);
|
||||||
|
debugLog("serviceLocation.zipCode:", serviceLocation.zipCode, !preReqResult);
|
||||||
|
|
||||||
|
debugLog("", null, !preReqResult);
|
||||||
|
|
||||||
|
debugLog("dropOffInshopReqs:", dropOffInshopReqs, !preReqResult);
|
||||||
|
debugLog("serviceLocationReqs:", serviceLocationReqs, !preReqResult);
|
||||||
|
debugLog("providerLocation.streetAddress:", providerLocation.streetAddress, !preReqResult);
|
||||||
|
debugLog("providerLocation.city:", providerLocation.city, !preReqResult);
|
||||||
|
debugLog("providerLocation.state:", providerLocation.state, !preReqResult);
|
||||||
|
debugLog("providerLocation.zipCode:", providerLocation.zipCode, !preReqResult);
|
||||||
|
|
||||||
|
debugLog("", null, !preReqResult);
|
||||||
|
|
||||||
|
debugLog("isInsuranceSet:", isInsuranceSet, !preReqResult);
|
||||||
|
|
||||||
|
debugLog("", null, !preReqResult);
|
||||||
|
|
||||||
|
debugLog("scheduleReqs:", scheduleReqs, !preReqResult);
|
||||||
|
debugLog("schedule.date:", schedule.date, !preReqResult);
|
||||||
|
debugLog("schedule.startTime:", schedule.startTime, !preReqResult);
|
||||||
|
debugLog("schedule.endTime:", schedule.endTime, !preReqResult);
|
||||||
|
debugLog("schedule.jobMaxMinutes:", schedule.jobMaxMinutes, !preReqResult);
|
||||||
|
debugLog("schedule.jobMinMinutes:", schedule.jobMinMinutes, !preReqResult);
|
||||||
|
|
||||||
|
debugLog("", null, !preReqResult);
|
||||||
|
|
||||||
|
debugLog("customerReqs:", customerReqs, !preReqResult);
|
||||||
|
debugLog("customer.firstName:", customer.firstName, !preReqResult);
|
||||||
|
debugLog("customer.lastName:", customer.lastName, !preReqResult);
|
||||||
|
debugLog("customer.phoneNumber:", customer.phoneNumber, !preReqResult);
|
||||||
|
debugLog("customer.emailAddress:", customer.emailAddress, !preReqResult);
|
||||||
|
|
||||||
|
debugLog("", null, !preReqResult);
|
||||||
|
|
||||||
|
debugLog("paymentMethodReqs:", paymentMethodReqs, !preReqResult);
|
||||||
|
debugLog("store.getters.order.payment.isPia:", store.getters.order?.payment?.isPia, !preReqResult);
|
||||||
|
debugLog("store.getters.order.payment.piaType:", store.getters.order?.payment?.piaType, !preReqResult);
|
||||||
|
|
||||||
|
debugLog("--- payment-adyen.vue pagePrereqs end ---", null, !preReqResult);
|
||||||
|
}
|
||||||
|
|
||||||
|
return preReqResult;
|
||||||
},
|
},
|
||||||
|
|
||||||
async initializeAdyen() {
|
async initializeAdyen() {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue