diff --git a/README.md b/README.md index 0d30e06..4bcb347 100644 --- a/README.md +++ b/README.md @@ -39,6 +39,9 @@ REACT_APP_SENTRY_DSN=%dsn-url% REACT_APP_SENTRY_ENV=production ``` +## Vercel preview +If you need to test your code before deploying to Vercel, commit and push your changes to a branch named "preview". This will generate a preview deployment using the dev-api. The url for visiting the preview is [generated based on the branch name](https://vercel.com/docs/concepts/deployments/generated-urls#url-with-git-branch), and the branch-genereated url is also set up in the app registration for redirection, so you can test authentication as well. + ## Sentry This application uses [Sentry](http://sentry.io/) to log FrontEnd erros. To activate Sentry logging, add correct *dsn* (Data Source Name) from your Sentry project into `REACT_APP_SENTRY_DSN` in your `.env` file. *Environment is used from `NODE_ENV`, or it can be specified in `REACT_APP_SENTRY_ENV`. diff --git a/src/Layout/index.js b/src/Layout/index.js index e170e66..855ba96 100644 --- a/src/Layout/index.js +++ b/src/Layout/index.js @@ -25,7 +25,7 @@ export function Layout () { logo
navigate('/')}> - Elevmappa + Elevdok (tidligere Elevmappa)
@@ -62,7 +62,14 @@ export function Layout () { showInfoMsg &&

- Info: I forbindelse med splittingen av fylket er det satt i gang en jobb med å se på tilgangsstyringer i ulike digitale løsninger. Vi har i denne sammenhengen startet arbeidet med å se på tilgangsstyringen i blant annet Elevmappa. Som resultat av dette arbeidet vil det bli innført noen endringer i elevmappa fra og med fredag 31. mars kl. 15:00. Dere vil få mer informasjon om denne endringen ved egen skole. + Informasjon om endring i tilgangsstyring
+

{ setShowInfoMsg(false) }}>Lukk info

diff --git a/src/Pages/Student/index.js b/src/Pages/Student/index.js index cebae87..520ebb3 100644 --- a/src/Pages/Student/index.js +++ b/src/Pages/Student/index.js @@ -14,15 +14,18 @@ import { useAPI } from '../../hooks/useAPI' import './style.scss' const PersonInfo = ({ person }) => { + const lastNameWithContactTeacher = person.contactTeacher ? `${person.lastName} (KL)` : person.lastName + const contactTeacherTxt = person.contactTeacher ? 'Du er kontaktlærer' : '' return (
{person.mail} {person.mainGroupName} + {contactTeacherTxt}
) @@ -79,6 +82,10 @@ export function Student () { return file.title } + const canViewFile = (accessType, contactTeacher) => { + return accessType === 'groupAccess' || contactTeacher + } + function onDocumentLoadSuccess ({ numPages }) { setNumPages(numPages) } @@ -104,8 +111,10 @@ export function Student () { return (
{document.title}
+ + @@ -113,21 +122,44 @@ export function Student () {
toggleExpandedDocument(document.documentNumber)}> Filer ({document.files.length})
+ { + expandedDocument === document.documentNumber && !canViewFile(items.accessType, items.contactTeacher) && +
+
+ OBS! {`Du er ikke kontaktlærer for ${items.firstName} ${items.lastName} og har derfor ikke tilgang til å åpne filer`} +
+ } { expandedDocument === document.documentNumber && document.files.map(file => { - return ( - { getDocumentFile(document, { file: document.documentNumber, recno: file.recno }) }} - title={document.disableFiles ? 'Fil kun tilgjengelig i arkiv' : 'Klikk for å åpne filen'} - >{getFileTitle(document, file)} - - ) + if (canViewFile(items.accessType, items.contactTeacher)) { + return ( + { getDocumentFile(document, { file: document.documentNumber, recno: file.recno }) }} + title={document.disableFiles ? 'Fil kun tilgjengelig i arkiv' : 'Klikk for å åpne filen'} + >{getFileTitle(document, file)} + + ) + } else { + return ( + { getDocumentFile(document, { file: document.documentNumber, recno: file.recno }) }} + title={`Du er ikke kontaktlærer for ${items.firstName} ${items.lastName} og har derfor ikke tilgang til å åpne filen`} + >{getFileTitle(document, file)} + + ) + } }) } diff --git a/src/Pages/Students/index.js b/src/Pages/Students/index.js index e79bed2..5ffa8e4 100644 --- a/src/Pages/Students/index.js +++ b/src/Pages/Students/index.js @@ -57,7 +57,7 @@ export function Students () { (students.length > config.studentsPrPage ? students.slice(paginationFrom, paginationTo) : students).map((student, index) => { return (
handleStudentClick(student.userName)}> -
{student.fullName}
+
{student.fullName} {student.contactTeacher ? '(KL)' : ''}
{student.mainGroupName}
)