Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Prosess soknadsfrist 633 #6507

Merged
merged 29 commits into from
Sep 16, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
bd445a6
Revert "Revert "TSFF-633 - fikser typing og skriver bort redux-form i…
hallvardastark Aug 26, 2024
f4ff3e1
Flytter refaktorert kode i egen mappe
hallvardastark Aug 26, 2024
ccf0115
Feature toggle for å bruke gammel prosess søknadsfrist i prod og ny i Q
hallvardastark Aug 26, 2024
ece590c
La inn manglende intl-prop
hallvardastark Aug 26, 2024
0bdb58e
Fikser bugs i radioknapper og datovelger
hallvardastark Aug 26, 2024
049f58c
Søknadsfrist v2 i egen pakke
hallvardastark Aug 27, 2024
035cede
Fjern import
hallvardastark Aug 27, 2024
6145525
Rydding og tester
hallvardastark Aug 29, 2024
9c31aeb
Bruker færrest mulig komponenter fra shared-components
hallvardastark Aug 30, 2024
78b5f32
Merge branch 'master' into prosess-soknadsfrist-633
hallvardastark Aug 30, 2024
71bf800
Lager litt typer og konstanter av aksjonspunkttype og vilkårstatus
hallvardastark Aug 30, 2024
e353a2a
Kan tydeligvis ikke bruke den nye typen over alt ennå
hallvardastark Aug 30, 2024
a18ae24
Flytter test inn i stories
hallvardastark Sep 1, 2024
bc3b43d
Merge branch 'master' into prosess-soknadsfrist-633
hallvardastark Sep 1, 2024
afee7f9
Fikser story test
hallvardastark Sep 1, 2024
cbafb52
Prøver å fikse ts-feil
hallvardastark Sep 1, 2024
686d424
Bruker bare endepunkt for overstyring dersom panelet er overstyrt
hallvardastark Sep 3, 2024
f24cc9e
Merge branch 'master' into prosess-soknadsfrist-633
hallvardastark Sep 3, 2024
bc0c5b7
Fiks test
hallvardastark Sep 3, 2024
95e63d2
Et par rettinger
hallvardastark Sep 4, 2024
2973923
Merge branch 'master' into prosess-soknadsfrist-633
hallvardastark Sep 4, 2024
4fc3672
fiks pakkeversjoner
hallvardastark Sep 4, 2024
32dc84e
Sender ned featuretoggles til flere prosesspaneler
hallvardastark Sep 6, 2024
980ee7a
Merge branch 'master' into prosess-soknadsfrist-633
hallvardastark Sep 6, 2024
0af47dd
Rydder
hallvardastark Sep 6, 2024
c2312f2
Legger til stories med flere søknader
hallvardastark Sep 6, 2024
8f3d2cd
Merge branch 'master' into prosess-soknadsfrist-633
hallvardastark Sep 13, 2024
f2267c0
Bruker kodeverk som strings
hallvardastark Sep 13, 2024
018578b
Setter riktig type
hallvardastark Sep 13, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 7 additions & 3 deletions _mocks/featureToggles.ts
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,8 @@ export const featureTogglesFactory = () => [
value: process.env.VITE_AKSJONSPUNKT_9015,
},
{
key: "ALDERSVILKAR_KRONISK_SYK",
value: process.env.VITE_ALDERSVILKAR_KRONISK_SYK
key: 'ALDERSVILKAR_KRONISK_SYK',
value: process.env.VITE_ALDERSVILKAR_KRONISK_SYK,
},
{
key: 'FRITEKST_REDIGERING',
Expand Down Expand Up @@ -77,6 +77,10 @@ export const featureTogglesFactory = () => [
key: 'NYE_NOKKELTALL',
value: process.env.VITE_NYE_NOKKELTALL,
},
{
key: 'PROSESS_VILKAR_SOKNADSFRIST',
value: process.env.VITE_PROSESS_VILKAR_SOKNADSFRIST,
},
{
key: 'UTVIDET_VARSELFELT',
value: process.env.VITE_UTVIDET_VARSELFELT,
Expand All @@ -88,5 +92,5 @@ export const featureTogglesFactory = () => [
{
key: 'NYTT_SKJEMA_FOR_9003',
value: process.env.VITE_NYTT_SKJEMA_FOR_9003,
}
},
];
2 changes: 2 additions & 0 deletions deploy/dev-fss-k9saksbehandling.yml
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,8 @@ spec:
value: "true"
- name: NYE_NOKKELTALL
value: "true"
- name: PROSESS_VILKAR_SOKNADSFRIST
value: "true"
- name: UTVIDET_VARSELFELT
value: "true"
- name: SKILL_UT_PRIVATPERSON
Expand Down
2 changes: 2 additions & 0 deletions deploy/prod-fss-k9saksbehandling.yml
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,8 @@ spec:
value: "true"
- name: NYE_NOKKELTALL
value: "false"
- name: PROSESS_VILKAR_SOKNADSFRIST
value: "false"
- name: UTVIDET_VARSELFELT
value: "true"
- name: SKILL_UT_PRIVATPERSON
Expand Down
1 change: 1 addition & 0 deletions envDir/.env.development
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,6 @@ VITE_FIX_SOKNADSFRIST_KALENDER_OG_READONLY=true
VITE_INKLUDER_KALENDER_PILS=true
VITE_OVERSTYRING_UTTAK=true
VITE_NYE_NOKKELTALL=true
VITE_PROSESS_VILKAR_SOKNADSFRIST=true
VITE_SKILL_UT_PRIVATPERSON=true
VITE_NYTT_SKJEMA_FOR_9003=true
4 changes: 4 additions & 0 deletions feature-toggles.json
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,10 @@
"key": "NYE_NOKKELTALL",
"value": "${NYE_NOKKELTALL}"
},
{
"key": "PROSESS_VILKAR_SOKNADSFRIST",
"value": "${PROSESS_VILKAR_SOKNADSFRIST}"
},
{
"key": "UTVIDET_VARSELFELT",
"value": "${UTVIDET_VARSELFELT}"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ import {
FeatureToggles,
KodeverkMedNavn,
} from '@k9-sak-web/types';
import React, { useCallback, useMemo, useState } from 'react';
import { useCallback, useMemo, useState } from 'react';

import { bestemAvsenderApp, forhandsvis, getForhandsvisCallback } from '@fpsak-frontend/utils/src/formidlingUtils';
import { OmsorgspengerBehandlingApiKeys, restApiOmsorgHooks } from '../data/omsorgspengerBehandlingApi';
Expand All @@ -45,83 +45,85 @@ interface OwnProps {
featureToggles: FeatureToggles;
}

const getForhandsvisTilbakeCallback = (
forhandsvisTilbakekrevingMelding: (data: any) => Promise<any>,
fagsak: Fagsak,
behandling: Behandling,
) => (mottaker: string, brevmalkode: string, fritekst: string, saksnummer: string) => {
const data = {
behandlingUuid: behandling.uuid,
fagsakYtelseType: fagsak.sakstype,
varseltekst: fritekst || '',
mottaker,
brevmalkode,
saksnummer,
const getForhandsvisTilbakeCallback =
(forhandsvisTilbakekrevingMelding: (data: any) => Promise<any>, fagsak: Fagsak, behandling: Behandling) =>
(mottaker: string, brevmalkode: string, fritekst: string, saksnummer: string) => {
const data = {
behandlingUuid: behandling.uuid,
fagsakYtelseType: fagsak.sakstype,
varseltekst: fritekst || '',
mottaker,
brevmalkode,
saksnummer,
};
return forhandsvisTilbakekrevingMelding(data).then(response => forhandsvis(response));
};
return forhandsvisTilbakekrevingMelding(data).then(response => forhandsvis(response));
};

const getHentFritekstbrevHtmlCallback = (
hentFriteksbrevHtml: (data: any) => Promise<any>,
behandling: Behandling,
fagsak: Fagsak,
fagsakPerson: FagsakPerson,
) => (parameters: any) =>
hentFriteksbrevHtml({
...parameters,
eksternReferanse: behandling.uuid,
ytelseType: fagsak.sakstype,
saksnummer: fagsak.saksnummer,
aktørId: fagsakPerson.aktørId,
avsenderApplikasjon: bestemAvsenderApp(behandling.type.kode),
});
const getHentFritekstbrevHtmlCallback =
(
hentFriteksbrevHtml: (data: any) => Promise<any>,
behandling: Behandling,
fagsak: Fagsak,
fagsakPerson: FagsakPerson,
) =>
(parameters: any) =>
hentFriteksbrevHtml({
...parameters,
eksternReferanse: behandling.uuid,
ytelseType: fagsak.sakstype,
saksnummer: fagsak.saksnummer,
aktørId: fagsakPerson.aktørId,
avsenderApplikasjon: bestemAvsenderApp(behandling.type.kode),
});

const getLagringSideeffekter = (
toggleIverksetterVedtakModal,
toggleFatterVedtakModal,
toggleOppdatereFagsakContext,
oppdaterProsessStegOgFaktaPanelIUrl,
opneSokeside,
lagreDokumentdata,
) => async aksjonspunktModels => {
const erRevurderingsaksjonspunkt = aksjonspunktModels.some(
apModel =>
(apModel.kode === aksjonspunktCodes.VARSEL_REVURDERING_MANUELL ||
apModel.kode === aksjonspunktCodes.VARSEL_REVURDERING_ETTERKONTROLL) &&
apModel.sendVarsel,
);
const visIverksetterVedtakModal =
aksjonspunktModels[0].isVedtakSubmission &&
[
aksjonspunktCodes.VEDTAK_UTEN_TOTRINNSKONTROLL,
aksjonspunktCodes.FATTER_VEDTAK,
aksjonspunktCodes.FORESLA_VEDTAK_MANUELT,
].includes(aksjonspunktModels[0].kode);
const visFatterVedtakModal =
aksjonspunktModels[0].isVedtakSubmission && aksjonspunktModels[0].kode === aksjonspunktCodes.FORESLA_VEDTAK;

if (erRevurderingsaksjonspunkt) {
toggleOppdatereFagsakContext(false);
}
const getLagringSideeffekter =
(
toggleIverksetterVedtakModal,
toggleFatterVedtakModal,
toggleOppdatereFagsakContext,
oppdaterProsessStegOgFaktaPanelIUrl,
opneSokeside,
lagreDokumentdata,
) =>
async aksjonspunktModels => {
const erRevurderingsaksjonspunkt = aksjonspunktModels.some(
apModel =>
(apModel.kode === aksjonspunktCodes.VARSEL_REVURDERING_MANUELL ||
apModel.kode === aksjonspunktCodes.VARSEL_REVURDERING_ETTERKONTROLL) &&
apModel.sendVarsel,
);
const visIverksetterVedtakModal =
aksjonspunktModels[0].isVedtakSubmission &&
[
aksjonspunktCodes.VEDTAK_UTEN_TOTRINNSKONTROLL,
aksjonspunktCodes.FATTER_VEDTAK,
aksjonspunktCodes.FORESLA_VEDTAK_MANUELT,
].includes(aksjonspunktModels[0].kode);
const visFatterVedtakModal =
aksjonspunktModels[0].isVedtakSubmission && aksjonspunktModels[0].kode === aksjonspunktCodes.FORESLA_VEDTAK;

if (aksjonspunktModels[0].isVedtakSubmission) {
const dokumentdata = lagDokumentdata(aksjonspunktModels[0]);
if (dokumentdata) await lagreDokumentdata(dokumentdata);
}
if (erRevurderingsaksjonspunkt) {
toggleOppdatereFagsakContext(false);
}

// Returner funksjon som blir kjørt etter lagring av aksjonspunkt(er)
return () => {
if (visFatterVedtakModal) {
toggleFatterVedtakModal(true);
} else if (visIverksetterVedtakModal) {
toggleIverksetterVedtakModal(true);
} else if (erRevurderingsaksjonspunkt) {
opneSokeside();
} else {
oppdaterProsessStegOgFaktaPanelIUrl('default', 'default');
if (aksjonspunktModels[0].isVedtakSubmission) {
const dokumentdata = lagDokumentdata(aksjonspunktModels[0]);
if (dokumentdata) await lagreDokumentdata(dokumentdata);
}

// Returner funksjon som blir kjørt etter lagring av aksjonspunkt(er)
return () => {
if (visFatterVedtakModal) {
toggleFatterVedtakModal(true);
} else if (visIverksetterVedtakModal) {
toggleIverksetterVedtakModal(true);
} else if (erRevurderingsaksjonspunkt) {
opneSokeside();
} else {
oppdaterProsessStegOgFaktaPanelIUrl('default', 'default');
}
};
};
};

const OmsorgspengerProsess = ({
data,
Expand Down Expand Up @@ -149,10 +151,8 @@ const OmsorgspengerProsess = ({
const { startRequest: lagreAksjonspunkter, data: apBehandlingRes } = restApiOmsorgHooks.useRestApiRunner<Behandling>(
OmsorgspengerBehandlingApiKeys.SAVE_AKSJONSPUNKT,
);
const {
startRequest: lagreOverstyrteAksjonspunkter,
data: apOverstyrtBehandlingRes,
} = restApiOmsorgHooks.useRestApiRunner<Behandling>(OmsorgspengerBehandlingApiKeys.SAVE_OVERSTYRT_AKSJONSPUNKT);
const { startRequest: lagreOverstyrteAksjonspunkter, data: apOverstyrtBehandlingRes } =
restApiOmsorgHooks.useRestApiRunner<Behandling>(OmsorgspengerBehandlingApiKeys.SAVE_OVERSTYRT_AKSJONSPUNKT);
const { startRequest: forhandsvisMelding } = restApiOmsorgHooks.useRestApiRunner(
OmsorgspengerBehandlingApiKeys.PREVIEW_MESSAGE,
);
Expand Down Expand Up @@ -182,6 +182,7 @@ const OmsorgspengerProsess = ({
[behandling.versjon],
),
alleKodeverk,
featureToggles,
arbeidsgiverOpplysningerPerId,
lagreDokumentdata,
...data,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,18 +1,26 @@
import React from 'react';

import vilkarType from '@fpsak-frontend/kodeverk/src/vilkarType';
import kodeverkTyper from '@fpsak-frontend/kodeverk/src/kodeverkTyper';
import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes';
import SoknadsfristVilkarProsessIndex from '@k9-sak-web/prosess-vilkar-soknadsfrist';
import behandlingStatus from '@fpsak-frontend/kodeverk/src/behandlingStatus';
import kodeverkTyper from '@fpsak-frontend/kodeverk/src/kodeverkTyper';
import vilkarType from '@fpsak-frontend/kodeverk/src/vilkarType';
import { ProsessStegPanelDef } from '@k9-sak-web/behandling-felles';
import { konverterKodeverkTilKode } from '@k9-sak-web/lib/kodeverk/konverterKodeverkTilKode.js';
import SoknadsfristVilkarProsessIndex from '@k9-sak-web/prosess-vilkar-soknadsfrist';
import SoknadsfristVilkarProsessIndexV2 from '@k9-sak-web/prosess-vilkar-soknadsfrist-v2';
import { OmsorgspengerBehandlingApiKeys } from '../../../data/omsorgspengerBehandlingApi';

class SoknadsfristPanelDef extends ProsessStegPanelDef {
getId = () => 'SOKNADSFRIST';

getTekstKode = () => 'Inngangsvilkar.Soknadsfrist';
getTekstKode = () => 'Søknadsfrist';

getKomponent = props => <SoknadsfristVilkarProsessIndex {...props} />;
getKomponent = props => {
if (props.featureToggles?.PROSESS_VILKAR_SOKNADSFRIST) {
const deepCopyProps = JSON.parse(JSON.stringify(props));
konverterKodeverkTilKode(deepCopyProps, false);
return <SoknadsfristVilkarProsessIndexV2 {...props} {...deepCopyProps} />;
}
return <SoknadsfristVilkarProsessIndex {...props} />;
};

getAksjonspunktKoder = () => [
aksjonspunktCodes.OVERSTYR_SOKNADSFRISTVILKAR,
Expand All @@ -33,15 +41,25 @@ class SoknadsfristPanelDef extends ProsessStegPanelDef {
overrideReadOnly,
kanOverstyreAccess,
toggleOverstyring,
}): any => ({
avslagsarsaker: alleKodeverk[kodeverkTyper.AVSLAGSARSAK][vilkarForSteg[0].vilkarType.kode],
erOverstyrt: overstyrteAksjonspunktKoder.some(o => this.getAksjonspunktKoder().some(a => a === o)),
panelTittelKode: this.getTekstKode() ? this.getTekstKode() : prosessStegTekstKode,
lovReferanse: vilkarForSteg.length > 0 ? vilkarForSteg[0].lovReferanse : undefined,
overrideReadOnly,
kanOverstyreAccess,
toggleOverstyring,
});
behandling,
rettigheter,
featureToggles,
}): any => {
const behandlingenErAvsluttet = behandlingStatus.AVSLUTTET === behandling.status.kode;
const kanEndrePåSøknadsopplysninger = rettigheter.writeAccess.isEnabled && !behandlingenErAvsluttet;

return {
avslagsarsaker: alleKodeverk[kodeverkTyper.AVSLAGSARSAK][vilkarForSteg[0].vilkarType.kode],
erOverstyrt: overstyrteAksjonspunktKoder.some(o => this.getAksjonspunktKoder().some(a => a === o)),
panelTittelKode: this.getTekstKode() ? this.getTekstKode() : prosessStegTekstKode,
lovReferanse: vilkarForSteg.length > 0 ? vilkarForSteg[0].lovReferanse : undefined,
overrideReadOnly,
kanOverstyreAccess,
toggleOverstyring,
kanEndrePåSøknadsopplysninger,
featureToggles,
};
};
}

export default SoknadsfristPanelDef;
Original file line number Diff line number Diff line change
@@ -1,18 +1,26 @@
import React from 'react';

import vilkarType from '@fpsak-frontend/kodeverk/src/vilkarType';
import kodeverkTyper from '@fpsak-frontend/kodeverk/src/kodeverkTyper';
import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes';
import SoknadsfristVilkarProsessIndex from '@k9-sak-web/prosess-vilkar-soknadsfrist';
import behandlingStatus from '@fpsak-frontend/kodeverk/src/behandlingStatus';
import kodeverkTyper from '@fpsak-frontend/kodeverk/src/kodeverkTyper';
import vilkarType from '@fpsak-frontend/kodeverk/src/vilkarType';
import { ProsessStegPanelDef } from '@k9-sak-web/behandling-felles';
import { konverterKodeverkTilKode } from '@k9-sak-web/lib/kodeverk/konverterKodeverkTilKode.js';
import SoknadsfristVilkarProsessIndex from '@k9-sak-web/prosess-vilkar-soknadsfrist';
import SoknadsfristVilkarProsessIndexV2 from '@k9-sak-web/prosess-vilkar-soknadsfrist-v2';
import { OpplaeringspengerBehandlingApiKeys } from '../../../data/opplaeringspengerBehandlingApi';

class SoknadsfristPanelDef extends ProsessStegPanelDef {
getId = () => 'SOKNADSFRIST';

getTekstKode = () => 'Inngangsvilkar.Soknadsfrist';
getTekstKode = () => 'Søknadsfrist';

getKomponent = props => <SoknadsfristVilkarProsessIndex {...props} />;
getKomponent = props => {
if (props.featureToggles?.PROSESS_VILKAR_SOKNADSFRIST) {
const deepCopyProps = JSON.parse(JSON.stringify(props));
konverterKodeverkTilKode(deepCopyProps, false);
return <SoknadsfristVilkarProsessIndexV2 {...props} {...deepCopyProps} />;
}
return <SoknadsfristVilkarProsessIndex {...props} />;
};

getAksjonspunktKoder = () => [
aksjonspunktCodes.OVERSTYR_SOKNADSFRISTVILKAR,
Expand All @@ -33,15 +41,25 @@ class SoknadsfristPanelDef extends ProsessStegPanelDef {
overrideReadOnly,
kanOverstyreAccess,
toggleOverstyring,
}): any => ({
avslagsarsaker: alleKodeverk[kodeverkTyper.AVSLAGSARSAK][vilkarForSteg[0].vilkarType.kode],
erOverstyrt: overstyrteAksjonspunktKoder.some(o => this.getAksjonspunktKoder().some(a => a === o)),
panelTittelKode: this.getTekstKode() ? this.getTekstKode() : prosessStegTekstKode,
lovReferanse: vilkarForSteg.length > 0 ? vilkarForSteg[0].lovReferanse : undefined,
overrideReadOnly,
kanOverstyreAccess,
toggleOverstyring,
});
behandling,
rettigheter,
featureToggles,
}): any => {
const behandlingenErAvsluttet = behandlingStatus.AVSLUTTET === behandling.status.kode;
const kanEndrePåSøknadsopplysninger = rettigheter.writeAccess.isEnabled && !behandlingenErAvsluttet;

return {
avslagsarsaker: alleKodeverk[kodeverkTyper.AVSLAGSARSAK][vilkarForSteg[0].vilkarType.kode],
erOverstyrt: overstyrteAksjonspunktKoder.some(o => this.getAksjonspunktKoder().some(a => a === o)),
panelTittelKode: this.getTekstKode() ? this.getTekstKode() : prosessStegTekstKode,
lovReferanse: vilkarForSteg.length > 0 ? vilkarForSteg[0].lovReferanse : undefined,
overrideReadOnly,
kanOverstyreAccess,
toggleOverstyring,
kanEndrePåSøknadsopplysninger,
featureToggles,
};
};
}

export default SoknadsfristPanelDef;
Loading