Skip to content

Commit

Permalink
extend transport permits (#2032)
Browse files Browse the repository at this point in the history
  • Loading branch information
cameron-eyds authored Oct 9, 2024
1 parent 1ee37df commit 7e70433
Show file tree
Hide file tree
Showing 20 changed files with 246 additions and 57 deletions.
4 changes: 2 additions & 2 deletions ppr-ui/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion ppr-ui/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "ppr-ui",
"version": "3.2.61",
"version": "3.2.62",
"private": true,
"appName": "Assets UI",
"sbcName": "SBC Common Components",
Expand Down
11 changes: 11 additions & 0 deletions ppr-ui/src/assets/svgs/IconExtend.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions ppr-ui/src/assets/svgs/newPermit.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 2 additions & 1 deletion ppr-ui/src/components/common/QsAccessBtn.vue
Original file line number Diff line number Diff line change
Expand Up @@ -52,10 +52,11 @@ import { useUserAccess } from '@/composables'
export default defineComponent({
name: 'QsAccessBtn',
setup () {
const { isRoleStaffReg } = storeToRefs(useStore())
const { isRoleStaffReg, getUserEmail } = storeToRefs(useStore())
const { hasActiveQsAccess, hasPendingQsAccess, isUserAccessRoute, goToUserAccess } = useUserAccess()
return {
getUserEmail,
goToUserAccess,
isRoleStaffReg,
hasActiveQsAccess,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -83,11 +83,11 @@
<!-- Transport permit details rendered when there is an active permit -->
<!-- add top margin to compensate negative bottom margin of the section tag -->
<TransportPermitDetails
v-if="hasActiveTransportPermit &&
v-if="(hasActiveTransportPermit &&
!isChangeLocationActive &&
!isCorrectionReview &&
!isPrevTransportPermitLocation &&
!isCancelTransportPermitReview"
!isCancelTransportPermitReview) || isExtendChangeLocationActive"
:isCancelledLocation="isCancelledTransportPermitDetails"
:isVoidPermit="isExemptionWithActiveTransportPermit"
:infoText="exemptionWithActivePermitText"
Expand Down Expand Up @@ -513,7 +513,8 @@
</v-row>
<template
v-if="!isMhrManufacturerRegistration && !isTransferReview && !hideLandLease &&
!(isMhrCorrection && hasActiveTransportPermit) && !isCancelChangeLocationActive"
!(isMhrCorrection && hasActiveTransportPermit) && !isCancelChangeLocationActive &&
!isExtendChangeLocationActive"
>
<v-divider class="mx-8 mt-6" />

Expand Down Expand Up @@ -583,7 +584,10 @@
Tax Certificate <br>Expiry Date
</v-col>
<v-col cols="9">
{{ convertDateToLongFormat(homeLocationInfo.taxExpiryDate) }}
{{ isExtendChangeLocationActive
? convertDateToLongFormat(getMhrTransportPermit.newLocation.taxExpiryDate)
: convertDateToLongFormat(homeLocationInfo.taxExpiryDate)
}}
</v-col>
</v-row>
</template>
Expand Down Expand Up @@ -651,6 +655,10 @@ export default defineComponent({
isCancelTransportPermitReview: {
type: Boolean,
default: false
},
isExtendChangeLocationReview: {
type: Boolean,
default: false
}
},
setup (props) {
Expand Down Expand Up @@ -686,14 +694,15 @@ export default defineComponent({
isAmendLocationActive,
isNotManufacturersLot,
isMovingWithinSamePark,
isCancelChangeLocationActive
isCancelChangeLocationActive,
isExtendChangeLocationActive
} = useTransportPermits()
const { correctionState, isMhrCorrection } = useMhrCorrections()
const { showUpdatedBadge } = useUpdatedBadges()
const { isExemptionWithActiveTransportPermit, exemptionLabel } = useExemptions()
const homeLocationInfo: MhrRegistrationHomeLocationIF =
(props.isPrevTransportPermitLocation || props.isCancelTransportPermitReview)
(props.isPrevTransportPermitLocation || props.isCancelTransportPermitReview || props.isExtendChangeLocationReview)
? getMhrTransportPermitPreviousLocation.value
: props.isTransportPermitReview
? getMhrTransportPermit.value.newLocation
Expand All @@ -703,8 +712,8 @@ export default defineComponent({
// transport permit
currentPadNumber: homeLocationInfo.pad,
newTransportPermitPadNumber: '',
showTaxCertificateExpiryDate: homeLocationInfo.taxCertificate
&& isNotManufacturersLot.value && !isMovingWithinSamePark.value,
showTaxCertificateExpiryDate: isNotManufacturersLot.value && !isMovingWithinSamePark.value &&
(homeLocationInfo.taxCertificate || getMhrTransportPermit.value?.newLocation?.taxCertificate),
isNewPadNumberValid: false,
amendedBadgeLocationType: {
baseline: getMhrOriginalTransportPermitHomeLocation.value,
Expand Down Expand Up @@ -830,10 +839,12 @@ export default defineComponent({
isAmendLocationActive,
isChangeLocationActive,
isCancelChangeLocationActive,
isExtendChangeLocationActive,
correctionState,
isMhrCorrection,
isMhrReRegistration,
showUpdatedBadge,
getMhrTransportPermit,
isExemptionWithActiveTransportPermit,
...toRefs(localState)
}
Expand Down
10 changes: 7 additions & 3 deletions ppr-ui/src/components/mhrTransportPermit/LocationChange.vue
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
/>

<FormCard
v-if="!isAmendLocationActive"
v-if="!isAmendLocationActive && !isExtendChangeLocationActive"
label="Location Change Type"
:showErrors="validate && !state.locationChangeFromValid"
:class="{'border-error-left': validate && !state.locationChangeFromValid}"
Expand Down Expand Up @@ -79,10 +79,11 @@
</FormCard>

<div
v-if="state.isTransportPermitType || isRegisteredLocationChange"
v-if="state.isTransportPermitType || isRegisteredLocationChange || isExtendChangeLocationActive"
id="transport-permit-location-type"
>
<section
v-if="!isExtendChangeLocationActive"
id="transport-permit-home-location-type"
class="mt-10"
>
Expand Down Expand Up @@ -111,6 +112,7 @@
</section>

<section
v-if="!isExtendChangeLocationActive"
id="transport-permit-home-civic-address"
class="mt-12"
>
Expand Down Expand Up @@ -153,6 +155,7 @@
</section>

<section
v-if="!isExtendChangeLocationActive"
id="transport-permit-home-land-ownership"
class="mt-12"
>
Expand Down Expand Up @@ -247,7 +250,8 @@ const {
hasAmendmentChanges,
isActiveHomeOutsideBc,
isRegisteredLocationChange,
getLandStatusConfirmation
getLandStatusConfirmation,
isExtendChangeLocationActive
} = useTransportPermits()
const {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@
hideDefaultHeader
isTransportPermitReview
:isCancelTransportPermitReview="isCancelChangeLocationActive"
:isExtendChangeLocationReview="isExtendChangeLocationActive"
/>
</v-card>
</template>
Expand All @@ -59,7 +60,12 @@ import { HomeLocationReview } from '../mhrRegistration/ReviewConfirm';
const { isRoleStaffReg, getMhrTransportPermit } = storeToRefs(useStore())
const { getUiLocationType, isCancelChangeLocationActive, isAmendLocationActive } = useTransportPermits()
const {
getUiLocationType,
isCancelChangeLocationActive,
isAmendLocationActive,
isExtendChangeLocationActive
} = useTransportPermits()
</script>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -69,9 +69,18 @@
>
<v-col cols="3 tp-header">
Date of Expiry
<UpdatedBadge
v-if="isExtendChangeLocationActive"
action="EXTENDED"
:baseline="getMhrInformation.permitDateTime"
:currentState="addDaysToDate(convertDate(new Date(), false, false), 30)"
/>
</v-col>
<v-col cols="9 tp-label">
{{ shortPacificDate(getMhrInformation.permitExpiryDateTime) }}
{{ isExtendChangeLocationActive
? shortPacificDate(addDaysToDate(convertDate(new Date(), false, false), 30))
: shortPacificDate(getMhrInformation.permitExpiryDateTime)
}}
</v-col>
</v-row>
<v-divider class="transport-permit-divider my-6" />
Expand All @@ -81,8 +90,10 @@
<script setup lang="ts">
import { useStore } from '@/store/store'
import { storeToRefs } from 'pinia'
import { pacificDate, shortPacificDate } from '@/utils/date-helper'
import { InfoChip } from '@/components/common'
import { convertDate } from '@/utils'
import { addDaysToDate, pacificDate, shortPacificDate } from '@/utils/date-helper'
import { InfoChip, UpdatedBadge } from '@/components/common'
import { useTransportPermits } from '@/composables'
const { getMhrInformation } = storeToRefs(useStore())
// eslint-disable-next-line @typescript-eslint/no-unused-vars
Expand All @@ -96,6 +107,8 @@ const props = withDefaults(defineProps<{
infoText: ''
})
const { isExtendChangeLocationActive } = useTransportPermits()
</script>

<style lang="scss" scoped>
Expand Down
12 changes: 9 additions & 3 deletions ppr-ui/src/components/tombstone/TombstoneDynamic.vue
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@
variant="plain"
role="link"
:ripple="false"
:disabled="actionInProgress || isCancelChangeLocationActive"
:disabled="actionInProgress || isCancelChangeLocationActive || isExtendChangeLocationActive"
@click="initMhrCorrection(MhrPublicAmendment)"
>
<v-icon
Expand All @@ -145,7 +145,7 @@
v-bind="props"
role="link"
:ripple="false"
:disabled="actionInProgress || isCancelChangeLocationActive"
:disabled="actionInProgress || isCancelChangeLocationActive || isExtendChangeLocationActive"
>
<v-icon
color="primary"
Expand Down Expand Up @@ -234,7 +234,12 @@ export default defineComponent({
const { isFrozenMhr, isCancelledMhr } = useMhrInformation()
const { initMhrCorrection, isMhrChangesEnabled, isMhrCorrection } = useMhrCorrections()
const { isAmendLocationActive, isCancelChangeLocationActive, hasMhrStatusChangedToActive } = useTransportPermits()
const {
isAmendLocationActive,
isCancelChangeLocationActive,
hasMhrStatusChangedToActive,
isExtendChangeLocationActive
} = useTransportPermits()
const localState = reactive({
creationDate: computed((): string => {
Expand Down Expand Up @@ -299,6 +304,7 @@ export default defineComponent({
MhrPublicAmendment,
getMhrOriginalTransportPermitRegStatus,
isCancelChangeLocationActive,
isExtendChangeLocationActive,
isAmendLocationActive,
getMhrInformation,
isMhrReRegistration,
Expand Down
9 changes: 9 additions & 0 deletions ppr-ui/src/composables/mhrInformation/useMhrInfoValidation.ts
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,14 @@ export const useMhrInfoValidation = (validationState: mhrInfoValidationStateIF)
)
})

const isValidExtendTransportPermit = computed((): boolean => {
return (
(isRoleStaffReg.value ? validationState.isDocumentIdValid : true) &&
((isNotManufacturersLot.value && !isAmendLocationActive.value && !isActiveHomeOutsideBc.value)
? validationState.isTaxCertificateValid : true)
)
})

/**
* Scroll to first designated error on Information or Review page
* @param scrollToTop Force scroll to top of MHR
Expand Down Expand Up @@ -170,6 +178,7 @@ export const useMhrInfoValidation = (validationState: mhrInfoValidationStateIF)
isValidTransferReview,
isValidTransportPermit,
isValidTransportPermitReview,
isValidExtendTransportPermit,
scrollToFirstError,
resetValidationState
}
Expand Down
16 changes: 16 additions & 0 deletions ppr-ui/src/composables/mhrInformation/useTransportPermits.ts
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,8 @@ import { useMhrInformation } from '@/composables'
const isChangeLocationActive: Ref<boolean> = ref(false)
const isAmendLocationActive: Ref<boolean> = ref(false)
const isCancelChangeLocationActive: Ref<boolean> = ref(false)
const isExtendChangeLocationActive: Ref<boolean> = ref(false)


export const useTransportPermits = () => {
const {
Expand Down Expand Up @@ -120,6 +122,11 @@ export const useTransportPermits = () => {
isCancelChangeLocationActive.value = val
}

/** Toggle Extend location change flow **/
const setExtendLocationChange = (val: boolean) => {
isExtendChangeLocationActive.value = val
}

const setLocationChangeType = (locationChangeType: LocationChangeTypes) => {
setMhrTransportPermitLocationChangeType(locationChangeType)
}
Expand Down Expand Up @@ -265,6 +272,13 @@ export const useTransportPermits = () => {
// clean up UI only props
delete payloadData.registrationStatus

// Modify payload for Extend Transport Permit
if (payloadData.locationChangeType === LocationChangeTypes.EXTEND_PERMIT) {
payloadData.extension = true
payloadData.newLocation = { ...payloadData.previousLocation, ...payloadData.newLocation }
delete payloadData.previousLocation
}

return payloadData
}

Expand Down Expand Up @@ -387,6 +401,7 @@ export const useTransportPermits = () => {
isChangeLocationActive,
isAmendLocationActive,
isCancelChangeLocationActive,
isExtendChangeLocationActive,
isChangeLocationEnabled,
isAmendChangeLocationEnabled,
isCancelChangeLocationEnabled,
Expand All @@ -404,6 +419,7 @@ export const useTransportPermits = () => {
setLocationChangeType,
setAmendLocationChange,
setCancelLocationChange,
setExtendLocationChange,
getUiLocationType,
getUiFeeSummaryLocationType,
populateLocationInfoForSamePark,
Expand Down
1 change: 1 addition & 0 deletions ppr-ui/src/enums/registrationTypes.ts
Original file line number Diff line number Diff line change
Expand Up @@ -266,6 +266,7 @@ export enum APIMhrTypes {
RESIDENTIAL_EXEMPTION = 'EXEMPTION_RES',
MANUFACTURED_HOME_REGISTRATION = 'MHREG',
TRANSPORT_PERMIT = 'PERMIT',
TRANSPORT_PERMIT_EXTEND = 'PERMIT_EXTEND',
REGISTRY_STAFF_ADMIN = 'REG_STAFF_ADMIN'
}

Expand Down
5 changes: 4 additions & 1 deletion ppr-ui/src/enums/transportPermits.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,8 @@ export enum LocationChangeTypes {
TRANSPORT_PERMIT = 'TRANSPORT_PERMIT',
TRANSPORT_PERMIT_SAME_PARK = 'TRANSPORT_PERMIT_SAME_PARK',
TRANSPORT_PERMIT_CANCEL = 'CANCEL_PERMIT',
REGISTERED_LOCATION = 'REGISTERED_LOCATION'
REGISTERED_LOCATION = 'REGISTERED_LOCATION',
EXTEND_PERMIT = 'EXTEND_PERMIT',
PERMIT_EXTEND_API = 'PERMIT_EXTEND',
CREATE_NEW_PERMIT = 'CREATE_NEW_PERMIT'
}
Original file line number Diff line number Diff line change
Expand Up @@ -20,5 +20,10 @@ export const locationChangeTypes = [
type: LocationChangeTypes.TRANSPORT_PERMIT_CANCEL,
title: 'Cancel Transport Permit',
feeSummaryTitle: 'Cancel Transport Permit'
},
{
type: LocationChangeTypes.EXTEND_PERMIT,
title: 'Transport Permit - Extend',
feeSummaryTitle: 'Extend Transport Permit'
}
]
Loading

0 comments on commit 7e70433

Please sign in to comment.