From 100c7ab426363ea3c9d300267370b2bba026900a Mon Sep 17 00:00:00 2001
From: Avisha Sodhi <38086281+SodhiA1@users.noreply.github.com>
Date: Wed, 2 Oct 2024 11:30:46 -0700
Subject: [PATCH 1/2] EGC-3: UI Tile for Grad
---
backend/src/config/index.js | 1 +
backend/src/routes/config.js | 1 +
frontend/src/components/DashboardTable.vue | 44 ++++++++-
.../graduation/GraduationTableComponent.vue | 99 +++++++++++++++++++
frontend/src/router.js | 12 +++
frontend/src/utils/constants.js | 4 +-
frontend/src/utils/constants/Permission.js | 4 +-
tools/config/update-configmap.sh | 5 +-
8 files changed, 166 insertions(+), 4 deletions(-)
create mode 100644 frontend/src/components/graduation/GraduationTableComponent.vue
diff --git a/backend/src/config/index.js b/backend/src/config/index.js
index 1c8764e3..847213c9 100644
--- a/backend/src/config/index.js
+++ b/backend/src/config/index.js
@@ -142,6 +142,7 @@ nconf.defaults({
bannerEnvironment: process.env.BANNER_ENVIRONMENT,
bannerColor: process.env.BANNER_COLOR,
disableSdcFunctionality: process.env.DISABLE_SDC_FUNCTIONALITY === 'true',
+ disableGradFunctionality: process.env.DISABLE_GRAD_FUNCTIONALITY === 'true',
termsOfUseURL: process.env.TERMS_OF_USE,
helpURL: process.env.HELP,
webSocketURL: process.env.WEB_SOCKET_URL,
diff --git a/backend/src/routes/config.js b/backend/src/routes/config.js
index 3d0d3068..fb6079fe 100644
--- a/backend/src/routes/config.js
+++ b/backend/src/routes/config.js
@@ -11,6 +11,7 @@ async function getConfig(req, res) {
BANNER_ENVIRONMENT: frontendConfig.bannerEnvironment,
BANNER_COLOR: frontendConfig.bannerColor,
DISABLE_SDC_FUNCTIONALITY: frontendConfig.disableSdcFunctionality,
+ DISABLE_GRAD_FUNCTIONALITY: frontendConfig.disableGradFunctionality,
TERMS_OF_USE_URL: frontendConfig.termsOfUseURL,
HELP_URL: frontendConfig.helpURL,
WEB_SOCKET_URL: frontendConfig.webSocketURL,
diff --git a/frontend/src/components/DashboardTable.vue b/frontend/src/components/DashboardTable.vue
index d2dc7416..e7c686e7 100644
--- a/frontend/src/components/DashboardTable.vue
+++ b/frontend/src/components/DashboardTable.vue
@@ -378,6 +378,43 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ PAGE_TITLES.GRADUATION }}
+
+
+
+
+
+
+
@@ -437,7 +474,8 @@ export default {
secureExchangeStatusCode: ''
},
PAGE_TITLES: PAGE_TITLES,
- disableSdcFunctionality: null
+ disableSdcFunctionality: null,
+ disableGradFunctionality: null
};
},
computed: {
@@ -461,6 +499,7 @@ export default {
},
created() {
this.disableSdcFunctionality = this.config.DISABLE_SDC_FUNCTIONALITY;
+ this.disableGradFunctionality = this.config.DISABLE_GRAD_FUNCTIONALITY;
if (this.hasRequiredPermission('SECURE_EXCHANGE')) {
this.getExchangesCount();
}
@@ -579,6 +618,9 @@ export default {
openSDCDistrictCollection() {
router.push({name: 'sdcDistrictCollectionSummary', params: {districtID: this.userInfo.activeInstituteIdentifier}});
},
+ openSchoolGraduationCard() {
+ router.push({name: 'graduation', params: {schoolID: this.userInfo.activeInstituteIdentifier}});
+ },
getSDCCollectionBySchoolId() {
ApiService.apiAxios.get(ApiRoutes.sdc.SDC_COLLECTION_BY_SCHOOL_ID + `/${this.userInfo.activeInstituteIdentifier}`).then(response => {
if(response.data) {
diff --git a/frontend/src/components/graduation/GraduationTableComponent.vue b/frontend/src/components/graduation/GraduationTableComponent.vue
new file mode 100644
index 00000000..06c8c1ab
--- /dev/null
+++ b/frontend/src/components/graduation/GraduationTableComponent.vue
@@ -0,0 +1,99 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ PAGE_TITLES.GRAD_DATA_COLLECTION }}
+
+
+
+
+
+ Upload Graduation Data Files (DEM, XAM and CRS)
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/frontend/src/router.js b/frontend/src/router.js
index 2059c2bd..86884b65 100644
--- a/frontend/src/router.js
+++ b/frontend/src/router.js
@@ -32,6 +32,7 @@ import AccessSchoolUsersDetailsPage from './components/admin/SchoolUsersAccessDe
import ApiService from './common/apiService';
import SDCDistrictCollectionView from './components/sdcCollection/sdcDistrictCollection/SDCDistrictCollectionView.vue';
import {PERMISSION} from './utils/constants/Permission';
+import GraduationTableComponent from './components/graduation/GraduationTableComponent.vue';
// a comment for commit.
const excludeInstituteNameFromPageTitleList=[PAGE_TITLES.SELECTION, PAGE_TITLES.ACTIVATE_USER];
@@ -316,6 +317,17 @@ const router = createRouter({
requiresAuth: true,
permission: PERMISSION.DISTRICT_SDC_VIEW
},
+ },
+ {
+ path: 'graduation/:schoolID',
+ name: 'graduation',
+ component: GraduationTableComponent,
+ props: true,
+ meta: {
+ pageTitle: PAGE_TITLES.GRADUATION,
+ requiresAuth: true,
+ permission: PERMISSION.GRAD_SCH_EDIT
+ },
}
]
},
diff --git a/frontend/src/utils/constants.js b/frontend/src/utils/constants.js
index ac3ab79c..d5c300ef 100644
--- a/frontend/src/utils/constants.js
+++ b/frontend/src/utils/constants.js
@@ -146,7 +146,9 @@ export const PAGE_TITLES = Object.freeze({
DISTRICT_DETAILS:'District Details',
DISTRICT_CONTACTS: 'District Contacts',
SDC:'Student Level Data (1701)',
- DATA_COLLECTION: 'Student Level Data Collection (1701)'
+ DATA_COLLECTION: 'Student Level Data Collection (1701)',
+ GRADUATION: 'Graduation',
+ GRAD_DATA_COLLECTION: 'GRAD Data Collection'
});
diff --git a/frontend/src/utils/constants/Permission.js b/frontend/src/utils/constants/Permission.js
index d5fb5709..2275e32c 100644
--- a/frontend/src/utils/constants/Permission.js
+++ b/frontend/src/utils/constants/Permission.js
@@ -20,7 +20,9 @@ export const PERMISSION = Object.freeze(
EDX_DISTRICT_VIEW: 'EDX_DISTRICT_VIEW',
- EDX_DISTRICT_EDIT: 'EDX_DISTRICT_EDIT'
+ EDX_DISTRICT_EDIT: 'EDX_DISTRICT_EDIT',
+
+ GRAD_SCH_EDIT: 'GRAD_SCH_EDIT'
}
);
diff --git a/tools/config/update-configmap.sh b/tools/config/update-configmap.sh
index d068673c..72e9fbed 100644
--- a/tools/config/update-configmap.sh
+++ b/tools/config/update-configmap.sh
@@ -110,16 +110,19 @@ then
bannerEnvironment="DEV"
bannerColor="#dba424"
disableSdcFunctionality=false
+ disableGradFunctionality=false
sldMigrationDate="2021-07-30"
elif [ "$envValue" = "test" ]
then
bannerEnvironment="TEST"
bannerColor="#8d28d7"
disableSdcFunctionality=false
+ disableGradFunctionality=false
sldMigrationDate="2021-07-30"
elif [ "$envValue" = "prod" ]
then
disableSdcFunctionality=true
+ disableGradFunctionality=true
sldMigrationDate="2025-02-01"
fi
@@ -135,7 +138,7 @@ echo Removing key files
rm tempPenBackendkey
rm tempPenBackendkey.pub
echo Creating config map $APP_NAME-backend-config-map
-oc create -n $OPENSHIFT_NAMESPACE-$envValue configmap $APP_NAME-backend-config-map --from-literal=IS_RATE_LIMIT_ENABLED="$IS_RATE_LIMIT_ENABLED" --from-literal=RATE_LIMIT_WINDOW_IN_SEC="$RATE_LIMIT_WINDOW_IN_SEC" --from-literal=RATE_LIMIT_LIMIT="$RATE_LIMIT_LIMIT" --from-literal=WEB_SERVER_FRONTEND="$WEB_SERVER_FRONTEND" --from-literal=WEB_SOCKET_URL="$WEB_SOCKET_URL" --from-literal=HELP=$helpURL --from-literal=TERMS_OF_USE=$termsOfUseURL --from-literal=TZ=$TZVALUE --from-literal=CLAMAV_HOST="clamav.$COMMON_NAMESPACE-$envValue.svc.cluster.local" --from-literal=CLAMAV_PORT="3310" --from-literal=BANNER_COLOR=$bannerColor --from-literal=BANNER_ENVIRONMENT=$bannerEnvironment --from-literal=UI_PRIVATE_KEY="$UI_PRIVATE_KEY_VAL" --from-literal=UI_PUBLIC_KEY="$UI_PUBLIC_KEY_VAL" --from-literal=SOAM_CLIENT_ID=$APP_NAME-soam --from-literal=SOAM_CLIENT_SECRET=$edxServiceClientSecret --from-literal=SERVER_FRONTEND="$SERVER_FRONTEND" --from-literal=ISSUER=EDX_Application --from-literal=EDX_API_ENDPOINT="http://edx-api-master.$OPENSHIFT_NAMESPACE-$envValue.svc.cluster.local:8080/api/v1/edx" --from-literal=SOAM_PUBLIC_KEY="$formattedPublicKey" --from-literal=SOAM_DISCOVERY=https://$SOAM_KC/auth/realms/$SOAM_KC_REALM_ID/.well-known/openid-configuration --from-literal=SOAM_URL=https://$SOAM_KC --from-literal=STUDENT_API_ENDPOINT="http://student-api-master.$COMMON_NAMESPACE-$envValue.svc.cluster.local:8080/api/v1/student" --from-literal=DIGITALID_API_ENDPOINT="http://digitalid-api-master.$COMMON_NAMESPACE-$envValue.svc.cluster.local:8080/api/v1/digital-id" --from-literal=SCHOOL_API_ENDPOINT="http://school-api-master.$COMMON_NAMESPACE-$envValue.svc.cluster.local:8080/api/v1/schools" --from-literal=PEN_SERVICES_API_URL="http://pen-services-api-master.$PEN_NAMESPACE.svc.cluster.local:8080/api/v1/pen-services" --from-literal=INSTITUTE_API_ENDPOINT="http://institute-api-master.$COMMON_NAMESPACE-$envValue.svc.cluster.local:8080/api/v1/institute" --from-literal=SDC_API_ENDPOINT="http://student-data-collection-api-master.$OPENSHIFT_NAMESPACE-$envValue.svc.cluster.local:8080/api/v1/student-data-collection" --from-literal=EMAIL_SECRET_KEY="$JWT_SECRET_KEY" --from-literal=SITEMINDER_LOGOUT_ENDPOINT="$siteMinderLogoutUrl" --from-literal=LOG_LEVEL=info --from-literal=REDIS_HOST=redis --from-literal=REDIS_PORT=6379 --from-literal=TOKEN_TTL_MINUTES=1440 --from-literal=NATS_URL="$NATS_URL" --from-literal=NATS_CLUSTER="$NATS_CLUSTER" --from-literal=SCHEDULER_CRON_STALE_SAGA_RECORD_REDIS="0 0/5 * * * *" --from-literal=MIN_TIME_BEFORE_SAGA_IS_STALE_IN_MINUTES=5 --from-literal=NODE_ENV="openshift" --from-literal=DISABLE_SDC_FUNCTIONALITY="$disableSdcFunctionality" --from-literal=SLD_MIGRATION_DATE="$sldMigrationDate" --dry-run -o yaml | oc apply -f -
+oc create -n $OPENSHIFT_NAMESPACE-$envValue configmap $APP_NAME-backend-config-map --from-literal=IS_RATE_LIMIT_ENABLED="$IS_RATE_LIMIT_ENABLED" --from-literal=RATE_LIMIT_WINDOW_IN_SEC="$RATE_LIMIT_WINDOW_IN_SEC" --from-literal=RATE_LIMIT_LIMIT="$RATE_LIMIT_LIMIT" --from-literal=WEB_SERVER_FRONTEND="$WEB_SERVER_FRONTEND" --from-literal=WEB_SOCKET_URL="$WEB_SOCKET_URL" --from-literal=HELP=$helpURL --from-literal=TERMS_OF_USE=$termsOfUseURL --from-literal=TZ=$TZVALUE --from-literal=CLAMAV_HOST="clamav.$COMMON_NAMESPACE-$envValue.svc.cluster.local" --from-literal=CLAMAV_PORT="3310" --from-literal=BANNER_COLOR=$bannerColor --from-literal=BANNER_ENVIRONMENT=$bannerEnvironment --from-literal=UI_PRIVATE_KEY="$UI_PRIVATE_KEY_VAL" --from-literal=UI_PUBLIC_KEY="$UI_PUBLIC_KEY_VAL" --from-literal=SOAM_CLIENT_ID=$APP_NAME-soam --from-literal=SOAM_CLIENT_SECRET=$edxServiceClientSecret --from-literal=SERVER_FRONTEND="$SERVER_FRONTEND" --from-literal=ISSUER=EDX_Application --from-literal=EDX_API_ENDPOINT="http://edx-api-master.$OPENSHIFT_NAMESPACE-$envValue.svc.cluster.local:8080/api/v1/edx" --from-literal=SOAM_PUBLIC_KEY="$formattedPublicKey" --from-literal=SOAM_DISCOVERY=https://$SOAM_KC/auth/realms/$SOAM_KC_REALM_ID/.well-known/openid-configuration --from-literal=SOAM_URL=https://$SOAM_KC --from-literal=STUDENT_API_ENDPOINT="http://student-api-master.$COMMON_NAMESPACE-$envValue.svc.cluster.local:8080/api/v1/student" --from-literal=DIGITALID_API_ENDPOINT="http://digitalid-api-master.$COMMON_NAMESPACE-$envValue.svc.cluster.local:8080/api/v1/digital-id" --from-literal=SCHOOL_API_ENDPOINT="http://school-api-master.$COMMON_NAMESPACE-$envValue.svc.cluster.local:8080/api/v1/schools" --from-literal=PEN_SERVICES_API_URL="http://pen-services-api-master.$PEN_NAMESPACE.svc.cluster.local:8080/api/v1/pen-services" --from-literal=INSTITUTE_API_ENDPOINT="http://institute-api-master.$COMMON_NAMESPACE-$envValue.svc.cluster.local:8080/api/v1/institute" --from-literal=SDC_API_ENDPOINT="http://student-data-collection-api-master.$OPENSHIFT_NAMESPACE-$envValue.svc.cluster.local:8080/api/v1/student-data-collection" --from-literal=EMAIL_SECRET_KEY="$JWT_SECRET_KEY" --from-literal=SITEMINDER_LOGOUT_ENDPOINT="$siteMinderLogoutUrl" --from-literal=LOG_LEVEL=info --from-literal=REDIS_HOST=redis --from-literal=REDIS_PORT=6379 --from-literal=TOKEN_TTL_MINUTES=1440 --from-literal=NATS_URL="$NATS_URL" --from-literal=NATS_CLUSTER="$NATS_CLUSTER" --from-literal=SCHEDULER_CRON_STALE_SAGA_RECORD_REDIS="0 0/5 * * * *" --from-literal=MIN_TIME_BEFORE_SAGA_IS_STALE_IN_MINUTES=5 --from-literal=NODE_ENV="openshift" --from-literal=DISABLE_SDC_FUNCTIONALITY="$disableSdcFunctionality" --from-literal=DISABLE_GRAD_FUNCTIONALITY="$disableGradFunctionality" --from-literal=SLD_MIGRATION_DATE="$sldMigrationDate" --dry-run -o yaml | oc apply -f -
echo
echo Setting environment variables for $APP_NAME-backend-$SOAM_KC_REALM_ID application
oc -n $OPENSHIFT_NAMESPACE-$envValue set env --from=configmap/$APP_NAME-backend-config-map dc/$APP_NAME-backend-$SOAM_KC_REALM_ID
From ef9e6033e3a2f02898a72d37141cebc5516b0727 Mon Sep 17 00:00:00 2001
From: Avisha Sodhi <38086281+SodhiA1@users.noreply.github.com>
Date: Wed, 2 Oct 2024 11:35:07 -0700
Subject: [PATCH 2/2] Update GraduationTableComponent.vue
---
.../src/components/graduation/GraduationTableComponent.vue | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/frontend/src/components/graduation/GraduationTableComponent.vue b/frontend/src/components/graduation/GraduationTableComponent.vue
index 06c8c1ab..3c049e23 100644
--- a/frontend/src/components/graduation/GraduationTableComponent.vue
+++ b/frontend/src/components/graduation/GraduationTableComponent.vue
@@ -15,7 +15,7 @@
width="25em"
outlined
rounded
- @click=""
+ @click="uploadFiles()"
>
@@ -84,6 +84,9 @@ export default {
hasRequiredPermission(permission){
return (this.userInfo?.activeInstitutePermissions?.filter(perm => perm === permission).length > 0);
},
+ uploadFiles() {
+
+ }
}
};