Skip to content

Commit

Permalink
Fikser noen småting med språkvalg aktivitetspliktbrev (#6471)
Browse files Browse the repository at this point in the history
* Fikser visning av valgt språk / redigering av brevvalg

* Fikser tittel for språkene i aktivitetspliktbrev

* Oppretter også brevet med tilpasset tittel

* Vis advarsel kun hvis det er opprettet brev
  • Loading branch information
oyvindsh authored Nov 27, 2024
1 parent 25bf846 commit 02d0d21
Show file tree
Hide file tree
Showing 7 changed files with 86 additions and 19 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -193,6 +193,10 @@ class BrevService(
// Oppdater språket hvis nødvendig, _før_ vi henter data basert på språket til brevet
if (brev.spraak != spraak) {
db.oppdaterSpraak(brevId, spraak, bruker)
val tittel = parametre.brevkode.titlerPaaSpraak[spraak]
if (tittel != null) {
db.oppdaterTittel(brevId, tittel, bruker)
}
}
val innhold =
brevoppretter.hentNyttInnhold(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,11 @@ class InnholdTilRedigerbartBrevHenter(
utlandstilknytningType = generellBrevData.utlandstilknytning?.type,
revurderingsaarsak = generellBrevData.revurderingsaarsak,
behandlingId = behandlingId,
erForeldreloes = erForeldreloes(generellBrevData.personerISak.soeker, generellBrevData.personerISak.avdoede),
erForeldreloes =
erForeldreloes(
generellBrevData.personerISak.soeker,
generellBrevData.personerISak.avdoede,
),
loependeIPesys =
loependeIPesys(
generellBrevData.systemkilde,
Expand Down Expand Up @@ -104,7 +108,11 @@ class InnholdTilRedigerbartBrevHenter(
brevData = brevData,
avsender =
adresseService.hentAvsender(
opprettAvsenderRequest(bruker, generellBrevData.forenkletVedtak, generellBrevData.sak.enhet),
opprettAvsenderRequest(
bruker,
generellBrevData.forenkletVedtak,
generellBrevData.sak.enhet,
),
bruker,
),
soekerOgEventuellVerge = generellBrevData.personerISak.soekerOgEventuellVerge(),
Expand Down Expand Up @@ -137,7 +145,12 @@ class InnholdTilRedigerbartBrevHenter(
sakType = generellBrevData.sak.sakType,
enhet = generellBrevData.sak.enhet,
personerISak = generellBrevData.personerISak,
innhold = BrevInnhold(brevKode.tittel, generellBrevData.spraak, innhold.await()),
innhold =
BrevInnhold(
brevKode.titlerPaaSpraak[generellBrevData.spraak] ?: brevKode.tittel,
generellBrevData.spraak,
innhold.await(),
),
innholdVedlegg = innholdVedlegg.await(),
brevkode = brevKode,
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,8 +67,8 @@ export function Aktivitetspliktbrev({ brevId }: { brevId: number }) {
<BrevSpraak brev={brev} kanRedigeres={false} />
{kanRedigeres && (
<Alert size="small" variant="info">
For å endre målform i brevet må det endres på forrige steg. Endring i brevdata vil fjerne alt innhold
i brevet.
For å endre målform i brevet må det endres på forrige steg. Endring i brevvalg vil nullstille
innholdet i brevet.
</Alert>
)}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
import { Box, Button, Heading, HStack, Radio, VStack } from '@navikt/ds-react'
import { Alert, Box, Button, Heading, HStack, Radio, VStack } from '@navikt/ds-react'
import React, { useEffect, useState } from 'react'
import { JaNei, JaNeiRec } from '~shared/types/ISvar'
import { JaNei, JaNeiRec, mapBooleanToJaNei } from '~shared/types/ISvar'
import { useForm } from 'react-hook-form'
import { useApiCall } from '~shared/hooks/useApiCall'
import {
IBrevAktivitetspliktDto,
IBrevAktivitetspliktRequest,
lagreAktivitetspliktBrevdata,
opprettAktivitetspliktsbrev,
Expand All @@ -22,6 +23,7 @@ import { isPending, mapFailure } from '~shared/api/apiUtils'
import { ApiErrorAlert } from '~ErrorBoundary'
import { handlinger } from '~components/behandling/handlinger/typer'
import { Spraak } from '~shared/types/Brev'
import { formaterSpraak } from '~utils/formatering/formatering'

interface IBrevAktivitetsplikt {
skalSendeBrev: JaNei
Expand All @@ -30,6 +32,15 @@ interface IBrevAktivitetsplikt {
spraak?: Spraak
}

function mapFromDto(brevdata: IBrevAktivitetspliktDto): Partial<IBrevAktivitetsplikt> {
return {
skalSendeBrev: mapBooleanToJaNei(brevdata.skalSendeBrev),
utbetaling: mapBooleanToJaNei(brevdata.utbetaling),
redusertEtterInntekt: mapBooleanToJaNei(brevdata.redusertEtterInntekt),
spraak: brevdata.spraak,
}
}

function mapToDto(brevdata: IBrevAktivitetsplikt): IBrevAktivitetspliktRequest {
return {
skalSendeBrev: brevdata.skalSendeBrev === JaNei.JA,
Expand All @@ -41,7 +52,7 @@ function mapToDto(brevdata: IBrevAktivitetsplikt): IBrevAktivitetspliktRequest {

export const ValgForInfobrev = () => {
const { oppgave, aktivtetspliktbrevdata } = useAktivitetspliktOppgaveVurdering()
const { handleSubmit, watch, control, resetField } = useForm<IBrevAktivitetsplikt>({})
const { handleSubmit, watch, control, resetField, reset } = useForm<IBrevAktivitetsplikt>({})

const dispatch = useDispatch()
const [lagrebrevdataStatus, lagrebrevdata, tilbakestillApiResult] = useApiCall(lagreAktivitetspliktBrevdata)
Expand All @@ -60,6 +71,12 @@ export const ValgForInfobrev = () => {
)
}

useEffect(() => {
if (redigeres && !!aktivtetspliktbrevdata) {
reset(mapFromDto(aktivtetspliktbrevdata))
}
}, [redigeres])

const skalsendebrev = watch('skalSendeBrev')

useEffect(() => {
Expand Down Expand Up @@ -161,22 +178,28 @@ export const ValgForInfobrev = () => {
label="Redusert etter inntekt"
tekst={brevdata.redusertEtterInntekt ? JaNeiRec.JA : JaNeiRec.NEI}
/>
<Info label="Målform" tekst={brevdata.spraak ? formaterSpraak(brevdata.spraak) : '-'} />
</>
)}
</HStack>
)}
{erOppgaveRedigerbar(oppgave.status) && (
<Box>
<Button
type="button"
size="small"
icon={<PencilIcon />}
variant="secondary"
onClick={() => setRedigeres(true)}
>
Rediger
</Button>
</Box>
<>
<Box>
<Button
type="button"
size="small"
icon={<PencilIcon />}
variant="secondary"
onClick={() => setRedigeres(true)}
>
Rediger
</Button>
</Box>
{aktivtetspliktbrevdata?.brevId && (
<Alert variant="info">Hvis valgene redigeres vil innholdet i brevet tilbakestilles.</Alert>
)}
</>
)}
</VStack>
)}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -163,5 +163,6 @@ export interface IBrevAktivitetspliktDto {
skalSendeBrev: boolean
utbetaling?: boolean
redusertEtterInntekt?: boolean
spraak?: Spraak
kilde: KildeSaksbehandler
}
12 changes: 12 additions & 0 deletions apps/etterlatte-saksbehandling-ui/client/src/shared/types/ISvar.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
import { hasValue } from '~components/behandling/felles/utils'

export enum ISvar {
JA = 'JA',
NEI = 'NEI',
Expand All @@ -13,3 +15,13 @@ export const JaNeiRec: Record<JaNei, string> = {
[JaNei.JA]: 'Ja',
[JaNei.NEI]: 'Nei',
} as const

export const mapBooleanToJaNei = (value: boolean | null | undefined): JaNei | undefined => {
if (!hasValue(value)) {
return undefined
} else if (value) {
return JaNei.JA
} else {
return JaNei.NEI
}
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package no.nav.etterlatte.brev

import no.nav.etterlatte.brev.model.Spraak
import no.nav.etterlatte.libs.common.feilhaandtering.checkInternFeil

/*
Expand All @@ -19,6 +20,7 @@ enum class Brevkoder(
val ferdigstilling: EtterlatteBrevKode,
val tittel: String,
val brevtype: Brevtype,
val titlerPaaSpraak: Map<Spraak, String> = emptyMap(),
) {
OMREGNING(
EtterlatteBrevKode.BARNEPENSJON_VEDTAK_OMREGNING,
Expand Down Expand Up @@ -155,12 +157,24 @@ enum class Brevkoder(
EtterlatteBrevKode.TOM_MAL_INFORMASJONSBREV,
"Informasjon om aktivitetsplikt for omstillingsstønad",
Brevtype.INFORMASJON,
titlerPaaSpraak =
mapOf(
Spraak.NB to "Informasjon om aktivitetsplikt for omstillingsstønad",
Spraak.NN to "Informasjon om aktivitetsplikt for omstillingsstønad",
Spraak.EN to "Information about the activity requirement for adjustment allowance",
),
),
OMSTILLINGSSTOENAD_AKTIVITETSPLIKT_INFORMASJON_10MND_INNHOLD(
EtterlatteBrevKode.OMSTILLINGSSTOENAD_AKTIVITETSPLIKT_INFORMASJON_10MND_INNHOLD,
EtterlatteBrevKode.TOM_MAL_INFORMASJONSBREV,
"Informasjon om aktivitetsplikt for omstillingsstønad",
Brevtype.INFORMASJON,
titlerPaaSpraak =
mapOf(
Spraak.NB to "Informasjon om aktivitetsplikt for omstillingsstønad",
Spraak.NN to "Informasjon om aktivitetsplikt for omstillingsstønad",
Spraak.EN to "Information about the activity requirement for adjustment allowance",
),
),
OMSTILLINGSSTOENAD_AKTIVITETSPLIKT_INFORMASJON_6MND_INNHOLD(
EtterlatteBrevKode.OMSTILLINGSSTOENAD_AKTIVITETSPLIKT_INFORMASJON_6MND_INNHOLD,
Expand Down

0 comments on commit 02d0d21

Please sign in to comment.