Skip to content

Commit

Permalink
Bestillingsvisning kontaktinfo for doedsbo
Browse files Browse the repository at this point in the history
  • Loading branch information
betsytraran committed Aug 22, 2024
1 parent cfd97b8 commit 325f02b
Show file tree
Hide file tree
Showing 4 changed files with 185 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ import { DoedfoedtBarn } from '@/components/fagsystem/pdlf/bestilling/partials/D
import { FalskIdentitet } from '@/components/fagsystem/pdlf/bestilling/partials/FalskIdentitet'
import { UtenlandskIdent } from '@/components/fagsystem/pdlf/bestilling/partials/UtenlandskIdent'
import { NyIdentitet } from '@/components/fagsystem/pdlf/bestilling/partials/NyIdentitet'
import { KontaktinformasjonForDoedsbo } from '@/components/fagsystem/pdlf/bestilling/partials/KontaktinformasjonForDoedsbo'

export const BestillingTitle = styled.h4`
margin: 5px 0 15px 0;
Expand Down Expand Up @@ -98,6 +99,9 @@ export const Bestillingsdata = ({ bestilling }: any) => {
utenlandskIdentListe={bestilling.pdldata?.person?.utenlandskIdentifikasjonsnummer}
/>
<NyIdentitet nyIdentitetListe={bestilling.pdldata?.person?.nyident} />
<KontaktinformasjonForDoedsbo
kontaktinformasjonForDoedsboListe={bestilling.pdldata?.person?.kontaktinformasjonForDoedsbo}
/>
</>
)
}
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ export type PersonUtenIdData = {
statsborgerskap: string
}

type Navn = {
export type Navn = {
fornavn: string
mellomnavn: string
etternavn: string
Expand Down Expand Up @@ -246,6 +246,47 @@ export type UtenlandskIdentData = {
opphoert: boolean
}

export type KontaktinformasjonForDoedsboData = {
skifteform: string
attestutstedelsesdato: string
kontaktType: string
adresse?: {
adresselinje1: string
adresselinje2: string
postnummer: string
poststedsnavn: string
landkode: string
}
advokatSomKontakt?: {
organisasjonsnummer: string
organisasjonsnavn: string
kontaktperson: Navn
}
organisasjonSomKontakt?: {
organisasjonsnummer: string
organisasjonsnavn: string
kontaktperson: Navn
}
personSomKontakt?: {
identifikasjonsnummer?: string
foedsalsdato?: string
navn?: Navn
nyKontaktperson?: {
identtype: string
kjoenn: string
foedtEtter: string
foedtFoer: string
alder: string
syntetisk: string
nyttNavn: {
hasMellomnavn: boolean
}
statsborgerskapLandkode: string
gradering: string
}
}
}

export type SelectedValue = {
value: string
label: string
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,138 @@
import { KontaktinformasjonForDoedsboData, Navn } from '@/components/fagsystem/pdlf/PdlTypes'
import { ErrorBoundary } from '@/components/ui/appError/ErrorBoundary'
import { BestillingTitle } from '@/components/bestilling/sammendrag/Bestillingsdata'
import { DollyFieldArray } from '@/components/ui/form/fieldArray/DollyFieldArray'
import React from 'react'
import { TitleValue } from '@/components/ui/titleValue/TitleValue'
import { formatDate, showKodeverkLabel, showLabel } from '@/utils/DataFormatter'
import { AdresseKodeverk } from '@/config/kodeverk'
import { EkspanderbarVisning } from '@/components/bestilling/sammendrag/visning/EkspanderbarVisning'
import { RelatertPerson } from '@/components/bestilling/sammendrag/visning/RelatertPerson'
import _get from 'lodash/get'

type KontaktinformasjonForDoedsboTypes = {
kontaktinformasjonForDoedsboListe: Array<KontaktinformasjonForDoedsboData>
}

export const KontaktinformasjonForDoedsbo = ({
kontaktinformasjonForDoedsboListe,
}: KontaktinformasjonForDoedsboTypes) => {
if (!kontaktinformasjonForDoedsboListe || kontaktinformasjonForDoedsboListe.length < 1) {
return null
}

const getKontaktperson = (kontaktperson: Navn) => {
return (
<>
<TitleValue title="Kontaktperson fornavn" value={kontaktperson?.fornavn} />
<TitleValue title="Kontaktperson mellomnavn" value={kontaktperson?.mellomnavn} />
<TitleValue title="Kontaktperson etternavn" value={kontaktperson?.etternavn} />
</>
)
}

return (
<div className="person-visning">
<ErrorBoundary>
<BestillingTitle>Kontaktinformasjon for dødsbo</BestillingTitle>
<DollyFieldArray
header="Kontaktinformasjon for dødsbo"
data={kontaktinformasjonForDoedsboListe}
>
{(kontaktinformasjonForDoedsbo: KontaktinformasjonForDoedsboData, idx: number) => {
const { advokatSomKontakt, organisasjonSomKontakt, personSomKontakt, adresse } =
kontaktinformasjonForDoedsbo

const getKontakttype = () => {
if (advokatSomKontakt) {
return 'Advokat'
} else if (personSomKontakt) {
return 'Person'
} else if (organisasjonSomKontakt) {
return 'Organisasjon'
} else return null
}

return (
<React.Fragment key={idx}>
<TitleValue title="Skifteform" value={kontaktinformasjonForDoedsbo.skifteform} />
<TitleValue
title="Utstedelsesdato skifteattest"
value={formatDate(kontaktinformasjonForDoedsbo.attestutstedelsesdato)}
/>
<TitleValue
title="Kontakttype"
value={
kontaktinformasjonForDoedsbo.kontaktType
? showLabel('kontaktType', kontaktinformasjonForDoedsbo.kontaktType)
: getKontakttype()
}
/>
{advokatSomKontakt && (
<>
<TitleValue
title="Organisasjonsnummer"
value={advokatSomKontakt.organisasjonsnummer}
/>
<TitleValue
title="Organisasjonsnavn"
value={advokatSomKontakt.organisasjonsnavn}
/>
{getKontaktperson(advokatSomKontakt.kontaktperson)}
</>
)}
{organisasjonSomKontakt && (
<>
<TitleValue
title="Organisasjonsnummer"
value={organisasjonSomKontakt.organisasjonsnummer}
/>
<TitleValue
title="Organisasjonsnavn"
value={organisasjonSomKontakt.organisasjonsnavn}
/>
{getKontaktperson(organisasjonSomKontakt.kontaktperson)}
</>
)}
{personSomKontakt && (
<>
<TitleValue
title="Identifikasjonsnummer"
value={personSomKontakt.identifikasjonsnummer}
/>
<TitleValue
title="Fødselsdato"
value={formatDate(personSomKontakt.foedsalsdato)}
/>
{getKontaktperson(personSomKontakt.navn)}
</>
)}
<TitleValue
title="Land"
value={showKodeverkLabel(AdresseKodeverk.PostadresseLand, adresse?.landkode)}
/>
<TitleValue title="Adresselinje 1" value={adresse?.adresselinje1} />
<TitleValue title="Adresselinje 2" value={adresse?.adresselinje2} />
<TitleValue
title="Postnummer og -sted"
value={
(adresse?.postnummer || adresse?.poststedsnavn) &&
`${adresse?.postnummer} ${adresse?.poststedsnavn}`
}
/>
{personSomKontakt?.nyKontaktperson && (
<EkspanderbarVisning
vis={_get(personSomKontakt, 'nyKontaktperson')}
header="NY KONTAKTPERSON"
>
<RelatertPerson personData={personSomKontakt.nyKontaktperson} />
</EkspanderbarVisning>
)}
</React.Fragment>
)
}}
</DollyFieldArray>
</ErrorBoundary>
</div>
)
}
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ export const Adresse = ({ formMethods, path }) => {
return (
<div className="flexbox--full-width">
{visAdresse ? (
<Button onClick={setSkjulAdresse} kind="collapse">
<Button onClick={setSkjulAdresse} kind="chevron-up">
SKJUL ADRESSE-VALG
</Button>
) : (
Expand Down

0 comments on commit 325f02b

Please sign in to comment.