Skip to content

Commit 4309cb7

Browse files
committed
feat: don't submit apps while intakes are closed
1 parent 10c783c commit 4309cb7

File tree

3 files changed

+14
-2
lines changed

3 files changed

+14
-2
lines changed

frontend/src/stores/applications.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ import DocumentService from '@/services/documentService'
66
import FacilityService from '@/services/facilityService'
77
import LicenceService from '@/services/licenceService'
88
import { useAppStore } from '@/stores/app'
9+
import { useAuthStore } from '@/stores/auth'
10+
911
import { APPLICATION_RENEWAL_TYPES, APPLICATION_STATUS_CODES, DOCUMENT_TYPES, FACILITY_TYPES, OFM_PROGRAM_CODES, YES_NO_CHOICE_CRM_MAPPING, YES_NO_RADIO_GROUP_MAPPING } from '@/utils/constants'
1012

1113
export const useApplicationsStore = defineStore('applications', {
@@ -39,6 +41,7 @@ export const useApplicationsStore = defineStore('applications', {
3941

4042
async getApplication(applicationId) {
4143
try {
44+
const authStore = useAuthStore();
4245
this.currentApplication = await ApplicationService.getApplication(applicationId)
4346
if (!this.currentApplication) return
4447
const [uploadedDocuments, licences, facility] = await Promise.all([
@@ -49,6 +52,7 @@ export const useApplicationsStore = defineStore('applications', {
4952
this.currentApplication.uploadedDocuments = uploadedDocuments
5053
this.currentApplication.licences = licences
5154
this.currentApplication.facility = facility
55+
this.currentApplication.facilityCanAddApplication = authStore.userInfo.facilities.find((f) => f.facilityId === facility.facilityId)?.intakeWindowCheckForAddApplication || false
5256
this.checkApplicationComplete()
5357
} catch (error) {
5458
console.log(`Failed to get the application by application id - ${error}`)

frontend/src/views/applications/ApplicationView.vue

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,9 @@ export default {
8383
return !!this.$route.meta.isRenewal
8484
},
8585
readonly() {
86+
if (!this.currentApplication.facilityCanAddApplication) {
87+
return true
88+
}
8689
if (this.isSelectFacilityPage) {
8790
return this.loading || this.processing || !this.hasPermission(this.PERMISSIONS.APPLY_FOR_FUNDING)
8891
}

frontend/src/views/applications/ApplicationsHistoryView.vue

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,8 @@
103103
</template>
104104

105105
<template #item.actions="{ item }">
106-
<router-link v-if="item.applicationType !== APPLICATION_TYPES.IRREGULAR_EXPENSE" :to="getActionsRoute(item)">
106+
<p v-if="!facilityMayOpenApplication(item.facilityId)">Application Expired</p>
107+
<router-link v-else-if="item.applicationType !== APPLICATION_TYPES.IRREGULAR_EXPENSE" :to="getActionsRoute(item)">
107108
{{ getApplicationAction(item) }}
108109
</router-link>
109110
<a v-else href="#table" @click="getPDF(item)">View Application</a>
@@ -415,11 +416,15 @@ export default {
415416
this.applications.push(...this.redirectedApplications)
416417
},
417418
419+
facilityMayOpenApplication(facilityId) {
420+
return this.userInfo.facilities.find((f) => f.facilityId === facilityId)?.intakeWindowCheckForAddApplication || false
421+
},
422+
418423
/**
419424
* Create an array of keys to be used as the model for an application item (union of regular and supplementary applications)
420425
*/
421426
createApplicationItemModel() {
422-
return [...this.headers.map((header) => header.key), 'applicationId', 'supplementaryApplicationId']
427+
return [...this.headers.map((header) => header.key), 'applicationId', 'supplementaryApplicationId', 'facilityId']
423428
},
424429
425430
/**

0 commit comments

Comments
 (0)