diff --git a/src/components/tabell/etiketter.tsx b/src/components/tabell/etiketter.tsx
index 7bd0cf27f..e38362f3d 100644
--- a/src/components/tabell/etiketter.tsx
+++ b/src/components/tabell/etiketter.tsx
@@ -2,7 +2,7 @@ import * as React from 'react';
import {BrukerModell, VurderingsBehov} from '../../model-interfaces';
import hiddenIf from '../hidden-if/hidden-if';
import {Tag} from '@navikt/ds-react';
-import {hentSkjermetInfo} from '../../utils/dato-utils';
+import {hentSikkerhetsTiltakInfo, hentSkjermetInfo} from '../../utils/dato-utils';
interface EtiketterProps {
bruker: BrukerModell;
@@ -12,19 +12,23 @@ interface EtiketterProps {
function Etiketter({bruker, erVedtakStotteFeatureTogglePa}: EtiketterProps) {
const HiddenEtikett = hiddenIf(Tag);
const skjermetInfo = hentSkjermetInfo(bruker.egenAnsatt, bruker.skjermetTil);
+ const sikkerhetTiltakInfo = hentSikkerhetsTiltakInfo(
+ bruker.sikkerhetstiltak.length > 0,
+ bruker.sikkerhetstiltak_beskrivelse,
+ bruker.sikkerhetstiltak_gyldig_fra,
+ bruker.sikkerhetstiltak_gyldig_til
+ );
return (
<>
Død
- Sikkerhetstiltak
-
+ >{`${sikkerhetTiltakInfo.tittel}`}
{`Kode ${bruker.diskresjonskode}`}
diff --git a/src/mocks/portefolje.ts b/src/mocks/portefolje.ts
index 448c88ea1..873cf20d5 100755
--- a/src/mocks/portefolje.ts
+++ b/src/mocks/portefolje.ts
@@ -182,6 +182,13 @@ function lagBruker(sikkerhetstiltak = [], egenAnsatt = false) {
const random_egenAnsatt = erSkjermet();
const random_harSkjermetTil = erSkjermet();
+ const harSikkerhetsTiltak = Math.random() < 10 / 100;
+ const sikkerhetsTiltakCode = hentSikkerhetstiltak();
+
+ var sikkerhetsTiltakKoderMapper = new Map();
+ sikkerhetsTiltakKoderMapper.set('TOAN', 'To ansatte i samtale');
+ sikkerhetsTiltakKoderMapper.set('FYUS', 'Fysisk utestengelse');
+
return {
fnr: grunndata.fnr,
aktoerid: aktoerid,
@@ -191,7 +198,12 @@ function lagBruker(sikkerhetstiltak = [], egenAnsatt = false) {
nyForVeileder,
nyForEnhet,
diskresjonskode: null,
- sikkerhetstiltak,
+ sikkerhetstiltak: harSikkerhetsTiltak ? hentSikkerhetstiltak() : [],
+ sikkerhetstiltak_gyldig_fra: harSikkerhetsTiltak ? randomDate({past: true}) : null,
+ sikkerhetstiltak_gyldig_til: harSikkerhetsTiltak ? randomDate({past: false}) : null,
+ sikkerhetstiltak_beskrivelse: harSikkerhetsTiltak
+ ? sikkerhetsTiltakKoderMapper.get(sikkerhetsTiltakCode[0])
+ : null,
venterPaSvarFraBruker: grunndata.venterPaSvarFraBruker,
venterPaSvarFraNAV: grunndata.venterPaSvarFraNAV,
nyesteUtlopteAktivitet: grunndata.nesteUtlopteAktivitet,
@@ -321,6 +333,15 @@ const hentSpraak = () => {
return null;
};
+const hentSikkerhetstiltak = () => {
+ const sikkerhetsTiltakKoder = ['TOAN', 'FYUS'];
+
+ let randomArray = new Int8Array(2);
+ window.crypto.getRandomValues(randomArray);
+
+ return [sikkerhetsTiltakKoder[Math.abs(randomArray[1] % sikkerhetsTiltakKoder.length)]];
+};
+
const randomEndring = () => {
const keys = Object.keys(hendelserLabels);
return keys[(keys.length * Math.random()) << 0];
diff --git a/src/model-interfaces.ts b/src/model-interfaces.ts
index 36044a3cb..cbee6c129 100755
--- a/src/model-interfaces.ts
+++ b/src/model-interfaces.ts
@@ -118,6 +118,9 @@ export interface BrukerModell {
oppfolgingStartdato: string; // dato
veilederId?: string;
sikkerhetstiltak: string[];
+ sikkerhetstiltak_gyldig_fra?: string;
+ sikkerhetstiltak_gyldig_til?: string;
+ sikkerhetstiltak_beskrivelse?: string;
diskresjonskode?: string;
egenAnsatt: boolean;
skjermetTil?: string;
@@ -242,6 +245,12 @@ export interface SkjermingEtikettConfig {
type: 'error' | 'warning' | 'info' | 'success';
}
+export interface SikkerhetsTiltakEtikettConfig {
+ hidden: boolean;
+ tittel: string | null;
+ type: 'error' | 'warning' | 'info' | 'success';
+}
+
export interface IdentParam {
ident: string;
}
diff --git a/src/utils/dato-utils.ts b/src/utils/dato-utils.ts
index 4955fcbf0..1f0642c8d 100755
--- a/src/utils/dato-utils.ts
+++ b/src/utils/dato-utils.ts
@@ -1,6 +1,6 @@
import moment from 'moment';
import {Maybe} from './types';
-import {SkjermingEtikettConfig} from '../model-interfaces';
+import {SikkerhetsTiltakEtikettConfig, SkjermingEtikettConfig} from '../model-interfaces';
export function fn(value) {
return typeof value === 'function' ? value : () => value;
@@ -234,3 +234,31 @@ export function hentSkjermetInfo(
};
}
}
+
+export function hentSikkerhetsTiltakInfo(
+ harSikkerhetsTiltak: boolean | undefined,
+ tiltakBeskrivelse: string | undefined,
+ tiltakFra: string | undefined,
+ tiltakTil: string | undefined
+): SikkerhetsTiltakEtikettConfig {
+ if (!harSikkerhetsTiltak) {
+ return {
+ hidden: true,
+ tittel: null,
+ type: 'info'
+ };
+ }
+
+ let tittelVerdi = 'Sikkerhetstiltak';
+ if (tiltakBeskrivelse && tiltakBeskrivelse.length > 0) {
+ tittelVerdi += ': ' + tiltakBeskrivelse;
+ }
+ if (tiltakTil) {
+ tittelVerdi += ' (til ' + moment(tiltakTil).format('DD.MM.YYYY') + ')';
+ }
+ return {
+ hidden: false,
+ tittel: tittelVerdi,
+ type: 'error'
+ };
+}