Skip to content

Commit

Permalink
Lisää käyttöliittymään tuki uusille auditlokimerkinnöille;
Browse files Browse the repository at this point in the history
Tuo tieto MyData-käytöstä backendistä datan mukana, äläkä tee päätöstä tästä organisaatio-oidin perusteella vasta frontendissä. Näin
mukaan saadaan tietoa myös OAuth2-rajapinnan kautta tehdyistä datan katseluista, joissa organisaatiot ovat moninaisempia.

Näytä myös suoritusjakolinkkien anonyymit käyttökerrat.
  • Loading branch information
AleksiAhtiainen committed Jan 16, 2025
1 parent b9a5293 commit f3e2395
Show file tree
Hide file tree
Showing 12 changed files with 63 additions and 44 deletions.
10 changes: 7 additions & 3 deletions frontend/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,8 @@ cp .env-example .env

## Sovelluksen ajaminen paikallisesti

Käynnistä sovellus kehitysmoodissa, jolloin se käyttää `mock`-hakemistossa olevaa mock-API:a ja Webpack lataa automaattisesti sovelluksen uudelleen selaimessa, kun teet muutoksia:
Käynnistä sovellus kehitysmoodissa, jolloin se käyttää `mock`-hakemistossa olevaa mock-API:a ja Webpack lataa
automaattisesti sovelluksen uudelleen selaimessa, kun teet muutoksia:

```shell
npm run start:local
Expand All @@ -41,7 +42,8 @@ npm run start:local:nologin

Nyt voit mennä selaimella osoitteeseen http://localhost:8080/ .

Vaihtoehtoisesti voit tehdä lokaalin dev-buildin (`npm run build:local`) ja tarjoilla `dist`-hakemistossa olevat tiedostot jollain toisella HTTP-palvelinsovelluksella.
Vaihtoehtoisesti voit tehdä lokaalin dev-buildin (`npm run build:local`) ja tarjoilla `dist`-hakemistossa olevat
tiedostot jollain toisella HTTP-palvelinsovelluksella.

Saat [Oppija-raamit](https://github.com/Opetushallitus/oppija-raamit) käyttöön `PROXY_OPPIJA_RAAMIT` -ympäristömuuttujan avulla seuraavasti:

Expand All @@ -62,7 +64,9 @@ Jest-yksikkötestit:
npm run unit
```

Testissä on käytetty [Jestin snapshoteja](https://jestjs.io/docs/en/snapshot-testing). Jos teet toiminnallisen muutoksen, joka aiheuttaa olemassaolevan snapshotin muuttumisen, voit päivittää snapshotin komennolla `npm run unit -- -u`, mutta ole tarkkana ettet vahingossa tallenna rikkinäisiä snapshoteja versionhallintaan.
Testissä on käytetty [Jestin snapshoteja](https://jestjs.io/docs/en/snapshot-testing). Jos teet toiminnallisen muutoksen,
joka aiheuttaa olemassaolevan snapshotin muuttumisen, voit päivittää snapshotin komennolla `npm run unit -- -u`, mutta
ole tarkkana ettet vahingossa tallenna rikkinäisiä snapshoteja versionhallintaan.

## Koodityylit

Expand Down
3 changes: 1 addition & 2 deletions frontend/jest.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,7 @@ module.exports = {
],
moduleFileExtensions: ['js', 'jsx', 'json'],
moduleNameMapper: {
'\\.(svg)$': '<rootDir>/src/__mocks__/filemock.js',
'Resources/mapping/usagePermissionDescriptions': '<rootDir>/resources/mapping/usagePermissionDescriptions.json'
'\\.(svg)$': '<rootDir>/src/__mocks__/filemock.js'
},
snapshotSerializers: ['enzyme-to-json/serializer'],
coverageThreshold: {
Expand Down
15 changes: 13 additions & 2 deletions frontend/mock/api.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,16 @@
}
],
"timestamps": ["2018-09-19T12:05:26.432+03", "2018-09-20T16:01:44.543+03"],
"serviceName": "koski"
"serviceName": "koski",
"isMyDataUse": true,
"isJakolinkkiUse": false
},
{
"organizations": [],
"timestamps": ["2023-09-16T12:05:26.432+03", "2023-09-20T16:01:44.543+03"],
"serviceName": "koski",
"isMyDataUse": true,
"isJakolinkkiUse": true
},
{
"organizations": [
Expand Down Expand Up @@ -89,7 +98,9 @@
"2018-07-11T14:44:14.543+03",
"2018-06-27T00:47:38.321+03"
],
"serviceName": "koski"
"serviceName": "koski",
"isMyDataUse": false,
"isJakolinkkiUse": false
},
{
"organizations": [
Expand Down
4 changes: 0 additions & 4 deletions frontend/mock/mapping/usagePermissionDescriptions.json

This file was deleted.

15 changes: 8 additions & 7 deletions frontend/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 10 additions & 0 deletions frontend/resources/mapping/translations.json
Original file line number Diff line number Diff line change
Expand Up @@ -156,5 +156,15 @@
"fi": "Tarkasteltava henkilö:",
"sv": "Person vars uppgifter granskas",
"en": "Person who’s data is being viewed"
},
"Jakolinkin tuntematon käyttäjä": {
"fi": "Jakolinkin tuntematon käyttäjä",
"sv": "Jakolinkin tuntematon käyttäjä",
"en": "Jakolinkin tuntematon käyttäjä"
},
"Oma Opintopolku -palvelussa luomiesi jakolinkkien käyttökerrat": {
"fi": "Oma Opintopolku -palvelussa luomiesi jakolinkkien käyttökerrat",
"sv": "Oma Opintopolku -palvelussa luomiesi jakolinkkien käyttökerrat",
"en": "Oma Opintopolku -palvelussa luomiesi jakolinkkien käyttökerrat"
}
}
5 changes: 0 additions & 5 deletions frontend/resources/mapping/usagePermissionDescriptions.json

