Skip to content

Commit

Permalink
Merge pull request #3514 from navikt/kontrollsamtale-oppdatering
Browse files Browse the repository at this point in the history
Kan opprette, oppdatere, og annullere kontrollsamtaler
  • Loading branch information
RamziAbuQassim authored May 31, 2024
2 parents ad880a7 + b6d1525 commit 98330e9
Show file tree
Hide file tree
Showing 39 changed files with 932 additions and 253 deletions.
9 changes: 9 additions & 0 deletions src/api/dokumentApi.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,12 @@ export async function hentDokumenter(arg: {
method: 'GET',
});
}

export const getDokument = (arg: { dokumentId: string }) => {
return apiClient<Blob>({
url: `/dokumenter/${arg.dokumentId}`,
method: 'GET',
request: { headers: new Headers({ Accept: 'application/pdf' }) },
bodyTransformer: (res) => res.blob(),
});
};
49 changes: 36 additions & 13 deletions src/api/kontrollsamtaleApi.ts
Original file line number Diff line number Diff line change
@@ -1,25 +1,48 @@
import { Kontrollsamtale } from '~src/types/Kontrollsamtale';
import { toStringDateOrNull } from '~src/utils/date/dateUtils';
import {
AnnullerKontrollsamtaleRequest,
Kontrollsamtale,
OppdaterKontrollsamtaleInnkallingsdatoRequest,
OppdaterKontrollsamtaleStatusOgJournalpostRequest,
} from '~src/types/Kontrollsamtale';

import apiClient from './apiClient';

