From 6ef832000e8410b1bf12f820923db3a77050c2aa Mon Sep 17 00:00:00 2001 From: CameronEYDS <53542131+cameron-eyds@users.noreply.github.com> Date: Wed, 21 Feb 2024 14:34:52 -0800 Subject: [PATCH] Address comparison update (#1746) --- .../composables/userAccess/useUserAccess.ts | 40 ++++++++++--------- .../views/mhrInformation/MhrInformation.vue | 2 +- 2 files changed, 22 insertions(+), 20 deletions(-) diff --git a/ppr-ui/src/composables/userAccess/useUserAccess.ts b/ppr-ui/src/composables/userAccess/useUserAccess.ts index cfd062aec..3ebefeb9c 100644 --- a/ppr-ui/src/composables/userAccess/useUserAccess.ts +++ b/ppr-ui/src/composables/userAccess/useUserAccess.ts @@ -32,7 +32,13 @@ import { import { storeToRefs } from 'pinia' import { useStore } from '@/store/store' import { useAuth, useNavigation } from '@/composables' -import { MhrManufacturerInfoIF, MhrQsPayloadIF, UserAccessMessageIF, UserProductSubscriptionIF } from '@/interfaces' +import { + AddressIF, + MhrManufacturerInfoIF, + MhrQsPayloadIF, + UserAccessMessageIF, + UserProductSubscriptionIF +} from '@/interfaces' export const useUserAccess = () => { const { initializeUserProducts } = useAuth() @@ -338,25 +344,21 @@ export const useUserAccess = () => { } /** - * Disable dealer/manufacturer location change based on address match conditions and restricted to Sole Owners - * @returns {Promise} Promise that returns true when dealer/manufacturer address matches home address + * Disable dealer/manufacturer location change based on address match conditions between QS Lot and Home Civic Address + * @returns {Promise} Promise that returns true when dealer/manufacturer address matches lot address */ - const disableDealerManufacturerLocationChange = async (): Promise => { - let isSoleOwner: boolean, isLocationMatch: boolean - - // First verify a single owner group & SOLE ownership - if (getMhrTransferCurrentHomeOwnerGroups.value.length === 1) { - isSoleOwner = getMhrTransferCurrentHomeOwnerGroups.value[0].type === ApiHomeTenancyTypes.SOLE - } else return true + const disableDealerManufacturerLocationChange = async (isDealer = false): Promise => { + let dealerManufacturerAddress: AddressIF - // If a Sole Owner: Fetch and verify the sole owner name matches the civic address of the Home Location - if (isSoleOwner) { - const homeCivicAddress = getMhrRegistrationLocation.value?.address - const ownerAddress = getMhrTransferCurrentHomeOwnerGroups.value[0]?.owners[0]?.address - isLocationMatch = isObjectEqual(homeCivicAddress, ownerAddress) - } else return true + if(isDealer) { + const dealerData: MhrQsPayloadIF = await getQualifiedSupplier() + dealerManufacturerAddress = dealerData?.address + } else { + const manufacturerData: MhrManufacturerInfoIF = await getMhrManufacturerInfo() + dealerManufacturerAddress = manufacturerData?.location?.address + } - return !isLocationMatch + return !isObjectEqual(getMhrRegistrationLocation.value?.address, dealerManufacturerAddress) } /** @@ -449,7 +451,7 @@ export const useUserAccess = () => { submittingParty: { businessName: getMhrQsSubmittingParty.value.name, address: getMhrQsSubmittingParty.value.mailingAddress, - phoneNumber: getMhrQsSubmittingParty.value.phoneNumber, + phoneNumber: fromDisplayPhone(getMhrQsSubmittingParty.value.phoneNumber), phoneExtension: getMhrQsSubmittingParty.value.phoneExtension }, ownerGroups: [ @@ -461,7 +463,7 @@ export const useUserAccess = () => { organizationName: getMhrQsInformation.value.businessName, partyType: HomeOwnerPartyTypes.OWNER_BUS, address: getMhrQsInformation.value.address, - phoneNumber: getMhrQsInformation.value.phoneNumber, + phoneNumber: fromDisplayPhone(getMhrQsInformation.value.phoneNumber), phoneExtension:getMhrQsInformation.value.phoneExtension } ] diff --git a/ppr-ui/src/views/mhrInformation/MhrInformation.vue b/ppr-ui/src/views/mhrInformation/MhrInformation.vue index 51840734b..d94087fa3 100644 --- a/ppr-ui/src/views/mhrInformation/MhrInformation.vue +++ b/ppr-ui/src/views/mhrInformation/MhrInformation.vue @@ -910,7 +910,7 @@ export default defineComponent({ break; case isRoleQualifiedSupplierHomeDealer.value: localState.enableRoleBasedTransfer = false - localState.disableRoleBaseLocationChange = await disableDealerManufacturerLocationChange() + localState.disableRoleBaseLocationChange = await disableDealerManufacturerLocationChange(true) break; }