This file was deleted.

12 changes: 7 additions & 5 deletions frontend/src/component/organization/Organization.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,26 +4,28 @@ import { lensPath, view } from 'ramda'
import Expander from 'component/generic/widget/Expander'
import OrganizationDetails from 'component/organization/OrganizationDetails'
import LogEntries from 'component/log-entries/LogEntries'
import t from 'util/translate'

/*
TODO: Currently we just take the first organization alternative (its name and oid). This must be changed.
*/
const nameLens = lensPath(['0', 'name'])
const oidLens = lensPath(['0', 'oid'])

const title = organizations => view(nameLens, organizations)

const Organization = ({ organizationAlternatives, timestamps, serviceName }) => (
<Expander title={title(organizationAlternatives)} serviceName={serviceName}>
<OrganizationDetails organizationOid={view(oidLens, organizationAlternatives)} />
const Organization = ({ organizationAlternatives, timestamps, serviceName, isMyDataUse, isJakolinkkiUse }) => (
<Expander title={isJakolinkkiUse ? t('Jakolinkin tuntematon käyttäjä') : title(organizationAlternatives)} serviceName={serviceName}>
<OrganizationDetails isMyDataUse={isMyDataUse} isJakolinkkiUse={isJakolinkkiUse}/>
<LogEntries timestamps={timestamps}/>
</Expander>
)

Organization.propTypes = {
organizationAlternatives: PropTypes.array.isRequired,
timestamps: PropTypes.array.isRequired,
serviceName: PropTypes.string.isRequired
serviceName: PropTypes.string.isRequired,
isMyDataUse: PropTypes.bool,
isJakolinkkiUse: PropTypes.bool
}

export default Organization
13 changes: 7 additions & 6 deletions frontend/src/component/organization/OrganizationDetails.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import React from 'react'
import PropTypes from 'prop-types'
import styled from 'styled-components'
import t from 'util/translate'
import { getTranslatedUsagePermissionDescription, isMydataPartner } from 'util/usagePermissionDescriptions'
import { getTranslatedUsagePermissionDescription } from 'util/usagePermissionDescriptions'
import { Bold } from 'ui/typography'
import constants from 'ui/constants'
import media from 'ui/media'
Expand Down Expand Up @@ -31,27 +31,28 @@ const Description = styled.div`
font-size: ${constants.font.size.s};
`

const weblink = oid => (isMydataPartner(oid)
const weblink = isMyDataUse => (isMyDataUse
? t('omadata-link')
: t('tietosuojaseloste-link')
)

const OrganizationDetails = ({ organizationOid }) => (
const OrganizationDetails = ({ isMyDataUse, isJakolinkkiUse }) => (
<Details>
<Description>
<Bold>{t`Tietojen käyttölupa`}:</Bold> {getTranslatedUsagePermissionDescription(organizationOid)}
<Bold>{t`Tietojen käyttölupa`}:</Bold> {getTranslatedUsagePermissionDescription(isMyDataUse, isJakolinkkiUse)}
</Description>

<ExternalLink
text={t`Tarkempi kuvaus lähetetyistä tiedoista`}
url={weblink(organizationOid)}
url={weblink(isMyDataUse)}
openInNewTab={true}
/>
</Details>
)

OrganizationDetails.propTypes = {
organizationOid: PropTypes.string.isRequired
isMyDataUse: PropTypes.bool,
isJakolinkkiUse: PropTypes.bool
}

export default OrganizationDetails
4 changes: 3 additions & 1 deletion frontend/src/component/organization/Organizations.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ const Organizations = ({ translatedOrganizations }) => (
<OrganizationsHeader/>

{
translatedOrganizations.map(({ organizations, timestamps, serviceName }) => {
translatedOrganizations.map(({ organizations, timestamps, serviceName, isMyDataUse, isJakolinkkiUse }) => {
const key = map(view(oidLens), organizations).join(',')

return (
Expand All @@ -20,6 +20,8 @@ const Organizations = ({ translatedOrganizations }) => (
organizationAlternatives={organizations}
timestamps={timestamps}
serviceName={serviceName}
isMyDataUse={isMyDataUse}
isJakolinkkiUse={isJakolinkkiUse}
/>
)
})
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,7 @@ exports[`Organization should render with organization permitted by user, and exp
>
Tietojen käyttölupa:
</b>
Olet antanut tälle palvelutarjoajalle luvan käyttää tietojasi.
Lakiin perustuva tiedonkäyttölupa.
</div>
<a
class="typography__Link-sc-1yq3b4j-5 eygBPc"
Expand Down
14 changes: 6 additions & 8 deletions frontend/src/util/usagePermissionDescriptions.js
Original file line number Diff line number Diff line change
@@ -1,12 +1,10 @@
import t from 'util/translate'

import permissionsMap from 'Resources/mapping/usagePermissionDescriptions'

export const getTranslatedUsagePermissionDescription = organizationOid => {
const permission = permissionsMap[organizationOid] || permissionsMap.default
export const getTranslatedUsagePermissionDescription = (isMyDataUse, isJakolinkkiUse) => {
const permission = (isMyDataUse && isJakolinkkiUse)
? 'Oma Opintopolku -palvelussa luomiesi jakolinkkien käyttökerrat'
: isMyDataUse
? 'Olet antanut tälle palvelutarjoajalle luvan käyttää tietojasi.'
: 'Lakiin perustuva tiedonkäyttölupa.'
return t(permission)
}

export const isMydataPartner = organizationOid => {
return Boolean(permissionsMap[organizationOid])
}

0 comments on commit f3e2395

Please sign in to comment.