Skip to content

Commit 7d08aa6

Browse files
Katselmus-iams create special group called katselmusViewer
1 parent cab677b commit 7d08aa6

File tree

2 files changed

+35
-1
lines changed

2 files changed

+35
-1
lines changed

src/auth/IAMConfig.js

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -430,6 +430,19 @@ const oodikoneIams = [
430430
'hy-ypa-henkilosto',
431431
]
432432

433+
const katselmusViewerIams = ['grp-katselmus-ttdk',
434+
'grp-katselmus-oiktdk',
435+
'grp-katselmus-ltdk',
436+
'grp-katselmus-humtdk',
437+
'grp-katselmus-mltdk',
438+
'grp-katselmus-ftdk',
439+
'grp-katselmus-bytdk',
440+
'grp-katselmus-ktdk',
441+
'grp-katselmus-valttdk',
442+
'grp-katselmus-sockom',
443+
'grp-katselmus-mmtdk',
444+
'grp-katselmus-eltdk']
445+
433446
const isSuperAdminIam = (iam) => superAdminGroups.includes(iam)
434447

435448
const isAdminIam = (iam) => adminGroups.includes(iam)
@@ -442,6 +455,8 @@ const isJoryIam = (iam) => joryGroups.includes(iam)
442455

443456
const isKosuIam = (iam) => kosuGroups.includes(iam)
444457

458+
const isKatselmusViewer = (iam) => katselmusViewerIams.includes(iam)
459+
445460
const isUniversityWideIam = (iam) => universityWideGroups.includes(iam)
446461

447462
const isDoctoralIam = (iam) => doctoralIams.includes(iam)
@@ -503,6 +518,7 @@ const relevantIAMs = []
503518
.concat(hyOneGroups)
504519
.concat(employeeGroups)
505520
.concat(oodikoneIams)
521+
.concat(katselmusViewerIams)
506522

507523
const RELEVANT_ORGANISATION_CODES = [
508524
'H930', // Avoin yliopisto
@@ -538,5 +554,6 @@ module.exports = {
538554
isStudyLeaderGroup,
539555
relevantIAMs,
540556
relevantOrganisations,
557+
isKatselmusViewer,
541558
ANY,
542559
}

src/auth/IAMRights.js

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ const {
1414
dekaaniIamToFaculty,
1515
opetusVaradekaani,
1616
isStudyLeaderGroup,
17+
isKatselmusViewer,
1718
} = require('./IAMConfig')
1819
const { data } = require('./data')
1920
const { mapToDegreeCode } = require('./common')
@@ -120,14 +121,30 @@ const getKosu = (hyGroups) => {
120121
return {}
121122
}
122123

124+
/**
125+
* Needed for Oodikone
126+
* Grant katselmusViewer special group, which means that the user can see oodikone's
127+
* evaluationoverview which is linked in tilannekuvalomake
128+
* @param {string[]} hyGroups
129+
* @returns katselmusViewer special group
130+
*/
131+
const getKatselmusViewer = (hyGroups) => {
132+
const katselmusViewer = hyGroups.some(isKatselmusViewer)
133+
console.log({ katselmusViewer, hyGroups, isKatselmusViewer })
134+
if (katselmusViewer) {
135+
return { specialGroup: { katselmusViewer: true } }
136+
}
137+
return {}
138+
}
139+
123140
/**
124141
* Get special groups based on IAM-groups
125142
* @param {string[]} hyGroups
126143
*/
127144
const getSpecialGroups = (hyGroups) => {
128145
let specialGroup = {}
129146

130-
;[getAdmin, getSuperAdmin, getOpenUni, getHyOne, getJory, getKosu]
147+
;[getAdmin, getSuperAdmin, getOpenUni, getHyOne, getJory, getKosu, getKatselmusViewer]
131148
.map((f) => f(hyGroups))
132149
.forEach(({ specialGroup: newSpecialGroup }) => {
133150
specialGroup = { ...specialGroup, ...newSpecialGroup }

0 commit comments

Comments
 (0)