Skip to content

Commit 930083d

Browse files
authored
Merge pull request #351 from icefoganalytics/test
Supporting SFA Other from Portal
2 parents 7fd2474 + 09ed7b1 commit 930083d

File tree

4 files changed

+21
-5
lines changed

4 files changed

+21
-5
lines changed

src/api/models/application.ts

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import { DB_CONFIG } from "@/config";
12
import AgencyAssistance from "@/models/agency-assistance";
23
import Attendance from "@/models/attendance";
34
import Expense from "@/models/expense";
@@ -12,8 +13,11 @@ import PrestudyEmploymentStatus from "@/models/prestudy-employment-status";
1213
import Program from "@/models/program";
1314
import Student from "@/models/student";
1415
import StudyArea from "@/models/study-area";
16+
import knex from "knex";
1517
import { isEmpty, isInteger, isNaN, isNull, isNumber, isUndefined } from "lodash";
1618

19+
const db = knex(DB_CONFIG);
20+
1721
// Application with standard JS naming conventions
1822
// trailing underscore to avoid conflicting with legacy Application format
1923
export default interface Application_ {
@@ -547,7 +551,7 @@ export function DependantsFromDraft(draft: any): any[] {
547551
return dependants;
548552
}
549553

550-
export function FundingFromDraft(draft: any): any[] {
554+
export async function FundingFromDraft(draft: any): Promise<any[]> {
551555
let funding = new Array<any>();
552556
let hasDependents =
553557
draft.student_dependants && draft.student_dependants.has_dependants && draft.student_dependants.dependants;
@@ -569,7 +573,18 @@ export function FundingFromDraft(draft: any): any[] {
569573
request_type_id = 2;
570574
break;
571575
case "Student Training Allowance":
572-
request_type_id = 1;
576+
request_type_id = 46;
577+
578+
const institution = await db("sfa.institution")
579+
.innerJoin("sfa.institution_campus", "institution.id", "institution_campus.institution_id")
580+
.where("institution_campus.id", draft.program_details.institution_id)
581+
.select("institution.*")
582+
.first();
583+
584+
if (institution && institution.name.startsWith("Yukon University")) {
585+
request_type_id = 1;
586+
}
587+
573588
break;
574589
case "Yukon Excellence Awards":
575590
request_type_id = 3;

src/api/services/portal/application-service.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,7 @@ export class PortalApplicationService {
196196

197197
if (newApplication) {
198198
errorMessage = "Error creating funding requests";
199-
let fundings = FundingFromDraft(combinedApp);
199+
let fundings = await FundingFromDraft(combinedApp);
200200
if (fundings && fundings.length > 0) {
201201
for (let funding of fundings) {
202202
funding.application_id = newApplication[0].id;

src/api/services/shared/document-service.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,8 @@ export class DocumentService {
9999
async getDocumentsForDraft(application_draft_id: number): Promise<FileReferenceBase[]> {
100100
return await db<FileReferenceBase>("sfa.file_reference")
101101
.innerJoin("sfa.document_status", "file_reference.status", "document_status.id")
102-
.select(["file_reference.*", "document_status.description as status_description"])
102+
.innerJoin("sfa.requirement_type", "file_reference.requirement_type_id", "requirement_type.id")
103+
.select(["file_reference.*", "document_status.description as status_description", "requirement_type.description as requirementTypeDescription"])
103104
.where({ application_draft_id, visible_in_portal: true });
104105
}
105106

src/api/services/shared/documentation-service.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ export class DocumentationService {
138138
let existingDocs = await documentService.getDocumentsForDraft(draftId);
139139
existingDocs = existingDocs.filter((d) => d.status_description != "Replaced");
140140

141-
let funding = FundingFromDraft(app);
141+
let funding = await FundingFromDraft(app);
142142
let requestTypes = uniq(funding.map((f) => f.request_type_id));
143143

144144
let reqDocs = await this.getDocumentRequirementsFor(requestTypes);

0 commit comments

Comments
 (0)