From 7f9e52edd83a992f2e390ca54f23e678e0fdbbb8 Mon Sep 17 00:00:00 2001 From: Shaun Lum Date: Wed, 12 Feb 2025 11:44:47 -0800 Subject: [PATCH 01/34] fixed snackbar for year end distribution --- frontend/src/components/Batch/Forms/DistrunFormYearEndForm.vue | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/frontend/src/components/Batch/Forms/DistrunFormYearEndForm.vue b/frontend/src/components/Batch/Forms/DistrunFormYearEndForm.vue index ca7119d0..a0211e45 100644 --- a/frontend/src/components/Batch/Forms/DistrunFormYearEndForm.vue +++ b/frontend/src/components/Batch/Forms/DistrunFormYearEndForm.vue @@ -15,7 +15,7 @@
-End Credentials and Transcript DistrYearibution RunYear-End Credentials and Transcript Distribution Run ({ + snackbarStore: useSnackbarStore(), step: 0, batchLoading: false, dialog: false, From 0f18a4b7dc3aa195892bc57d99a784c6be1bc039 Mon Sep 17 00:00:00 2001 From: Tang Date: Fri, 14 Feb 2025 13:43:47 -0800 Subject: [PATCH 02/34] fixes for 3302 --- frontend/src/components/Batch/Forms/DistrunFormYearEndForm.vue | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/frontend/src/components/Batch/Forms/DistrunFormYearEndForm.vue b/frontend/src/components/Batch/Forms/DistrunFormYearEndForm.vue index ca7119d0..4c186d2d 100644 --- a/frontend/src/components/Batch/Forms/DistrunFormYearEndForm.vue +++ b/frontend/src/components/Batch/Forms/DistrunFormYearEndForm.vue @@ -15,7 +15,7 @@
-End Credentials and Transcript DistrYearibution RunYear-End Credentials and Transcript Distribution Run Date: Fri, 14 Feb 2025 14:57:08 -0800 Subject: [PATCH 03/34] Modified label for Distrcit input --- .../src/components/Batch/Forms/FormInputs/DistrictInput.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/components/Batch/Forms/FormInputs/DistrictInput.vue b/frontend/src/components/Batch/Forms/FormInputs/DistrictInput.vue index a3012276..44e14d97 100644 --- a/frontend/src/components/Batch/Forms/FormInputs/DistrictInput.vue +++ b/frontend/src/components/Batch/Forms/FormInputs/DistrictInput.vue @@ -43,7 +43,7 @@ v-model="district" v-if="!selectAllDistricts" :items="getDistrictList" - label="Category" + label="District" variant="outlined" :item-title="districtTitle" item-value="districtNumber" From 899b4826d2661fbf01c5aad3fce764789743b0ce Mon Sep 17 00:00:00 2001 From: KentoHyono Date: Thu, 20 Feb 2025 09:17:57 -0800 Subject: [PATCH 04/34] Added sorting schools list with open status. --- .../SchoolReports/SchoolReports.vue | 2 +- frontend/src/sharedMethods.js | 43 +++++++++++++++++-- frontend/src/store/modules/app.js | 5 +-- 3 files changed, 41 insertions(+), 9 deletions(-) diff --git a/frontend/src/components/SchoolReports/SchoolReports.vue b/frontend/src/components/SchoolReports/SchoolReports.vue index 4081be77..406e19a9 100644 --- a/frontend/src/components/SchoolReports/SchoolReports.vue +++ b/frontend/src/components/SchoolReports/SchoolReports.vue @@ -186,7 +186,7 @@ export default { }, schoolTitle(item) { if (item) { - return `${item.mincode} - ${item.displayName}`; + return `${item.mincode} - ${item.displayName} (${sharedMethods.getSchoolOpenStatus(item)})`; } else { return null; } diff --git a/frontend/src/sharedMethods.js b/frontend/src/sharedMethods.js index a235ba6a..aff8a388 100644 --- a/frontend/src/sharedMethods.js +++ b/frontend/src/sharedMethods.js @@ -151,17 +151,52 @@ export default { return aNumber - bNumber; // Numeric sorting }); }, - sortSchoolListByTranscriptsAndMincode(schoolsList) { - if (!schoolsList) return []; + getSchoolOpenStatus(school) { + if (!school) return 'Closed' + + const openedDate = new Date(school?.openedDate); + const closedDate = school?.closedDate + ? new Date(school?.closedDate) + : null; + const currentDate = new Date(); + if (openedDate <= currentDate && !closedDate) + return 'Open' + if (openedDate <= currentDate && closedDate && currentDate < closedDate) + return 'Closing' + if (currentDate < openedDate) + return 'Opening' + if (closedDate && closedDate < currentDate) + return 'Closed' + + else return 'Closed' + }, + sortSchoolListByCertTranscriptsAndOpenStatusAndMincode(schoolsList) { + if (!schoolsList) return []; return [...schoolsList].sort((a, b) => { - // Sort by canIssueCertificates first (descending - true values first) + // Sort by canIssueTranscript first (descending - true values first) if (a.canIssueTranscripts && !b.canIssueTranscripts) { return -1; } else if (!a.canIssueTranscripts && b.canIssueTranscripts) { return 1; } - // If canIssueTranscripts is the same, sort by mincode (ascending) + + // Sort by canIssueCertificates first (descending - true values first) + if (a.canIssueCertificates && !b.canIssueCertificates) { + return -1; + } else if (!a.canIssueCertificates && b.canIssueCertificates) { + return 1; + } + + // Sort by school status (descending: open - closing - opening - closed) + const openStatusOrder = {'Open': 0, 'Closing': 1, 'Opening': 2, 'Closed': 3} + if (openStatusOrder[this.getSchoolOpenStatus(a)] < openStatusOrder[this.getSchoolOpenStatus(b)]) { + return -1; + } else if (openStatusOrder[this.getSchoolOpenStatus(a)] > openStatusOrder[this.getSchoolOpenStatus(b)]) { + return 1; + } + + // If they all are the same, sort by mincode (ascending) return a.mincode.localeCompare(b.mincode); }); }, diff --git a/frontend/src/store/modules/app.js b/frontend/src/store/modules/app.js index ace100d8..57b20826 100644 --- a/frontend/src/store/modules/app.js +++ b/frontend/src/store/modules/app.js @@ -150,10 +150,7 @@ export const useAppStore = defineStore("app", { InstituteService.getSchoolsList().then((response) => { try { this.schoolsList = response.data; - this.schoolsList = - sharedMethods.sortSchoolListByTranscriptsAndMincode( - this.schoolsList - ); + this.schoolsList = sharedMethods.sortSchoolListByCertTranscriptsAndOpenStatusAndMincode(this.schoolsList); } catch (error) { console.error(error); } From 41218a876b994893ed701e8ea5db6109a93766ed Mon Sep 17 00:00:00 2001 From: KentoHyono Date: Thu, 20 Feb 2025 09:19:18 -0800 Subject: [PATCH 05/34] Removed debugging for checking if sort was working --- frontend/src/components/SchoolReports/SchoolReports.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/components/SchoolReports/SchoolReports.vue b/frontend/src/components/SchoolReports/SchoolReports.vue index 406e19a9..4081be77 100644 --- a/frontend/src/components/SchoolReports/SchoolReports.vue +++ b/frontend/src/components/SchoolReports/SchoolReports.vue @@ -186,7 +186,7 @@ export default { }, schoolTitle(item) { if (item) { - return `${item.mincode} - ${item.displayName} (${sharedMethods.getSchoolOpenStatus(item)})`; + return `${item.mincode} - ${item.displayName}`; } else { return null; } From 6aeaf18040bf69e8acfc0a00195c63b897eaa1db Mon Sep 17 00:00:00 2001 From: KentoHyono Date: Thu, 20 Feb 2025 09:41:14 -0800 Subject: [PATCH 06/34] Made sorting function name simple --- frontend/src/sharedMethods.js | 2 +- frontend/src/store/modules/app.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/src/sharedMethods.js b/frontend/src/sharedMethods.js index aff8a388..50d19446 100644 --- a/frontend/src/sharedMethods.js +++ b/frontend/src/sharedMethods.js @@ -171,7 +171,7 @@ export default { else return 'Closed' }, - sortSchoolListByCertTranscriptsAndOpenStatusAndMincode(schoolsList) { + sortSchoolList(schoolsList) { if (!schoolsList) return []; return [...schoolsList].sort((a, b) => { // Sort by canIssueTranscript first (descending - true values first) diff --git a/frontend/src/store/modules/app.js b/frontend/src/store/modules/app.js index 57b20826..36bf487a 100644 --- a/frontend/src/store/modules/app.js +++ b/frontend/src/store/modules/app.js @@ -150,7 +150,7 @@ export const useAppStore = defineStore("app", { InstituteService.getSchoolsList().then((response) => { try { this.schoolsList = response.data; - this.schoolsList = sharedMethods.sortSchoolListByCertTranscriptsAndOpenStatusAndMincode(this.schoolsList); + this.schoolsList = sharedMethods.sortSchoolList(this.schoolsList); } catch (error) { console.error(error); } From c830f0b8a09049495f0063c59ff27c82d4e14da2 Mon Sep 17 00:00:00 2001 From: Tang Date: Thu, 20 Feb 2025 13:06:41 -0800 Subject: [PATCH 07/34] took out school at grad edit --- .../GraduationStatus/GRADStatusForm.vue | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/frontend/src/components/StudentProfile/GraduationStatus/GRADStatusForm.vue b/frontend/src/components/StudentProfile/GraduationStatus/GRADStatusForm.vue index a3a108db..8dda58a0 100644 --- a/frontend/src/components/StudentProfile/GraduationStatus/GRADStatusForm.vue +++ b/frontend/src/components/StudentProfile/GraduationStatus/GRADStatusForm.vue @@ -441,7 +441,7 @@ .ifSchoolAtGradIdProgramIs1950AndOffshore.$message }}
- {{ label.label }} - + --> +

+ {{ + getSchoolById(editedGradStatus.schoolAtGradId).mincode + }} + - + {{ + getSchoolById(editedGradStatus.schoolAtGradId).displayName + }} +

From 98908dce569eb4d0c56ef274b7f7c300fcea9d5a Mon Sep 17 00:00:00 2001 From: Tang Date: Thu, 20 Feb 2025 13:26:23 -0800 Subject: [PATCH 08/34] did null check --- .../StudentProfile/GraduationStatus/GRADStatusForm.vue | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/frontend/src/components/StudentProfile/GraduationStatus/GRADStatusForm.vue b/frontend/src/components/StudentProfile/GraduationStatus/GRADStatusForm.vue index 8dda58a0..d26feb7e 100644 --- a/frontend/src/components/StudentProfile/GraduationStatus/GRADStatusForm.vue +++ b/frontend/src/components/StudentProfile/GraduationStatus/GRADStatusForm.vue @@ -457,13 +457,14 @@ {{ label.label }} --> -

+

{{ - getSchoolById(editedGradStatus.schoolAtGradId).mincode + getSchoolById(editedGradStatus?.schoolAtGradId)?.mincode }} - {{ - getSchoolById(editedGradStatus.schoolAtGradId).displayName + getSchoolById(editedGradStatus?.schoolAtGradId) + ?.displayName }}

From e9c0444898fe7ab3b63a33e1221cacf7e3b7bc64 Mon Sep 17 00:00:00 2001 From: KentoHyono Date: Mon, 24 Feb 2025 14:10:13 -0800 Subject: [PATCH 09/34] Fixed text wrapper on school at student grad profile --- .../src/components/StudentProfile/StudentGraduationStatus.vue | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/src/components/StudentProfile/StudentGraduationStatus.vue b/frontend/src/components/StudentProfile/StudentGraduationStatus.vue index 3f644a1c..49fe30a3 100644 --- a/frontend/src/components/StudentProfile/StudentGraduationStatus.vue +++ b/frontend/src/components/StudentProfile/StudentGraduationStatus.vue @@ -19,10 +19,10 @@
-
+
-
+
From bed089c295048d4bcbcd081d75cb22b645ec4b4d Mon Sep 17 00:00:00 2001 From: KentoHyono Date: Mon, 24 Feb 2025 14:38:43 -0800 Subject: [PATCH 10/34] Changed approach based on styling feedback --- .../components/Common/SchoolDetailsDialog.vue | 16 ++++++++++++---- .../StudentProfile/StudentGraduationStatus.vue | 4 ++-- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/frontend/src/components/Common/SchoolDetailsDialog.vue b/frontend/src/components/Common/SchoolDetailsDialog.vue index abe8f17a..061e670e 100644 --- a/frontend/src/components/Common/SchoolDetailsDialog.vue +++ b/frontend/src/components/Common/SchoolDetailsDialog.vue @@ -1,10 +1,11 @@ - + \ No newline at end of file + diff --git a/frontend/src/components/StudentProfile/GraduationStatus/GRADStatusForm.vue b/frontend/src/components/StudentProfile/GraduationStatus/GRADStatusForm.vue index d26feb7e..698a282a 100644 --- a/frontend/src/components/StudentProfile/GraduationStatus/GRADStatusForm.vue +++ b/frontend/src/components/StudentProfile/GraduationStatus/GRADStatusForm.vue @@ -374,6 +374,32 @@ + + + + @@ -648,11 +674,16 @@ import { parseStudentStatus, } from "../../../utils/common.js"; +import OpenStatusBadge from "@/components/Common/OpenStatusBadge.vue"; + import sharedMethods from "../../../sharedMethods"; import StudentService from "@/services/StudentService.js"; import InstituteService from "@/services/InstituteService.js"; export default { name: "GRADStatusForm", + components: { + OpenStatusBadge: OpenStatusBadge, + }, created() { this.containsAnyLetters = containsAnyLetters; this.parseStudentStatus = parseStudentStatus; diff --git a/frontend/src/sharedMethods.js b/frontend/src/sharedMethods.js index 50d19446..2ff7ae17 100644 --- a/frontend/src/sharedMethods.js +++ b/frontend/src/sharedMethods.js @@ -134,42 +134,40 @@ export default { }, sortDistrictListByActiveAndDistrictNumber(districtsList) { if (!districtsList) return []; - + return districtsList.sort((a, b) => { // First, prioritize districts with districtStatusCode "ACTIVE" - if (a.districtStatusCode === "ACTIVE" && b.districtStatusCode !== "ACTIVE") { + if ( + a.districtStatusCode === "ACTIVE" && + b.districtStatusCode !== "ACTIVE" + ) { return -1; // "ACTIVE" comes first } - if (a.districtStatusCode !== "ACTIVE" && b.districtStatusCode === "ACTIVE") { + if ( + a.districtStatusCode !== "ACTIVE" && + b.districtStatusCode === "ACTIVE" + ) { return 1; // "ACTIVE" comes first } - + // Second, sort by districtNumber (as numeric, handling strings like "103", "005", etc.) const aNumber = parseInt(a.districtNumber, 10); const bNumber = parseInt(b.districtNumber, 10); - + return aNumber - bNumber; // Numeric sorting }); }, - getSchoolOpenStatus(school) { - if (!school) return 'Closed' - - const openedDate = new Date(school?.openedDate); - const closedDate = school?.closedDate - ? new Date(school?.closedDate) - : null; + getSchoolOpenStatus(openedDateString, closedDateString) { + const openedDate = new Date(openedDateString); + const closedDate = !!closedDateString ? new Date(closedDateString) : null; const currentDate = new Date(); - if (openedDate <= currentDate && !closedDate) - return 'Open' + if (openedDate <= currentDate && !closedDate) return "Open"; if (openedDate <= currentDate && closedDate && currentDate < closedDate) - return 'Closing' - if (currentDate < openedDate) - return 'Opening' - if (closedDate && closedDate < currentDate) - return 'Closed' - - else return 'Closed' + return "Closing"; + if (currentDate < openedDate) return "Opening"; + if (closedDate && closedDate < currentDate) return "Closed"; + else return "Closed"; }, sortSchoolList(schoolsList) { if (!schoolsList) return []; @@ -189,10 +187,20 @@ export default { } // Sort by school status (descending: open - closing - opening - closed) - const openStatusOrder = {'Open': 0, 'Closing': 1, 'Opening': 2, 'Closed': 3} - if (openStatusOrder[this.getSchoolOpenStatus(a)] < openStatusOrder[this.getSchoolOpenStatus(b)]) { + const openStatusOrder = { Open: 0, Closing: 1, Opening: 2, Closed: 3 }; + if ( + openStatusOrder[ + this.getSchoolOpenStatus(a?.openedDate, a?.closedDate) + ] < + openStatusOrder[this.getSchoolOpenStatus(b?.openedDate, b?.closedDate)] + ) { return -1; - } else if (openStatusOrder[this.getSchoolOpenStatus(a)] > openStatusOrder[this.getSchoolOpenStatus(b)]) { + } else if ( + openStatusOrder[ + this.getSchoolOpenStatus(a?.openedDate, a?.closedDate) + ] > + openStatusOrder[this.getSchoolOpenStatus(b?.openedDate, b?.closedDate)] + ) { return 1; } From dd0bd5bf8320718292c1fd307006b3922906aad9 Mon Sep 17 00:00:00 2001 From: suzalflueck Date: Mon, 24 Feb 2025 15:51:10 -0800 Subject: [PATCH 13/34] update getSchoolOpenStatus() --- frontend/src/sharedMethods.js | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/frontend/src/sharedMethods.js b/frontend/src/sharedMethods.js index 2ff7ae17..123dc2e5 100644 --- a/frontend/src/sharedMethods.js +++ b/frontend/src/sharedMethods.js @@ -162,12 +162,21 @@ export default { const closedDate = !!closedDateString ? new Date(closedDateString) : null; const currentDate = new Date(); - if (openedDate <= currentDate && !closedDate) return "Open"; - if (openedDate <= currentDate && closedDate && currentDate < closedDate) + if (openedDate <= currentDate && !closedDate) { + return "Open"; + } else if ( + openedDate <= currentDate && + closedDate && + currentDate < closedDate + ) { return "Closing"; - if (currentDate < openedDate) return "Opening"; - if (closedDate && closedDate < currentDate) return "Closed"; - else return "Closed"; + } else if (currentDate < openedDate) { + return "Opening"; + } else if (closedDate && closedDate < currentDate) { + return "Closed"; + } else { + return "Invalid"; //return Invalid in case of bad data to sort at bottom of list + } }, sortSchoolList(schoolsList) { if (!schoolsList) return []; @@ -187,7 +196,13 @@ export default { } // Sort by school status (descending: open - closing - opening - closed) - const openStatusOrder = { Open: 0, Closing: 1, Opening: 2, Closed: 3 }; + const openStatusOrder = { + Open: 0, + Closing: 1, + Opening: 2, + Closed: 3, + Invalid: 4, + }; if ( openStatusOrder[ this.getSchoolOpenStatus(a?.openedDate, a?.closedDate) From 5a52382cd9cb3f78a6377b3bff6a492cccc7c2e6 Mon Sep 17 00:00:00 2001 From: suzalflueck Date: Mon, 24 Feb 2025 16:05:59 -0800 Subject: [PATCH 14/34] forgot the ing on warning --- frontend/src/components/Common/OpenStatusBadge.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/components/Common/OpenStatusBadge.vue b/frontend/src/components/Common/OpenStatusBadge.vue index e78f0cc8..3b5ec919 100644 --- a/frontend/src/components/Common/OpenStatusBadge.vue +++ b/frontend/src/components/Common/OpenStatusBadge.vue @@ -22,7 +22,7 @@ > Closing Date: Tue, 25 Feb 2025 14:34:25 -0800 Subject: [PATCH 15/34] Test commit (#766) --- backend/src/app.js | 1 + 1 file changed, 1 insertion(+) diff --git a/backend/src/app.js b/backend/src/app.js index b1eea416..ae24425a 100644 --- a/backend/src/app.js +++ b/backend/src/app.js @@ -10,6 +10,7 @@ const passport = require("passport"); const helmet = require("helmet"); const cors = require("cors"); //const utils = require("./components/utils"); +// test comment const auth = require("./components/auth"); const bodyParser = require("body-parser"); const connectRedis = require("connect-redis"); From edb3bcbcf09fdabb52cf7f42c037c008dcbfa8ae Mon Sep 17 00:00:00 2001 From: Chris Ditcher Date: Tue, 25 Feb 2025 14:40:11 -0800 Subject: [PATCH 16/34] chris-test (#767) * Test commit * Removed comment From f0b2342ea83f5a3492e6960b156d2196282243f8 Mon Sep 17 00:00:00 2001 From: Chris Ditcher Date: Tue, 25 Feb 2025 14:46:05 -0800 Subject: [PATCH 17/34] Test (#769) --- backend/src/app.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/src/app.js b/backend/src/app.js index ae24425a..5a950427 100644 --- a/backend/src/app.js +++ b/backend/src/app.js @@ -10,7 +10,7 @@ const passport = require("passport"); const helmet = require("helmet"); const cors = require("cors"); //const utils = require("./components/utils"); -// test comment +// test comment change const auth = require("./components/auth"); const bodyParser = require("body-parser"); const connectRedis = require("connect-redis"); From ce7c4709b2c73fe9ac77ba67e9da5bd9df240e08 Mon Sep 17 00:00:00 2001 From: Chris Ditcher Date: Tue, 25 Feb 2025 14:50:41 -0800 Subject: [PATCH 18/34] chris (#770) * Test * Test change --- backend/src/app.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/src/app.js b/backend/src/app.js index 5a950427..a53ae94b 100644 --- a/backend/src/app.js +++ b/backend/src/app.js @@ -10,7 +10,7 @@ const passport = require("passport"); const helmet = require("helmet"); const cors = require("cors"); //const utils = require("./components/utils"); -// test comment change +// test comment change removed const auth = require("./components/auth"); const bodyParser = require("body-parser"); const connectRedis = require("connect-redis"); From 8740e8e2a564acbba352a43fadbb215f1b7b9f92 Mon Sep 17 00:00:00 2001 From: Chris Ditcher Date: Tue, 25 Feb 2025 14:56:20 -0800 Subject: [PATCH 19/34] chris (#771) * Test * Test change * Removed comment --- backend/src/app.js | 1 - 1 file changed, 1 deletion(-) diff --git a/backend/src/app.js b/backend/src/app.js index a53ae94b..b1eea416 100644 --- a/backend/src/app.js +++ b/backend/src/app.js @@ -10,7 +10,6 @@ const passport = require("passport"); const helmet = require("helmet"); const cors = require("cors"); //const utils = require("./components/utils"); -// test comment change removed const auth = require("./components/auth"); const bodyParser = require("body-parser"); const connectRedis = require("connect-redis"); From 3ec3d74bc91aa7953b2b7e4937f13b35418a2cc7 Mon Sep 17 00:00:00 2001 From: Chris Ditcher Date: Tue, 25 Feb 2025 15:08:44 -0800 Subject: [PATCH 20/34] chris (#772) * Test * Test change * Removed comment * Test comment --- backend/src/app.js | 1 + 1 file changed, 1 insertion(+) diff --git a/backend/src/app.js b/backend/src/app.js index b1eea416..594e10c3 100644 --- a/backend/src/app.js +++ b/backend/src/app.js @@ -10,6 +10,7 @@ const passport = require("passport"); const helmet = require("helmet"); const cors = require("cors"); //const utils = require("./components/utils"); +// comment const auth = require("./components/auth"); const bodyParser = require("body-parser"); const connectRedis = require("connect-redis"); From 8af43dee474e1f7a164db3b1a1ade45bf9699b5f Mon Sep 17 00:00:00 2001 From: cditcher Date: Wed, 26 Feb 2025 08:44:10 -0800 Subject: [PATCH 21/34] Adding changes from main --- .../build-n-deploy-backend-to-ocp-dev.yml | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build-n-deploy-backend-to-ocp-dev.yml b/.github/workflows/build-n-deploy-backend-to-ocp-dev.yml index 5859a03f..5b4cc42a 100644 --- a/.github/workflows/build-n-deploy-backend-to-ocp-dev.yml +++ b/.github/workflows/build-n-deploy-backend-to-ocp-dev.yml @@ -35,12 +35,16 @@ env: on: workflow_dispatch: - + push: + branches: + - 'release/**' + paths: + - 'backend/**' jobs: openshift-ci-cd: name: Build & Deploy Backend to DEV # ubuntu-latest can also be used. - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest environment: dev steps: @@ -83,7 +87,9 @@ jobs: } - name: Check out repository - uses: actions/checkout@v2 + uses: actions/checkout@v4 + with: + ref: ${{ github.ref }} - name: Determine app name if: env.APP_NAME_BACKEND == '' @@ -129,10 +135,11 @@ jobs: oc: 4 # https://github.com/redhat-actions/oc-login#readme - - uses: actions/checkout@v2 + - name: Deploy run: | set -eux + echo "Deploying to to dev from branch: ${{ github.ref }}" # Login to OpenShift and select project oc login --token=${{ env.OPENSHIFT_TOKEN }} --server=${{ env.OPENSHIFT_SERVER }} oc project ${{ env.OPENSHIFT_NAMESPACE }} From 0f6865f98e12e25a53878995e401b6132e415641 Mon Sep 17 00:00:00 2001 From: Chris Ditcher Date: Wed, 26 Feb 2025 08:47:22 -0800 Subject: [PATCH 22/34] chris (#773) * Test * Test change * Removed comment * Test comment * Testing commit trigger --- backend/src/app.js | 1 - 1 file changed, 1 deletion(-) diff --git a/backend/src/app.js b/backend/src/app.js index 594e10c3..b1eea416 100644 --- a/backend/src/app.js +++ b/backend/src/app.js @@ -10,7 +10,6 @@ const passport = require("passport"); const helmet = require("helmet"); const cors = require("cors"); //const utils = require("./components/utils"); -// comment const auth = require("./components/auth"); const bodyParser = require("body-parser"); const connectRedis = require("connect-redis"); From 13eb4f638ec68e442455270191e7eed86368251e Mon Sep 17 00:00:00 2001 From: cditcher Date: Wed, 26 Feb 2025 08:57:30 -0800 Subject: [PATCH 23/34] Added updated trigger --- .../build-n-deploy-frontend-to-ocp-dev.yml | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build-n-deploy-frontend-to-ocp-dev.yml b/.github/workflows/build-n-deploy-frontend-to-ocp-dev.yml index c5002d6c..31c9af17 100644 --- a/.github/workflows/build-n-deploy-frontend-to-ocp-dev.yml +++ b/.github/workflows/build-n-deploy-frontend-to-ocp-dev.yml @@ -7,7 +7,7 @@ env: OPENSHIFT_SERVER: ${{ secrets.OPENSHIFT_SERVER }} OPENSHIFT_TOKEN: ${{ secrets.OPENSHIFT_TOKEN }} # 🖊️ EDIT to set the kube context's namespace after login. Leave blank to use your user's default namespace. - OPENSHIFT_NAMESPACE: bbe4c3-dev + OPENSHIFT_NAMESPACE: ${{ secrets.UI_NAMESPACE }}-dev # 🖊️ EDIT to change the image registry settings. # Registries such as GHCR, Quay.io, and Docker Hub are supported. @@ -39,12 +39,16 @@ env: on: workflow_dispatch: - + push: + branches: + - 'release/**' + paths: + - 'frontend/**' jobs: openshift-ci-cd: name: Build & Deploy Frontend to DEV # ubuntu-latest can also be used. - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest environment: dev steps: @@ -87,7 +91,9 @@ jobs: } - name: Check out repository - uses: actions/checkout@v2 + uses: actions/checkout@v4 + with: + ref: ${{ github.ref }} - name: Determine app name if: env.APP_NAME_FRONTEND == '' @@ -133,7 +139,7 @@ jobs: oc: 4 # https://github.com/redhat-actions/oc-login#readme - - uses: actions/checkout@v2 + - name: Build frontend static id: build-image-frontend-static run: | @@ -147,7 +153,7 @@ jobs: oc tag ${{ steps.push-image-frontend.outputs.registry-path }} ${{ env.APP_NAME }}-frontend:${{ env.TAG }} # https://github.com/redhat-actions/oc-login#readme - - uses: actions/checkout@v2 + - name: Deploy run: | set -eux From 6845217d8b5d5ac887c404a13b35734651ed5527 Mon Sep 17 00:00:00 2001 From: Chris Ditcher Date: Wed, 26 Feb 2025 09:00:23 -0800 Subject: [PATCH 24/34] Testing PR trigger (#775) --- frontend/src/main.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/frontend/src/main.js b/frontend/src/main.js index 292cb164..3723386f 100644 --- a/frontend/src/main.js +++ b/frontend/src/main.js @@ -18,6 +18,8 @@ import Snackbar from "./components/Common/Snackbar.vue"; import "./assets/css/bcgov.css"; import "./assets/css/global.css"; +// test comment + //define custom theme const bcGovTheme = { dark: false, From 9b99c282f672f5421699a6e8c60ebd9d0694e253 Mon Sep 17 00:00:00 2001 From: suzalflueck Date: Thu, 27 Feb 2025 13:41:25 -0800 Subject: [PATCH 25/34] Added ability to filter on acknowledge flag with notes to review with future filtering ticktes --- .../src/components/Admin/InstituteAlerts.vue | 116 +++++++----------- frontend/src/services/TRAXService.js | 11 +- 2 files changed, 48 insertions(+), 79 deletions(-) diff --git a/frontend/src/components/Admin/InstituteAlerts.vue b/frontend/src/components/Admin/InstituteAlerts.vue index 82f47fc4..f1e1e22e 100644 --- a/frontend/src/components/Admin/InstituteAlerts.vue +++ b/frontend/src/components/Admin/InstituteAlerts.vue @@ -1,5 +1,18 @@ - - - @@ -108,55 +100,13 @@ export default { { key: "createDate", title: "Create Date", sortable: false }, { key: "event.eventType", title: "Alert Event Type", sortable: false }, { key: "subject", title: "Subject", sortable: false }, - { key: "acknowledgeFlag", title: "Acknowledge", sortable: false }, { key: "updateUser", title: "IDIR", sortable: false }, { key: "updateDate", title: "Acknowledge Date", sortable: false }, - { key: "actions", title: "Actions", sortable: false }, - ], - // these should align with events defined in TRAX API: - // https://github.com/bcgov/EDUC-GRAD-TRAX-API/blob/main/api/src/main/java/ca/bc/gov/educ/api/trax/constant/EventType.java - instituteEvents: [ - { key: "UPDATE_SCHOOL", description: "Update School" }, - { key: "CREATE_SCHOOL", description: "New School" }, - { key: "UPDATE_DISTRICT", description: "Update District" }, - { key: "CREATE_DISTRICT", description: "Create District" }, - { key: "UPDATE_AUTHORITY", description: "Update Authority" }, - { key: "CREATE_AUTHORITY", description: "Create Authority" }, - { key: "GET_AUTHORITY", description: "Get Authority" }, - { key: "GET_PAGINATED_SCHOOLS", description: "Get Paginated Schools" }, - { - key: "GET_PAGINATED_AUTHORITIES", - description: "Get Paginated Authorities", - }, - { key: "MOVE_SCHOOL", description: "Move School" }, - { key: "CREATE_SCHOOL_CONTACT", description: "Create School Contact" }, - { key: "UPDATE_SCHOOL_CONTACT", description: "Update School Contact" }, - { key: "DELETE_SCHOOL_CONTACT", description: "Delete School Contact" }, - { - key: "CREATE_DISTRICT_CONTACT", - description: "Create District Contact", - }, - { - key: "UPDATE_DISTRICT_CONTACT", - description: "Update District Contact", - }, - { - key: "DELETE_DISTRICT_CONTACT", - description: "Delete District Contact", - }, - { - key: "CREATE_AUTHORITY_CONTACT", - description: "Create Authority Contact", - }, - { - key: "UPDATE_AUTHORITY_CONTACT", - description: "Update Authority Contact", - }, - { - key: "DELETE_AUTHORITY_CONTACT", - description: "Delete Authority Contact", - }, + { key: "actions", title: "Acknowledge", sortable: false }, ], + filterOptions: { + acknowledgeFlag: "N", + }, }; }, created() { @@ -178,10 +128,6 @@ export default { isSchoolActivity(activity) { return activity.event.eventType.includes("SCHOOL"); }, - getInstituteEventLabel(key) { - return this.instituteEvents.find((event) => key === event.key) - ?.description; - }, getPassthroughURL(activity) { if (this.isDistrictActivity(activity)) { return `${ @@ -208,11 +154,31 @@ export default { this.currentPage = page; this.getInstituteAlerts(); }, + // TODO: Review this when we implement batch filtering in GRAD2-2553 getInstituteAlerts: function () { this.loadingTable = true; - let params = `pageNumber=${this.currentPage - 1}&pageSize=${ - this.itemsPerPage - }`; + let params = { + pageNumber: this.currentPage - 1, + pageSize: this.itemsPerPage, + sort: { + createDate: "DEC", + }, + searchParams: [], + }; + if (this.filterOptions.acknowledgeFlag !== "All") { + params.searchParams.push({ + condition: null, + searchCriteriaList: [ + { + key: "acknowledgeFlag", + operation: "eq", + value: this.filterOptions.acknowledgeFlag, + valueType: "STRING", + condition: null, + }, + ], + }); + } // update to pass in page, itemsPerPage, and sortBy TRAXService.getInstituteEventHistory(params) .then((response) => { diff --git a/frontend/src/services/TRAXService.js b/frontend/src/services/TRAXService.js index b04feb5d..7229f605 100644 --- a/frontend/src/services/TRAXService.js +++ b/frontend/src/services/TRAXService.js @@ -7,12 +7,15 @@ export default { getDistrict(district) { return ApiService.apiAxios.get("/api/v1/trax/district/" + district); }, - // Note: Sort is currently hard coded in the URL, however we'll want to update this when we tackle sorting & filtering in a future ticket + // TODO: Review this when we implement batch filtering in GRAD2-2553 getInstituteEventHistory(params) { + const encodedSortParams = encodeURIComponent(JSON.stringify(params.sort)); + const encodedSearchParams = encodeURIComponent( + JSON.stringify(params.searchParams) + ); + console.log(params.pageSize); return ApiService.apiAxios.get( - "/api/v1/trax/event/history/paginated?" + - params + - "&sort=%7B%22createDate%22%3A%22DEC%22%7D" + `/api/v1/trax/event/history/paginated?pageNumber=${params.pageNumber}&pageSize=${params.pageSize}&sort=${encodedSortParams}&searchParams=${encodedSearchParams}` ); }, putInstituteEventHistory(json) { From 768b4cdc4f2032c14141b1f04cef48196fbcf4be Mon Sep 17 00:00:00 2001 From: Shaun Lum Date: Thu, 27 Feb 2025 13:53:53 -0800 Subject: [PATCH 26/34] GRAD2-3342 cert regen certificate eligibility for students --- .../Batch/Forms/FormInputs/StudentInput.vue | 28 +++++++++++++------ 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/frontend/src/components/Batch/Forms/FormInputs/StudentInput.vue b/frontend/src/components/Batch/Forms/FormInputs/StudentInput.vue index 5b62b310..f3a9d2a7 100644 --- a/frontend/src/components/Batch/Forms/FormInputs/StudentInput.vue +++ b/frontend/src/components/Batch/Forms/FormInputs/StudentInput.vue @@ -183,8 +183,12 @@ export default { lastName: student.data[0].legalLastName, dob: student.data[0].dob, status: studentGRADStatus.data.studentStatusName, - schoolOfRecord: this.getSchoolById(studentGRADStatus.data.schoolOfRecordId)?.displayName, - schoolAtGrad: this.getSchoolById(studentGRADStatus.data.schoolAtGradId)?.displayName, + schoolOfRecord: this.getSchoolById( + studentGRADStatus.data.schoolOfRecordId + )?.displayName, + schoolAtGrad: this.getSchoolById( + studentGRADStatus.data.schoolAtGradId + )?.displayName, program: studentGRADStatus.data.program, }; if (studentGRADStatus.data.studentStatusName == "Merged") { @@ -193,6 +197,7 @@ export default { this.penLoading = false; return; } + // validation fot students on the CERT_REGEN batch job if (this.runType == "CERT_REGEN") { //when User is entereing PENs for the REGEN process, error if the student has a null PROGRAM COMPLETION DATE if (!studentGRADStatus.data.programCompletionDate) { @@ -201,6 +206,13 @@ export default { this.penLoading = false; return; } + if (student.data[0]?.certificateEligibility == "N") { + this.validationMessage = + "This students' school at graduation is not eligible for certificates"; + this.penLoading = false; + return; + } + console.log("TRANSCRIPT " + student.data[0].certificateEligibility); } //check if what credentialType was selected @@ -250,13 +262,13 @@ export default { computed: { ...mapState(useBatchRequestFormStore, [ - "getBatchRequest", - "getBatchRunTime", - "getCredential", - ]), + "getBatchRequest", + "getBatchRunTime", + "getCredential", + ]), ...mapState(useAppStore, { - getSchoolById: "getSchoolById" - }), + getSchoolById: "getSchoolById", + }), isEmpty() { return this.students.length > 0; }, From fc035e6ea1bb2ccbdda49115f196887e150e40b7 Mon Sep 17 00:00:00 2001 From: Shaun Lum Date: Thu, 27 Feb 2025 13:54:57 -0800 Subject: [PATCH 27/34] removed console log --- frontend/src/components/Batch/Forms/FormInputs/StudentInput.vue | 1 - 1 file changed, 1 deletion(-) diff --git a/frontend/src/components/Batch/Forms/FormInputs/StudentInput.vue b/frontend/src/components/Batch/Forms/FormInputs/StudentInput.vue index f3a9d2a7..7d33ec76 100644 --- a/frontend/src/components/Batch/Forms/FormInputs/StudentInput.vue +++ b/frontend/src/components/Batch/Forms/FormInputs/StudentInput.vue @@ -212,7 +212,6 @@ export default { this.penLoading = false; return; } - console.log("TRANSCRIPT " + student.data[0].certificateEligibility); } //check if what credentialType was selected From d29cf0816748d59af45f31edcfebdc14eacc3945 Mon Sep 17 00:00:00 2001 From: suzalflueck Date: Thu, 27 Feb 2025 14:12:15 -0800 Subject: [PATCH 28/34] remove redundant label on form radio group --- frontend/src/components/Admin/InstituteAlerts.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/components/Admin/InstituteAlerts.vue b/frontend/src/components/Admin/InstituteAlerts.vue index f1e1e22e..99b2bad5 100644 --- a/frontend/src/components/Admin/InstituteAlerts.vue +++ b/frontend/src/components/Admin/InstituteAlerts.vue @@ -4,9 +4,9 @@ > From 94686ee904a787d6e1e3b1634549213860e88193 Mon Sep 17 00:00:00 2001 From: Shaun Lum Date: Thu, 27 Feb 2025 15:56:49 -0800 Subject: [PATCH 29/34] updated school category code to public --- frontend/src/components/Batch/Forms/NongradDistrunForm.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/components/Batch/Forms/NongradDistrunForm.vue b/frontend/src/components/Batch/Forms/NongradDistrunForm.vue index 92c6449b..f60012d5 100644 --- a/frontend/src/components/Batch/Forms/NongradDistrunForm.vue +++ b/frontend/src/components/Batch/Forms/NongradDistrunForm.vue @@ -64,7 +64,7 @@ From 0fae4a3fa61778a3d844c9cc64a8dabd7e00935f Mon Sep 17 00:00:00 2001 From: Shaun Lum Date: Fri, 28 Feb 2025 08:55:17 -0800 Subject: [PATCH 30/34] added code to clear forms for confirmations and report types --- .../src/components/Batch/Forms/ArchiveSchoolReportsForm.vue | 2 ++ frontend/src/components/Batch/Forms/ArchiveStudentsForm.vue | 1 + .../src/components/Batch/Forms/RegenerateSchoolReportForm.vue | 1 + 3 files changed, 4 insertions(+) diff --git a/frontend/src/components/Batch/Forms/ArchiveSchoolReportsForm.vue b/frontend/src/components/Batch/Forms/ArchiveSchoolReportsForm.vue index 3ce72966..48ace36c 100644 --- a/frontend/src/components/Batch/Forms/ArchiveSchoolReportsForm.vue +++ b/frontend/src/components/Batch/Forms/ArchiveSchoolReportsForm.vue @@ -344,6 +344,8 @@ export default { this.dialog = false; this.clearBatchDetails(); this.step = 0; + this.selectedConfirmations = []; + this.reportType = null; }, cancel() { this.group = null; diff --git a/frontend/src/components/Batch/Forms/ArchiveStudentsForm.vue b/frontend/src/components/Batch/Forms/ArchiveStudentsForm.vue index eb133fbf..05e8192d 100644 --- a/frontend/src/components/Batch/Forms/ArchiveStudentsForm.vue +++ b/frontend/src/components/Batch/Forms/ArchiveStudentsForm.vue @@ -351,6 +351,7 @@ export default { this.dialog = false; this.clearBatchDetails(); this.step = 0; + this.selectedConfirmations = []; }, cancel() { this.group = null; diff --git a/frontend/src/components/Batch/Forms/RegenerateSchoolReportForm.vue b/frontend/src/components/Batch/Forms/RegenerateSchoolReportForm.vue index d0c9f4c0..5fb9b30e 100644 --- a/frontend/src/components/Batch/Forms/RegenerateSchoolReportForm.vue +++ b/frontend/src/components/Batch/Forms/RegenerateSchoolReportForm.vue @@ -285,6 +285,7 @@ export default { this.dialog = false; this.clearBatchDetails(); this.step = 0; + this.reportType = null; }, cancel() { this.group = null; From 2926ff002c973b06f2ad370b8d4363a82f4f9425 Mon Sep 17 00:00:00 2001 From: Shaun Lum Date: Fri, 28 Feb 2025 09:12:01 -0800 Subject: [PATCH 31/34] changed school category to district as it was misleading --- .../src/components/Batch/Forms/FormInputs/ScheduleInput.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/components/Batch/Forms/FormInputs/ScheduleInput.vue b/frontend/src/components/Batch/Forms/FormInputs/ScheduleInput.vue index 355640d9..42b2a825 100644 --- a/frontend/src/components/Batch/Forms/FormInputs/ScheduleInput.vue +++ b/frontend/src/components/Batch/Forms/FormInputs/ScheduleInput.vue @@ -60,7 +60,7 @@ hide-default-header hide-default-footer >
From 94ec1b7cef3106a6eedc6ae0facbac869a639461 Mon Sep 17 00:00:00 2001 From: Tang Date: Fri, 28 Feb 2025 10:55:51 -0800 Subject: [PATCH 32/34] added name fixes to reports pdf --- .../SchoolReports/DistrictReports.vue | 324 +++++++++--------- .../SchoolReports/SchoolReports.vue | 5 +- 2 files changed, 165 insertions(+), 164 deletions(-) diff --git a/frontend/src/components/SchoolReports/DistrictReports.vue b/frontend/src/components/SchoolReports/DistrictReports.vue index 7baaf8ed..9e9af1f8 100644 --- a/frontend/src/components/SchoolReports/DistrictReports.vue +++ b/frontend/src/components/SchoolReports/DistrictReports.vue @@ -6,22 +6,22 @@
- Search - + - Reset - + > + Reset +
+ type="success" + variant="tonal" + border="start" + class="mt-6 mb-0 ml-1 py-3 width-fit-content" + v-if="totalResults > 0 && !searchLoading" + :text="`${totalResults} report${ + totalResults > 1 ? 's' : '' + } found`" + >
- - + diff --git a/frontend/src/components/SchoolReports/SchoolReports.vue b/frontend/src/components/SchoolReports/SchoolReports.vue index f15c179d..150c85bd 100644 --- a/frontend/src/components/SchoolReports/SchoolReports.vue +++ b/frontend/src/components/SchoolReports/SchoolReports.vue @@ -104,10 +104,7 @@ downloadFile( item.report, 'application/pdf', - 'school-report_' + - item.reportTypeCode + - '_' + - item.schoolOfRecord + 'school-report_' + item.reportTypeCode + '_' + item.mincode ) " href="#" From 165a94a6cd14589a6bf641cc29ddab7ec44b8283 Mon Sep 17 00:00:00 2001 From: Shaun Lum Date: Tue, 4 Mar 2025 09:14:02 -0800 Subject: [PATCH 33/34] fixed independent district select --- frontend/src/components/Batch/Forms/NongradDistrunForm.vue | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/frontend/src/components/Batch/Forms/NongradDistrunForm.vue b/frontend/src/components/Batch/Forms/NongradDistrunForm.vue index f60012d5..48afeb63 100644 --- a/frontend/src/components/Batch/Forms/NongradDistrunForm.vue +++ b/frontend/src/components/Batch/Forms/NongradDistrunForm.vue @@ -61,12 +61,7 @@ > - + From 28751ffe8ee56d78c48c0ca9127c038da82fda4d Mon Sep 17 00:00:00 2001 From: Hyono Date: Tue, 4 Mar 2025 12:04:39 -0800 Subject: [PATCH 34/34] Added data-cy to school at graduation text --- .../StudentProfile/GraduationStatus/GRADStatusForm.vue | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/frontend/src/components/StudentProfile/GraduationStatus/GRADStatusForm.vue b/frontend/src/components/StudentProfile/GraduationStatus/GRADStatusForm.vue index 698a282a..7245c6f6 100644 --- a/frontend/src/components/StudentProfile/GraduationStatus/GRADStatusForm.vue +++ b/frontend/src/components/StudentProfile/GraduationStatus/GRADStatusForm.vue @@ -483,7 +483,9 @@ {{ label.label }} --> -

+

{{ getSchoolById(editedGradStatus?.schoolAtGradId)?.mincode }}