Skip to content

Commit 6110d83

Browse files
TSFF-1130 - validering på om dato er før fødselsdato (#7152)
1 parent aea17c8 commit 6110d83

File tree

5 files changed

+34
-8
lines changed

5 files changed

+34
-8
lines changed

packages/behandling-pleiepenger/src/components/MedisinskVilkår.tsx

+2
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ export default ({
1111
readOnly,
1212
fagsakYtelseType,
1313
behandlingType,
14+
pleietrengendePart,
1415
}) => {
1516
const { addErrorMessage } = useRestApiErrorDispatcher();
1617
const httpErrorHandlerCaller = (status: number, locationHeader?: string) =>
@@ -49,6 +50,7 @@ export default ({
4950
visFortsettknapp,
5051
fagsakYtelseType,
5152
behandlingType,
53+
pleietrengendePart,
5254
}}
5355
/>
5456
);

packages/behandling-pleiepenger/src/panelDefinisjoner/faktaPaneler/MedisinskVilkarFaktaPanelDef2.tsx

+13-6
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
1-
import React from 'react';
2-
3-
import { fagsakYtelsesType } from '@k9-sak-web/backend/k9sak/kodeverk/FagsakYtelsesType.js';
4-
import { faktaPanelCodes } from '@k9-sak-web/konstanter';
51
import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes';
2+
import { fagsakYtelsesType } from '@k9-sak-web/backend/k9sak/kodeverk/FagsakYtelsesType.js';
63
import { FaktaPanelDef } from '@k9-sak-web/behandling-felles';
7-
import { Fagsak, Behandling } from '@k9-sak-web/types';
4+
import { faktaPanelCodes } from '@k9-sak-web/konstanter';
5+
import { Behandling, Fagsak, Personopplysninger } from '@k9-sak-web/types';
86

97
import MedisinskVilkår from '../../components/MedisinskVilkår';
108

@@ -19,9 +17,18 @@ class MedisinskVilkarFaktaPanelDef2 extends FaktaPanelDef {
1917

2018
getKomponent = props => <MedisinskVilkår {...props} />;
2119

22-
getData = ({ fagsak, behandling }: { fagsak: Fagsak; behandling: Behandling }) => ({
20+
getData = ({
21+
fagsak,
22+
behandling,
23+
personopplysninger,
24+
}: {
25+
fagsak: Fagsak;
26+
behandling: Behandling;
27+
personopplysninger: Personopplysninger;
28+
}) => ({
2329
fagsakYtelseType: fagsak.sakstype,
2430
behandlingType: behandling.type.kode,
31+
pleietrengendePart: personopplysninger?.pleietrengendePart,
2532
});
2633

2734
getOverstyrVisningAvKomponent = ({ fagsak, behandling }: { fagsak: Fagsak; behandling: Behandling }) => {

packages/fakta-medisinsk-vilkår/src/types/ContainerContract.ts

+2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { FagsakYtelsesType } from '@k9-sak-web/backend/k9sak/kodeverk/FagsakYtelsesType.js';
2+
import { Personopplysninger } from '@k9-sak-web/types';
23
import BehandlingType from '../constants/BehandlingType';
34

45
interface ContainerContract {
@@ -22,6 +23,7 @@ interface ContainerContract {
2223
// eslint-disable-next-line @typescript-eslint/no-explicit-any
2324
fagsakYtelseType?: FagsakYtelsesType;
2425
behandlingType?: BehandlingType;
26+
pleietrengendePart?: Personopplysninger['pleietrengendePart'];
2527
}
2628

2729
export default ContainerContract;

packages/fakta-medisinsk-vilkår/src/ui/components/innleggelsesperiodeFormModal/InnleggelsesperiodeFormModal.tsx

+14
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
import { PeriodpickerListRHF } from '@fpsak-frontend/form';
22
import { Period } from '@fpsak-frontend/utils';
3+
import { Personopplysninger } from '@k9-sak-web/types';
34
import { Alert, Button, Label, Modal } from '@navikt/ds-react';
45
import { Box, Form, Margin } from '@navikt/ft-plattform-komponenter';
6+
import dayjs from 'dayjs';
57
import React, { useRef, type JSX } from 'react';
68
import { FormProvider, useForm } from 'react-hook-form';
79
import { InnleggelsesperiodeDryRunResponse } from '../../../api/api';
@@ -24,6 +26,7 @@ interface InnleggelsesperiodeFormModal {
2426
onSubmit: (formState) => void;
2527
isLoading: boolean;
2628
endringerPåvirkerAndreBehandlinger: (innleggelsesperioder: Period[]) => Promise<InnleggelsesperiodeDryRunResponse>;
29+
pleietrengendePart: Personopplysninger['pleietrengendePart'];
2730
}
2831

2932
const InnleggelsesperiodeFormModal = ({
@@ -32,6 +35,7 @@ const InnleggelsesperiodeFormModal = ({
3235
onSubmit,
3336
isLoading,
3437
endringerPåvirkerAndreBehandlinger,
38+
pleietrengendePart,
3539
}: InnleggelsesperiodeFormModal): JSX.Element => {
3640
const formMethods = useForm({
3741
defaultValues: {
@@ -134,6 +138,16 @@ const InnleggelsesperiodeFormModal = ({
134138
}
135139
return null;
136140
},
141+
fomIsBeforeFødselsdato: (periodValue: Period) => {
142+
const { fom } = periodValue;
143+
if (fom) {
144+
const fødselsdato = pleietrengendePart?.fodselsdato;
145+
if (fødselsdato && dayjs(fom).isBefore(fødselsdato)) {
146+
return 'Fra-dato kan ikke være før fødselsdato';
147+
}
148+
}
149+
return null;
150+
},
137151
}}
138152
renderBeforeFieldArray={fieldArrayMethods => (
139153
<>

packages/fakta-medisinsk-vilkår/src/ui/components/innleggelsesperiodeoversikt/Innleggelsesperiodeoversikt.tsx

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1+
import { httpUtils, Period } from '@fpsak-frontend/utils';
12
import { Loader } from '@navikt/ds-react';
23
import { Box, LinkButton, Margin, PageError, TitleWithUnderline } from '@navikt/ft-plattform-komponenter';
3-
import { httpUtils, Period } from '@fpsak-frontend/utils';
44
import React, { useEffect, useMemo, type JSX } from 'react';
55
import { postInnleggelsesperioder, postInnleggelsesperioderDryRun } from '../../../api/api';
66
import LinkRel from '../../../constants/LinkRel';
@@ -20,7 +20,7 @@ interface InnleggelsesperiodeoversiktProps {
2020
const Innleggelsesperiodeoversikt = ({
2121
onInnleggelsesperioderUpdated,
2222
}: InnleggelsesperiodeoversiktProps): JSX.Element => {
23-
const { endpoints, httpErrorHandler } = React.useContext(ContainerContext);
23+
const { endpoints, httpErrorHandler, pleietrengendePart } = React.useContext(ContainerContext);
2424

2525
const [modalIsOpen, setModalIsOpen] = React.useState(false);
2626
const [innleggelsesperioderResponse, setInnleggelsesperioderResponse] = React.useState<InnleggelsesperiodeResponse>({
@@ -155,6 +155,7 @@ const Innleggelsesperiodeoversikt = ({
155155
setModalIsOpen={setModalIsOpen}
156156
onSubmit={lagreInnleggelsesperioder}
157157
isLoading={isLoading}
158+
pleietrengendePart={pleietrengendePart}
158159
endringerPåvirkerAndreBehandlinger={nyeInnleggelsesperioder => {
159160
const { href, requestPayload } = findLinkByRel(
160161
LinkRel.ENDRE_INNLEGGELSESPERIODER,

0 commit comments

Comments
 (0)