Skip to content

Commit af266bd

Browse files
Legger til MånedÅrVelger-relaterte verdier i mapping til kontrakt
1 parent befebfc commit af266bd

8 files changed

+112
-30
lines changed

src/frontend/hooks/useSendInnSkjema.tsx

+3-1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import { erModellMismatchResponsRessurs } from '../../shared-utils/modellversjon
88
import { useApp } from '../context/AppContext';
99
import { useFeatureToggles } from '../context/FeatureToggleContext';
1010
import { useSpråk } from '../context/SpråkContext';
11+
import { EFeatureToggle } from '../typer/feature-toggles';
1112
import { ISøknadKontrakt } from '../typer/kontrakt/kontrakt';
1213
import { dataISøknadKontraktFormat } from '../utils/mappingTilKontrakt/søknad';
1314
import { sendInn } from '../utils/sendInnSkjema';
@@ -37,7 +38,8 @@ export const useSendInnSkjema = (): {
3738
søknad,
3839
tekster(),
3940
tilRestLocaleRecord,
40-
kontraktVersjon
41+
kontraktVersjon,
42+
toggles[EFeatureToggle.SPOR_OM_MANED_IKKE_DATO] === true
4143
);
4244

4345
const res = await sendInn<ISøknadKontrakt>(

src/frontend/utils/mappingTilKontrakt/andreForelder.ts

+7-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,8 @@ export const andreForelderTilISøknadsfelt = (
3434
barn: IBarnMedISøknad,
3535
valgtSpråk: LocaleType,
3636
tilRestLocaleRecord: TilRestLocaleRecord,
37-
tekster: ITekstinnhold
37+
tekster: ITekstinnhold,
38+
toggleSpørOmMånedIkkeDato: boolean
3839
): IAndreForelderIKontraktFormat => {
3940
const {
4041
navn,
@@ -208,6 +209,7 @@ export const andreForelderTilISøknadsfelt = (
208209
barn,
209210
personType: PersonType.AndreForelder,
210211
erDød: forelderErDød,
212+
toggleSpørOmMånedIkkeDato,
211213
})
212214
),
213215
pensjonsperioderUtland: pensjonsperioderUtland.map((periode, index) =>
@@ -220,6 +222,7 @@ export const andreForelderTilISøknadsfelt = (
220222
barn,
221223
personType: PersonType.AndreForelder,
222224
erDød: forelderErDød,
225+
toggleSpørOmMånedIkkeDato,
223226
})
224227
),
225228
arbeidsperioderNorge: arbeidsperioderNorge.map((periode, index) =>
@@ -232,6 +235,7 @@ export const andreForelderTilISøknadsfelt = (
232235
barn,
233236
personType: PersonType.AndreForelder,
234237
erDød: forelderErDød,
238+
toggleSpørOmMånedIkkeDato,
235239
})
236240
),
237241
pensjonsperioderNorge: pensjonsperioderNorge.map((periode, index) =>
@@ -244,6 +248,7 @@ export const andreForelderTilISøknadsfelt = (
244248
barn,
245249
personType: PersonType.AndreForelder,
246250
erDød: forelderErDød,
251+
toggleSpørOmMånedIkkeDato,
247252
})
248253
),
249254
andreUtbetalingsperioder: andreUtbetalingsperioder.map((periode, index) =>
@@ -255,6 +260,7 @@ export const andreForelderTilISøknadsfelt = (
255260
personType: PersonType.AndreForelder,
256261
erDød: forelderErDød,
257262
barn,
263+
toggleSpørOmMånedIkkeDato,
258264
})
259265
),
260266
eøsBarnetrygdsperioder: eøsBarnetrygdsperioder.map((periode, index) =>

src/frontend/utils/mappingTilKontrakt/andreUtbetalingsperioder.ts

+22-10
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,26 @@
11
import { ESvar } from '@navikt/familie-form-elements';
22

33
import { IBarnMedISøknad } from '../../typer/barn';
4+
import { AlternativtSvarForInput, ISODateString } from '../../typer/common';
45
import { ISøknadsfelt, TilRestLocaleRecord } from '../../typer/kontrakt/generelle';
56
import { IUtbetalingsperiodeIKontraktFormat } from '../../typer/kontrakt/kontrakt';
67
import { IUtbetalingsperiode } from '../../typer/perioder';
78
import { PeriodePersonTypeMedBarnProps, PersonType } from '../../typer/personType';
89
import { IAndreUtbetalingerTekstinnhold } from '../../typer/sanity/modaler/andreUtbetalinger';
10+
import { ISøknadSpørsmål } from '../../typer/spørsmål';
11+
import { formaterDatostringKunMåned } from '../dato';
912
import { landkodeTilSpråk } from '../språk';
13+
import { uppercaseFørsteBokstav } from '../visning';
1014

11-
import {
12-
sammeVerdiAlleSpråk,
13-
sammeVerdiAlleSpråkEllerUkjent,
14-
verdiCallbackAlleSpråk,
15-
} from './hjelpefunksjoner';
15+
import { sammeVerdiAlleSpråk, verdiCallbackAlleSpråk } from './hjelpefunksjoner';
1616

1717
interface UtbetalingsperiodeIKontraktFormatParams {
1818
periode: IUtbetalingsperiode;
1919
periodeNummer: number;
2020
tilRestLocaleRecord: TilRestLocaleRecord;
2121
tekster: IAndreUtbetalingerTekstinnhold;
2222
barn?: IBarnMedISøknad;
23+
toggleSpørOmMånedIkkeDato: boolean;
2324
}
2425

2526
export const tilIAndreUtbetalingsperioderIKontraktFormat = ({
@@ -29,6 +30,7 @@ export const tilIAndreUtbetalingsperioderIKontraktFormat = ({
2930
tilRestLocaleRecord,
3031
tekster,
3132
barn,
33+
toggleSpørOmMånedIkkeDato,
3234
personType,
3335
}: UtbetalingsperiodeIKontraktFormatParams &
3436
PeriodePersonTypeMedBarnProps): ISøknadsfelt<IUtbetalingsperiodeIKontraktFormat> => {
@@ -65,20 +67,30 @@ export const tilIAndreUtbetalingsperioderIKontraktFormat = ({
6567
},
6668
utbetalingFraDato: {
6769
label: tilRestLocaleRecord(tekster.startdato.sporsmal),
68-
verdi: sammeVerdiAlleSpråk(utbetalingFraDato.svar),
70+
verdi: datoTilVerdiForKontrakt(utbetalingFraDato),
6971
},
7072
utbetalingTilDato: {
7173
label: tilRestLocaleRecord(
7274
periodenErAvsluttet
7375
? tekster.sluttdatoFortid.sporsmal
7476
: tekster.sluttdatoFremtid.sporsmal
7577
),
76-
verdi: sammeVerdiAlleSpråkEllerUkjent(
77-
tilRestLocaleRecord,
78-
utbetalingTilDato.svar,
78+
verdi:
79+
utbetalingTilDato.svar === AlternativtSvarForInput.UKJENT &&
7980
tekster.sluttdatoFremtid.checkboxLabel
80-
),
81+
? tilRestLocaleRecord(tekster.sluttdatoFremtid.checkboxLabel)
82+
: datoTilVerdiForKontrakt(utbetalingTilDato),
8183
},
8284
}),
8385
};
86+
87+
function datoTilVerdiForKontrakt(fraDatoArbeidsperiode: ISøknadSpørsmål<ISODateString | ''>) {
88+
return toggleSpørOmMånedIkkeDato
89+
? verdiCallbackAlleSpråk(locale =>
90+
uppercaseFørsteBokstav(
91+
formaterDatostringKunMåned(fraDatoArbeidsperiode.svar, locale)
92+
)
93+
)
94+
: sammeVerdiAlleSpråk(fraDatoArbeidsperiode.svar);
95+
}
8496
};

src/frontend/utils/mappingTilKontrakt/arbeidsperioder.ts

+29-10
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
import { ESvar } from '@navikt/familie-form-elements';
22

33
import { IBarnMedISøknad } from '../../typer/barn';
4+
import { AlternativtSvarForInput, ISODateString } from '../../typer/common';
45
import { ISøknadsfelt, TilRestLocaleRecord } from '../../typer/kontrakt/generelle';
56
import { IArbeidsperiodeIKontraktFormat } from '../../typer/kontrakt/kontrakt';
67
import { IArbeidsperiode } from '../../typer/perioder';
78
import { PeriodePersonTypeProps, PersonType } from '../../typer/personType';
89
import { IArbeidsperiodeTekstinnhold } from '../../typer/sanity/modaler/arbeidsperiode';
10+
import { ISøknadSpørsmål } from '../../typer/spørsmål';
11+
import { formaterDatostringKunMåned } from '../dato';
912
import { landkodeTilSpråk } from '../språk';
13+
import { uppercaseFørsteBokstav } from '../visning';
1014

11-
import {
12-
sammeVerdiAlleSpråk,
13-
sammeVerdiAlleSpråkEllerUkjent,
14-
verdiCallbackAlleSpråk,
15-
} from './hjelpefunksjoner';
15+
import { sammeVerdiAlleSpråk, verdiCallbackAlleSpråk } from './hjelpefunksjoner';
1616

1717
interface ArbeidsperiodeIKontraktFormatParams {
1818
periode: IArbeidsperiode;
@@ -21,6 +21,7 @@ interface ArbeidsperiodeIKontraktFormatParams {
2121
tilRestLocaleRecord: TilRestLocaleRecord;
2222
tekster: IArbeidsperiodeTekstinnhold;
2323
barn?: IBarnMedISøknad;
24+
toggleSpørOmMånedIkkeDato: boolean;
2425
}
2526

2627
export const tilIArbeidsperiodeIKontraktFormat = ({
@@ -30,6 +31,7 @@ export const tilIArbeidsperiodeIKontraktFormat = ({
3031
tilRestLocaleRecord,
3132
tekster,
3233
barn,
34+
toggleSpørOmMånedIkkeDato,
3335
personType,
3436
erDød,
3537
}: ArbeidsperiodeIKontraktFormatParams &
@@ -78,19 +80,36 @@ export const tilIArbeidsperiodeIKontraktFormat = ({
7880
fraDatoArbeidsperiode: fraDatoArbeidsperiode.svar
7981
? {
8082
label: tilRestLocaleRecord(tekster.startdato.sporsmal),
81-
verdi: sammeVerdiAlleSpråk(fraDatoArbeidsperiode.svar),
83+
verdi: datoTilVerdiForKontrakt(
84+
toggleSpørOmMånedIkkeDato,
85+
fraDatoArbeidsperiode
86+
),
8287
}
8388
: null,
8489
tilDatoArbeidsperiode: tilDatoArbeidsperiode.svar
8590
? {
8691
label: tilRestLocaleRecord(sluttdatoTekst.sporsmal),
87-
verdi: sammeVerdiAlleSpråkEllerUkjent(
88-
tilRestLocaleRecord,
89-
tilDatoArbeidsperiode.svar,
92+
verdi:
93+
tilDatoArbeidsperiode.svar === AlternativtSvarForInput.UKJENT &&
9094
tekster.sluttdatoFremtid.checkboxLabel
91-
),
95+
? tilRestLocaleRecord(tekster.sluttdatoFremtid.checkboxLabel)
96+
: datoTilVerdiForKontrakt(
97+
toggleSpørOmMånedIkkeDato,
98+
tilDatoArbeidsperiode
99+
),
92100
}
93101
: null,
94102
}),
95103
};
96104
};
105+
106+
function datoTilVerdiForKontrakt(
107+
toggleSpørOmMånedIkkeDato: boolean,
108+
fraDatoArbeidsperiode: ISøknadSpørsmål<ISODateString | ''>
109+
) {
110+
return toggleSpørOmMånedIkkeDato
111+
? verdiCallbackAlleSpråk(locale =>
112+
uppercaseFørsteBokstav(formaterDatostringKunMåned(fraDatoArbeidsperiode.svar, locale))
113+
)
114+
: sammeVerdiAlleSpråk(fraDatoArbeidsperiode.svar);
115+
}

src/frontend/utils/mappingTilKontrakt/barn.ts

+11-3
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,8 @@ export const barnISøknadsFormat = (
3434
søker: ISøker,
3535
valgtSpråk: LocaleType,
3636
tekster: ITekstinnhold,
37-
tilRestLocaleRecord: TilRestLocaleRecord
37+
tilRestLocaleRecord: TilRestLocaleRecord,
38+
toggleSpørOmMånedIkkeDato: boolean
3839
): ISøknadIKontraktBarn => {
3940
/* eslint-disable @typescript-eslint/no-unused-vars */
4041
const {
@@ -135,12 +136,19 @@ export const barnISøknadsFormat = (
135136
barn,
136137
valgtSpråk,
137138
tilRestLocaleRecord,
138-
tekster
139+
tekster,
140+
toggleSpørOmMånedIkkeDato
139141
)
140142
: null,
141143

142144
omsorgsperson: omsorgsperson
143-
? omsorgspersonTilISøknadsfelt(omsorgsperson, barn, tilRestLocaleRecord, tekster)
145+
? omsorgspersonTilISøknadsfelt(
146+
omsorgsperson,
147+
barn,
148+
tilRestLocaleRecord,
149+
tekster,
150+
toggleSpørOmMånedIkkeDato
151+
)
144152
: null,
145153
spørsmål: {
146154
...spørmålISøknadsFormat(

src/frontend/utils/mappingTilKontrakt/omsorgsperson.ts

+7-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,8 @@ export const omsorgspersonTilISøknadsfelt = (
2626
omsorgsperson: IOmsorgsperson,
2727
barn: IBarnMedISøknad,
2828
tilRestLocaleRecord: TilRestLocaleRecord,
29-
tekster: ITekstinnhold
29+
tekster: ITekstinnhold,
30+
toggleSpørOmMånedIkkeDato: boolean
3031
): IOmsorgspersonIKontraktFormat => {
3132
const {
3233
navn,
@@ -104,6 +105,7 @@ export const omsorgspersonTilISøknadsfelt = (
104105
tilRestLocaleRecord,
105106
tekster: tekster.FELLES.modaler.arbeidsperiode.omsorgsperson,
106107
personType: PersonType.Omsorgsperson,
108+
toggleSpørOmMånedIkkeDato,
107109
})
108110
),
109111
arbeidNorge: søknadsfeltBarn(
@@ -119,6 +121,7 @@ export const omsorgspersonTilISøknadsfelt = (
119121
tilRestLocaleRecord,
120122
tekster: tekster.FELLES.modaler.arbeidsperiode.omsorgsperson,
121123
personType: PersonType.Omsorgsperson,
124+
toggleSpørOmMånedIkkeDato,
122125
})
123126
),
124127
pensjonUtland: søknadsfeltBarn(
@@ -135,6 +138,7 @@ export const omsorgspersonTilISøknadsfelt = (
135138
tekster: tekster.FELLES.modaler.pensjonsperiode.omsorgsperson,
136139
barn: barn,
137140
personType: PersonType.Omsorgsperson,
141+
toggleSpørOmMånedIkkeDato,
138142
})
139143
),
140144
pensjonNorge: søknadsfeltBarn(
@@ -151,6 +155,7 @@ export const omsorgspersonTilISøknadsfelt = (
151155
tekster: tekster.FELLES.modaler.pensjonsperiode.omsorgsperson,
152156
barn: barn,
153157
personType: PersonType.Omsorgsperson,
158+
toggleSpørOmMånedIkkeDato,
154159
})
155160
),
156161
andreUtbetalinger: søknadsfeltBarn(
@@ -166,6 +171,7 @@ export const omsorgspersonTilISøknadsfelt = (
166171
tilRestLocaleRecord,
167172
tekster: tekster.FELLES.modaler.andreUtbetalinger.omsorgsperson,
168173
barn,
174+
toggleSpørOmMånedIkkeDato,
169175
})
170176
),
171177
pågåendeSøknadFraAnnetEøsLand: søknadsfeltBarn(

src/frontend/utils/mappingTilKontrakt/pensjonsperioder.ts

+18-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,9 @@ import { IPensjonsperiodeIKontraktFormat } from '../../typer/kontrakt/kontrakt';
66
import { IPensjonsperiode } from '../../typer/perioder';
77
import { PeriodePersonTypeMedBarnProps, PersonType } from '../../typer/personType';
88
import { IPensjonsperiodeTekstinnhold } from '../../typer/sanity/modaler/pensjonsperiode';
9+
import { formaterDatostringKunMåned } from '../dato';
910
import { landkodeTilSpråk } from '../språk';
11+
import { uppercaseFørsteBokstav } from '../visning';
1012

1113
import { sammeVerdiAlleSpråk, verdiCallbackAlleSpråk } from './hjelpefunksjoner';
1214

@@ -17,6 +19,7 @@ interface PensjonsperiodeIKontraktFormatParams {
1719
tilRestLocaleRecord: TilRestLocaleRecord;
1820
tekster: IPensjonsperiodeTekstinnhold;
1921
barn?: IBarnMedISøknad;
22+
toggleSpørOmMånedIkkeDato: boolean;
2023
}
2124

2225
export const tilIPensjonsperiodeIKontraktFormat = ({
@@ -26,6 +29,7 @@ export const tilIPensjonsperiodeIKontraktFormat = ({
2629
tilRestLocaleRecord,
2730
tekster,
2831
barn,
32+
toggleSpørOmMånedIkkeDato,
2933
personType,
3034
erDød,
3135
}: PensjonsperiodeIKontraktFormatParams &
@@ -74,7 +78,13 @@ export const tilIPensjonsperiodeIKontraktFormat = ({
7478
barnetsNavn: barn?.navn,
7579
}
7680
),
77-
verdi: sammeVerdiAlleSpråk(pensjonFra.svar),
81+
verdi: toggleSpørOmMånedIkkeDato
82+
? verdiCallbackAlleSpråk(locale =>
83+
uppercaseFørsteBokstav(
84+
formaterDatostringKunMåned(pensjonFra.svar, locale)
85+
)
86+
)
87+
: sammeVerdiAlleSpråk(pensjonFra.svar),
7888
}
7989
: null,
8090
pensjonTil: pensjonTil.svar
@@ -84,7 +94,13 @@ export const tilIPensjonsperiodeIKontraktFormat = ({
8494
? tekster.sluttdatoFortid.sporsmal
8595
: tekster.sluttdatoFremtid.sporsmal
8696
),
87-
verdi: sammeVerdiAlleSpråk(pensjonTil.svar),
97+
verdi: toggleSpørOmMånedIkkeDato
98+
? verdiCallbackAlleSpråk(locale =>
99+
uppercaseFørsteBokstav(
100+
formaterDatostringKunMåned(pensjonTil.svar, locale)
101+
)
102+
)
103+
: sammeVerdiAlleSpråk(pensjonTil.svar),
88104
}
89105
: null,
90106
}),

0 commit comments

Comments
 (0)