Skip to content

Commit

Permalink
Merge pull request #608 from navikt/eps-over-67
Browse files Browse the repository at this point in the history
No longer asking if EPS ufør flyktning when above 67
  • Loading branch information
RamziAbuQassim authored Feb 15, 2021
2 parents 49b7266 + d672a78 commit 88f6c83
Show file tree
Hide file tree
Showing 4 changed files with 65 additions and 34 deletions.
1 change: 1 addition & 0 deletions src/features/søknad/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ export interface Utenlandsopphold {

export interface EPSFormData {
fnr: Nullable<string>;
alder: Nullable<number>;
erUførFlyktning: Nullable<boolean>;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,15 @@ const epsFormDataSchema = yup
typeof value === 'string' && value.length === 11 && fnrValidator.fnr(value).status === 'valid'
)
.typeError('Ugyldig fødselsnummer'),
erUførFlyktning: yup.boolean().required().typeError('Feltet må fylles ut'),
alder: yup.number().nullable().defined(),
erUførFlyktning: yup
.boolean()
.when('alder', {
is: (val) => val < 67,
then: yup.boolean().required(),
otherwise: yup.boolean().nullable().defined(),
})
.defined(),
})
.defined();

Expand Down Expand Up @@ -381,6 +389,7 @@ const BoOgOppholdINorge = (props: { forrigeUrl: string; nesteUrl: string }) => {
? {
fnr: null,
erUførFlyktning: null,
alder: null,
}
: null,
}));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import fnrValidator from '@navikt/fnrvalidator';
import { FormikErrors } from 'formik';
import AlertStripe from 'nav-frontend-alertstriper';
import { Input, Radio, RadioGruppe, SkjemaelementFeilmelding } from 'nav-frontend-skjema';
import React, { useEffect, useState } from 'react';
import React, { useEffect, useState, useMemo } from 'react';

import * as personApi from '~api/personApi';
import { Person } from '~api/personApi';
Expand All @@ -21,10 +21,14 @@ interface Props {
feil?: FormikErrors<EPSFormData>;
}
const EktefellePartnerSamboer = (props: Props) => {
const epsFormData = props.value ?? { fnr: null, erUførFlyktning: null };
const epsFormData: EPSFormData = props.value ?? { fnr: null, alder: null, erUførFlyktning: null };

const intl = useI18n({ messages });

const erEpsUnder67 = useMemo(() => {
return epsFormData.alder && epsFormData.alder < 67;
}, [epsFormData.fnr, epsFormData.alder]);

return (
<div>
<FnrInput
Expand All @@ -38,40 +42,50 @@ const EktefellePartnerSamboer = (props: Props) => {
}}
feil={props.feil?.fnr}
autoComplete="off"
onAlderChange={(alder) => {
props.onChange({
...epsFormData,
alder: alder,
});
}}
/>

<div className={styles.ufør}>
<RadioGruppe
legend={intl.formatMessage({ id: 'input.ektefelleEllerSamboerUførFlyktning.label' })}
feil={props.feil?.erUførFlyktning}
>
<Radio
id={`${props.id}.${keyOf<EPSFormData>('erUførFlyktning')}`}
checked={Boolean(epsFormData.erUførFlyktning)}
onChange={() =>
props.onChange({
...epsFormData,
erUførFlyktning: true,
})
}
label="Ja"
name="erUfør"
/>
<Radio
checked={epsFormData.erUførFlyktning === false}
onChange={() =>
props.onChange({
...epsFormData,
erUførFlyktning: false,
})
}
label="Nei"
name="erUfør"
/>
</RadioGruppe>
{erEpsUnder67 && (
<RadioGruppe
legend={intl.formatMessage({ id: 'input.ektefelleEllerSamboerUførFlyktning.label' })}
feil={props.feil?.erUførFlyktning}
>
<Radio
id={`${props.id}.${keyOf<EPSFormData>('erUførFlyktning')}`}
checked={Boolean(epsFormData.erUførFlyktning)}
onChange={() =>
props.onChange({
...epsFormData,
erUførFlyktning: true,
})
}
label="Ja"
name="erUfør"
/>
<Radio
checked={epsFormData.erUførFlyktning === false}
onChange={() =>
props.onChange({
...epsFormData,
erUførFlyktning: false,
})
}
label="Nei"
name="erUfør"
/>
</RadioGruppe>
)}
</div>
{typeof props.feil === 'string' && (
<SkjemaelementFeilmelding>Feltene må fylles ut</SkjemaelementFeilmelding>
<SkjemaelementFeilmelding>
{intl.formatMessage({ id: 'ektefelleEllerSamboer.feil.felteneMåFyllesUt' })}
</SkjemaelementFeilmelding>
)}
</div>
);
Expand All @@ -83,8 +97,9 @@ interface FnrInputProps {
onFnrChange: (fnr: string) => void;
feil?: React.ReactNode;
autoComplete?: string;
onAlderChange: (alder: Nullable<number>) => void;
}
const FnrInput = ({ inputId, fnr, onFnrChange, feil, autoComplete }: FnrInputProps) => {
const FnrInput = ({ inputId, fnr, onFnrChange, feil, autoComplete, onAlderChange }: FnrInputProps) => {
const [person, setPerson] = useState<Person | null>(null);
const [harIkkeTilgang, setHarIkkeTilgang] = useState<boolean>(false);
const intl = useI18n({ messages });
Expand All @@ -97,6 +112,7 @@ const FnrInput = ({ inputId, fnr, onFnrChange, feil, autoComplete }: FnrInputPro
}
if (res.status === 'ok') {
setPerson(res.data);
onAlderChange(res.data.alder);
}
}

Expand Down Expand Up @@ -130,7 +146,9 @@ const FnrInput = ({ inputId, fnr, onFnrChange, feil, autoComplete }: FnrInputPro
)}
{harIkkeTilgang && (
<div>
<AlertStripe type="feil"> Du har ikke tilgang til å se informasjon om denne brukeren </AlertStripe>
<AlertStripe type="feil">
{intl.formatMessage({ id: 'ektefelleEllerSamboer.feil.ikkeTilgang' })}
</AlertStripe>
</div>
)}
</div>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
export default {
'ektefelleEllerSamboer.feil.ikkeTilgang': 'Du har ikke tilgang til å se informasjon om denne brukeren',
'ektefelleEllerSamboer.feil.felteneMåFyllesUt': 'Feltene må fylles ut',

'input.opphold-i-norge.label': 'Bor og oppholder du deg i Norge?',
'input.folkereg-adresse.label': 'Bor på folkereg adresse?',
'input.delerBoligMedPersonOver18.label': 'Deler du bolig med noen over 18 år?',
Expand Down

0 comments on commit 88f6c83

Please sign in to comment.