export const settNyDatoForKontrollsamtale = (args: { sakId: string; nyDato: Date }) =>
apiClient({
url: `/saker/${args.sakId}/kontrollsamtaler/nyDato`,
export const hentKontrollsamtaler = (arg: { sakId: string }) =>
apiClient<Kontrollsamtale[]>({
url: `/saker/${arg.sakId}/kontrollsamtaler`,
method: 'GET',
});

export const opprettNyKontrollsamtale = (arg: { sakId: string; innkallingsmåned: string }) =>
apiClient<Kontrollsamtale>({
url: `/saker/${arg.sakId}/kontrollsamtaler`,
method: 'POST',
body: {
nyDato: toStringDateOrNull(args.nyDato),
innkallingsmåned: arg.innkallingsmåned,
},
});

export const fetchNesteKontrollsamtale = (sakId: string) =>
export const oppdaterKontrollsamtaleStatusOgJournalpost = (arg: OppdaterKontrollsamtaleStatusOgJournalpostRequest) =>
apiClient<Kontrollsamtale>({
url: `/saker/${sakId}/kontrollsamtaler/hent`,
method: 'GET',
url: `/saker/${arg.sakId}/kontrollsamtaler/${arg.kontrollsamtaleId}/status`,
method: 'PATCH',
body: {
status: arg.status,
journalpostId: arg.journalpostId,
},
});

export const hentKontrollsamtaler = (arg: { sakId: string }) =>
apiClient<Kontrollsamtale[]>({
url: `/saker/${arg.sakId}/kontrollsamtaler`,
method: 'GET',
export const oppdaterKontrollsamtaleInnkallingsdato = (arg: OppdaterKontrollsamtaleInnkallingsdatoRequest) =>
apiClient<Kontrollsamtale>({
url: `/saker/${arg.sakId}/kontrollsamtaler/${arg.kontrollsamtaleId}/innkallingsmåned`,
method: 'PATCH',
body: {
innkallingsmåned: arg.innkallingsmåned,
},
});

export const annullerKontrollsamtale = (arg: AnnullerKontrollsamtaleRequest) =>
apiClient<Kontrollsamtale>({
url: `/saker/${arg.sakId}/kontrollsamtaler/${arg.kontrollsamtaleId}`,
method: 'DELETE',
});
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ import {
UtbetalingsRevurderingStatus,
} from '~src/types/Revurdering';
import * as DateUtils from '~src/utils/date/dateUtils';
import { formatPeriode } from '~src/utils/periode/periodeUtils';
import { erRevurderingIverksattMedTilbakekreving } from '~src/utils/revurdering/revurderingUtils';

import Oppsummeringspanel, {
Expand Down Expand Up @@ -58,7 +59,7 @@ const Intro = (props: { revurdering: InformasjonsRevurdering }) => {
},
{
tittel: formatMessage('label.periode'),
verdi: DateUtils.formatPeriode(props.revurdering.periode),
verdi: formatPeriode(props.revurdering.periode),
},
{
tittel: formatMessage('label.årsak'),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,10 @@ import { InformasjonsRevurdering, Revurdering, TilbakekrevingsAvgjørelse } from
import { Søknadsbehandling } from '~src/types/Søknadsbehandling';
import { Vedtak } from '~src/types/Vedtak';
import { erBehandlingRevurdering, erBehandlingSøknadsbehandling } from '~src/utils/behandling/BehandlingUtils';
import { formatDate, formatDateTime, formatPeriode } from '~src/utils/date/dateUtils';
import { formatDate, formatDateTime } from '~src/utils/date/dateUtils';
import { getBlob } from '~src/utils/dokumentUtils';
import { splitStatusOgResultatFraKlage } from '~src/utils/klage/klageUtils';
import { formatPeriode } from '~src/utils/periode/periodeUtils';
import {
erInformasjonsRevurdering,
erRevurderingIverksattMedTilbakekreving,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { useI18n } from '~src/lib/i18n';
import { Nullable } from '~src/lib/types';
import { Aldersvilkår, Aldersvurdering } from '~src/types/grunnlagsdataOgVilkårsvurderinger/alder/Aldersvilkår';
import { formatPeriode } from '~src/utils/date/dateUtils';
import { formatPeriode } from '~src/utils/periode/periodeUtils';

import { OppsummeringPar } from '../oppsummeringpar/OppsummeringPar';

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { useI18n } from '~src/lib/i18n';
import { Bosituasjon } from '~src/types/grunnlagsdataOgVilkårsvurderinger/bosituasjon/Bosituasjongrunnlag';
import { formatPeriode } from '~src/utils/date/dateUtils';
import { formatPeriode } from '~src/utils/periode/periodeUtils';

import { OppsummeringPar } from '../oppsummeringpar/OppsummeringPar';

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import {
Familiegjenforening,
FamiliegjenforeningVurdering,
} from '~src/types/grunnlagsdataOgVilkårsvurderinger/familieforening/Familieforening';
import { formatPeriode } from '~src/utils/date/dateUtils';
import { formatPeriode } from '~src/utils/periode/periodeUtils';

import { OppsummeringPar } from '../oppsummeringpar/OppsummeringPar';

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import {
FastOppholdVilkår,
VurderingsperiodeFastOpphold,
} from '~src/types/grunnlagsdataOgVilkårsvurderinger/fastOpphold/FastOppholdVilkår';
import { formatPeriode } from '~src/utils/date/dateUtils';
import { formatPeriode } from '~src/utils/periode/periodeUtils';

import { OppsummeringPar } from '../oppsummeringpar/OppsummeringPar';

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import {
FlyktningVilkår,
VurderingsperiodeFlyktning,
} from '~src/types/grunnlagsdataOgVilkårsvurderinger/flyktning/FlyktningVilkår';
import { formatPeriode } from '~src/utils/date/dateUtils';
import { formatPeriode } from '~src/utils/periode/periodeUtils';

import { OppsummeringPar } from '../oppsummeringpar/OppsummeringPar';

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import { Nullable } from '~src/lib/types';
import { EksternGrunnlagSkatt } from '~src/types/EksterneGrunnlag';
import { Formuegrunnlag } from '~src/types/grunnlagsdataOgVilkårsvurderinger/formue/Formuegrunnlag';
import { FormueStatus, FormueVilkår } from '~src/types/grunnlagsdataOgVilkårsvurderinger/formue/Formuevilkår';
import { formatPeriode } from '~src/utils/date/dateUtils';
import { formatPeriode } from '~src/utils/periode/periodeUtils';

import SeSkattegrunnlag from '../oppsummeringAvSkattegrunnlag/Skattegrunnlagsmodal';
import { OppsummeringPar } from '../oppsummeringpar/OppsummeringPar';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ import { eqNullable } from '~src/lib/types';
import { Fradrag, FradragTilhører, UtenlandskInntekt } from '~src/types/Fradrag';
import { eqStringPeriode } from '~src/types/Periode';
import { groupByEq } from '~src/utils/array/arrayUtils';
import * as DateUtils from '~src/utils/date/dateUtils';
import { formatCurrency } from '~src/utils/format/formatUtils';
import { formatPeriode } from '~src/utils/periode/periodeUtils';

import { OppsummeringPar } from '../oppsummeringpar/OppsummeringPar';

Expand Down Expand Up @@ -45,7 +45,7 @@ const OppsummeringAvFradrag = (props: { fradrag: Fradrag[] }) => {
verdi={pipe(
A.head(fradragsgruppe),
O.chainNullableK((head) => head.periode),
O.map((periode) => DateUtils.formatPeriode(periode)),
O.map((periode) => formatPeriode(periode)),
O.getOrElse(() => formatMessage('feil.ukjent.periode')),
)}
/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import {
InstitusjonsoppholdVilkår,
VurderingsperiodeInstitusjonsopphold,
} from '~src/types/grunnlagsdataOgVilkårsvurderinger/institusjonsopphold/Institusjonsopphold';
import { formatPeriode } from '~src/utils/date/dateUtils';
import { formatPeriode } from '~src/utils/periode/periodeUtils';

import { OppsummeringPar } from '../oppsummeringpar/OppsummeringPar';

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import {
LovligOppholdVilkår,
VurderingsperiodeLovligOpphold,
} from '~src/types/grunnlagsdataOgVilkårsvurderinger/lovligOpphold/LovligOppholdVilkår';
import { formatPeriode } from '~src/utils/date/dateUtils';
import { formatPeriode } from '~src/utils/periode/periodeUtils';

import { OppsummeringPar } from '../oppsummeringpar/OppsummeringPar';

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { useI18n } from '~src/lib/i18n';
import { Nullable } from '~src/lib/types';
import { OpplysningspliktVilkår } from '~src/types/grunnlagsdataOgVilkårsvurderinger/opplysningsplikt/Opplysningsplikt';
import { formatPeriode } from '~src/utils/date/dateUtils';
import { formatPeriode } from '~src/utils/periode/periodeUtils';

import { OppsummeringPar } from '../oppsummeringpar/OppsummeringPar';

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import {
PersonligOppmøteÅrsak,
VurderingsperiodePersonligOppmøte,
} from '~src/types/grunnlagsdataOgVilkårsvurderinger/personligOppmøte/PersonligOppmøteVilkår';
import { formatPeriode } from '~src/utils/date/dateUtils';
import { formatPeriode } from '~src/utils/periode/periodeUtils';

import { OppsummeringPar } from '../oppsummeringpar/OppsummeringPar';

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import {
UføreVilkår,
VurderingsperiodeUføre,
} from '~src/types/grunnlagsdataOgVilkårsvurderinger/uføre/Uførevilkår';
import { formatPeriode } from '~src/utils/date/dateUtils';
import { formatPeriode } from '~src/utils/periode/periodeUtils';

import { OppsummeringPar } from '../oppsummeringpar/OppsummeringPar';

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import {
UtenlandsoppholdVilkår,
VurderingsperiodeUtenlandsopphold,
} from '~src/types/grunnlagsdataOgVilkårsvurderinger/utenlandsopphold/Utenlandsopphold';
import { formatPeriode } from '~src/utils/date/dateUtils';
import { formatPeriode } from '~src/utils/periode/periodeUtils';

import { OppsummeringPar } from '../oppsummeringpar/OppsummeringPar';

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@ import * as PdfApi from '~src/api/pdfApi';
import { useApiCall } from '~src/lib/hooks';
import { useI18n } from '~src/lib/i18n';
import { Søknadsbehandling } from '~src/types/Søknadsbehandling';
import { formatDate, formatPeriode } from '~src/utils/date/dateUtils';
import { formatDate } from '~src/utils/date/dateUtils';
import { formatPeriode } from '~src/utils/periode/periodeUtils';
import { søknadMottatt } from '~src/utils/søknad/søknadUtils';

import ApiErrorAlert from '../../apiErrorAlert/ApiErrorAlert';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,8 @@ import { useAsyncActionCreator } from '~src/lib/hooks';
import { useI18n } from '~src/lib/i18n';
import { Nullable } from '~src/lib/types';
import { RegistrertUtenlandsopphold, UtenlandsoppholdDokumentasjon } from '~src/types/RegistrertUtenlandsopphold';
import { formatDate, formatDateTime, formatPeriodeMedDager } from '~src/utils/date/dateUtils';
import { formatDate, formatDateTime } from '~src/utils/date/dateUtils';
import { formatPeriodeMedDager } from '~src/utils/periode/periodeUtils';

import messages from './OppsummeringAvRegistrerteUtenlandsopphold-nb';
import styles from './OppsummeringAvRegistrerteUtenlandsopphold.module.less';
Expand Down
3 changes: 2 additions & 1 deletion src/components/tabell/SuTabellUtils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,9 @@ import { Regulering } from '~src/types/Regulering';
import { Revurdering } from '~src/types/Revurdering';
import { Søknad } from '~src/types/Søknad';
import { Søknadsbehandling } from '~src/types/Søknadsbehandling';
import { formatDate, formatDateTime, formatPeriode } from '~src/utils/date/dateUtils';
import { formatDate, formatDateTime } from '~src/utils/date/dateUtils';
import { splitStatusOgResultatFraKlage } from '~src/utils/klage/klageUtils';
import { formatPeriode } from '~src/utils/periode/periodeUtils';
import { erReguleringAvsluttet } from '~src/utils/ReguleringUtils';
import {
erRevurderingAvsluttet,
Expand Down
23 changes: 23 additions & 0 deletions src/pages/kontrollsamtale/HentOgVisKontrollsamtaler.module.less
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
@import '@styles/variables.less';

.kontrollsamtalerContainer {
display: grid;
flex-direction: column;
gap: @spacing-s;
max-height: 500px;
padding-right: 2rem;
overflow: auto;
}

/*
::-webkit-scrollbar {
-webkit-appearance: none;
width: 5px;
}
::-webkit-scrollbar-thumb {
border-radius: 2px;
background-color: rgba(0, 0, 0, 0.5);
-webkit-box-shadow: 0 0 1px rgba(255, 255, 255, 0.5);
}
*/
58 changes: 58 additions & 0 deletions src/pages/kontrollsamtale/HentOgVisKontrollsamtaler.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
import * as RemoteData from '@devexperts/remote-data-ts';
import { BodyShort, Skeleton } from '@navikt/ds-react';
import { useEffect } from 'react';

import * as kontrollsamtaleApi from '~src/api/kontrollsamtaleApi';
import ApiErrorAlert from '~src/components/apiErrorAlert/ApiErrorAlert';
import Oppsummeringspanel, {
Oppsummeringsfarge,
Oppsummeringsikon,
} from '~src/components/oppsummering/oppsummeringspanel/Oppsummeringspanel';
import { pipe } from '~src/lib/fp';
import { useApiCall } from '~src/lib/hooks';

import styles from './HentOgVisKontrollsamtaler.module.less';
import OppsummeringAvKontrollsamtale from './OppsummeringAvKontrollsamtale';

const HentOgVisKontrollsamtaler = (props: { sakId: string }) => {
const [kontrollsamtaler, hentKontrollsamtaler] = useApiCall(kontrollsamtaleApi.hentKontrollsamtaler);

useEffect(() => {
hentKontrollsamtaler({ sakId: props.sakId });
}, []);

return (
<Oppsummeringspanel
ikon={Oppsummeringsikon.Liste}
farge={Oppsummeringsfarge.Lilla}
tittel="Registrerte kontrollsamtaler"
>
{pipe(
kontrollsamtaler,
RemoteData.fold(
() => null,
() => <Skeleton />,
(err) => <ApiErrorAlert error={err} />,
(kontrollsamtaler) =>
kontrollsamtaler.length === 0 ? (
<BodyShort>Ingen kontrollsamtaler registrert</BodyShort>
) : (
<ul className={styles.kontrollsamtalerContainer}>
{kontrollsamtaler.map((k) => (
<li key={k.id}>
<OppsummeringAvKontrollsamtale
sakId={props.sakId}
kontrollsamtale={k}
medEdit
/>
</li>
))}
</ul>
),
),
)}
</Oppsummeringspanel>
);
};

export default HentOgVisKontrollsamtaler;
Loading

0 comments on commit 98330e9

Please sign in to comment.