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

Feature/endre slett nye pdl attributter #3506

Draft
wants to merge 11 commits into
base: master
Choose a base branch
from
Original file line number Diff line number Diff line change
Expand Up @@ -79,16 +79,51 @@ export const PdlVisning = ({
data={hentPerson}
tpsMessagingData={fagsystemData?.tpsMessaging}
tpsMessagingLoading={loading?.tpsMessaging}
pdlfData={pdlfPerson}
tmpPersoner={tmpPdlforvalter}
ident={ident}
identtype={identtype}
/>
<IdentInfo pdlResponse={hentIdenter} />
<Foedsel data={hentPerson} erPdlVisning />
<Doedsfall data={doedsfall} erPdlVisning />
<Foedsel
data={hentPerson}
pdlfData={pdlfPerson?.foedsel}
tmpPersoner={tmpPdlforvalter}
ident={ident}
erPdlVisning={miljoeVisning}
/>
<Doedsfall
data={doedsfall}
pdlfData={pdlfPerson?.doedsfall}
tmpPersoner={tmpPdlforvalter}
ident={ident}
erPdlVisning={miljoeVisning}
/>
<GeografiskTilknytning data={hentGeografiskTilknytning} />
<PdlNasjonalitet data={hentPerson} />
<PdlNasjonalitet
data={hentPerson}
pdlfData={pdlfPerson}
tmpPersoner={tmpPdlforvalter}
ident={ident}
identtype={identtype}
/>
<Telefonnummer data={telefonnummer} erPdlVisning />
<PdlVergemaal data={vergemaalEllerFremtidsfullmakt} />
<PdlFullmakt data={fullmakt} />
<PdlSikkerhetstiltak data={sikkerhetstiltak} />
<PdlFullmakt
data={fullmakt}
pdlfData={pdlfPerson?.fullmakt}
pdlfRelasjoner={fagsystemData?.pdlforvalter?.relasjoner}
tmpPersoner={tmpPdlforvalter}
ident={ident}
erPdlVisning={miljoeVisning}
/>
<PdlSikkerhetstiltak
data={sikkerhetstiltak}
pdlfData={pdlfPerson?.sikkerhetstiltak}
tmpPersoner={tmpPdlforvalter}
ident={ident}
erPdlVisning={miljoeVisning}
/>
<TilrettelagtKommunikasjon data={tilrettelagtKommunikasjon} />
<TpsMBankkonto
data={bankkontoData}
Expand Down Expand Up @@ -125,7 +160,13 @@ export const PdlVisning = ({
identtype={identtype}
erPdlVisning={miljoeVisning}
/>
<PdlRelasjoner data={hentPerson} />
<PdlRelasjoner
data={hentPerson}
pdlfData={pdlfPerson}
tmpPersoner={tmpPdlforvalter}
ident={ident}
identtype={identtype}
/>
<FalskIdentitet data={falskIdentitet} />
<UtenlandsId data={utenlandskIdentifikasjonsnummer} />
<KontaktinformasjonForDoedsbo
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import { DollyFieldArray } from '@/components/ui/form/fieldArray/DollyFieldArray
import { FullmaktData } from '@/pages/gruppe/PersonVisning/PersonMiljoeinfo/PdlDataTyper'
import { FullmaktKodeverk } from '@/config/kodeverk'
import styled from 'styled-components'
import { FullmaktVisning } from '@/components/fagsystem/pdlf/visning/partials/Fullmakt'

type Data = {
data: FullmaktData
Expand All @@ -27,30 +28,59 @@ export const Visning = ({ data }: Data) => {
?.join(', ')

return (
<>
<div className="person-visning_content">
<ErrorBoundary>
<Omraader title="Områder" value={omraader} size={'full-width'} />
<TitleValue title="Gyldig fra og med" value={formatDate(data.gyldigFraOgMed)} />
<TitleValue title="Gyldig til og med" value={formatDate(data.gyldigTilOgMed)} />
<TitleValue title="Motparts personident" value={data.motpartsPersonident} visKopier />
<TitleValue title="Motparts rolle" value={data.motpartsRolle} />
</ErrorBoundary>
</div>
</>
<div className="person-visning_content">
<ErrorBoundary>
<Omraader title="Områder" value={omraader} size={'full-width'} />
<TitleValue title="Gyldig fra og med" value={formatDate(data.gyldigFraOgMed)} />
<TitleValue title="Gyldig til og med" value={formatDate(data.gyldigTilOgMed)} />
<TitleValue title="Motparts personident" value={data.motpartsPersonident} visKopier />
<TitleValue title="Motparts rolle" value={data.motpartsRolle} />
</ErrorBoundary>
</div>
)
}

export const PdlFullmakt = ({ data }: DataListe) => {
export const PdlFullmakt = ({
data,
pdlfData,
pdlfRelasjoner,
tmpPersoner,
ident,
erPdlVisning = false,
erRedigerbar = true,
}: DataListe) => {
if (!data || data.length === 0) {
return null
}

const fullmaktRelasjoner = pdlfRelasjoner?.filter(
(relasjon) => relasjon.relasjonType === 'FULLMEKTIG',
)

return (
<div>
<SubOverskrift label="Fullmakt" iconKind="fullmakt" />
{/* @ts-ignore */}
<DollyFieldArray data={data} nested>
{(fullmakt: FullmaktData) => <Visning data={fullmakt} />}
{(fullmakt: FullmaktData, idx: number) => {
const master = fullmakt?.metadata?.master
const pdlfElement = pdlfData?.find(
(element) => element.hendelseId === fullmakt?.metadata?.opplysningsId,
)
if (erRedigerbar && master !== 'FREG') {
return (
<FullmaktVisning
fullmaktData={pdlfElement || fullmakt}
idx={idx}
data={pdlfData || data}
tmpPersoner={tmpPersoner}
ident={ident}
relasjoner={fullmaktRelasjoner}
/>
)
}
return <Visning data={fullmakt} />
}}
</DollyFieldArray>
</div>
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@ import { TpsMPersonInfo } from '@/components/fagsystem/pdl/visning/partials/tpsM
import _ from 'lodash'
import React from 'react'
import { ArrayHistorikk } from '@/components/ui/historikk/ArrayHistorikk'
import { getInitialNavn } from '@/components/fagsystem/pdlf/form/initialValues'
import { OpplysningSlettet } from '@/components/fagsystem/pdlf/visning/visningRedigerbar/OpplysningSlettet'
import VisningRedigerbarConnector from '@/components/fagsystem/pdlf/visning/visningRedigerbar/VisningRedigerbarConnector'

const getCurrentPersonstatus = (data) => {
if (data?.folkeregisterpersonstatus && data?.folkeregisterpersonstatus?.[0] !== null) {
Expand Down Expand Up @@ -36,12 +39,45 @@ const PdlNavnVisning = ({ data, showMaster }) => {
)
}

const NavnVisningRedigerbar = ({ data, idx, alleData, tmpPersoner, ident, identtype, master }) => {
const initNavn = Object.assign(_.cloneDeep(getInitialNavn()), alleData[idx])
const initialValues = { navn: initNavn }

const redigertNavnPdlf = _.get(tmpPersoner, `${ident}.person.navn`)?.find((a) => a.id === data.id)
const slettetNavnPdlf = tmpPersoner?.hasOwnProperty(ident) && !redigertNavnPdlf
if (slettetNavnPdlf) {
return <OpplysningSlettet />
}

const navnValues = redigertNavnPdlf ? redigertNavnPdlf : data
const redigertNavnValues = redigertNavnPdlf
? {
navn: Object.assign(_.cloneDeep(getInitialNavn()), redigertNavnPdlf),
}
: null
return (
<div className="person-visning_content">
<VisningRedigerbarConnector
dataVisning={<PdlNavnVisning data={navnValues} />}
initialValues={initialValues}
redigertAttributt={redigertNavnValues}
path="navn"
ident={ident}
identtype={identtype}
/>
</div>
)
}

export const PdlPersonInfo = ({
data,
tpsMessagingData,
tpsMessagingLoading = false,
visTittel = true,
pdlfData,
tmpPersoner = null,
ident,
identtype,
visTittel = true,
}) => {
if (!data) {
return null
Expand Down Expand Up @@ -82,8 +118,13 @@ export const PdlPersonInfo = ({
{(gyldigeNavn?.length > 1 || historiskeNavn?.length > 0) && (
<ArrayHistorikk
component={PdlNavnVisning}
componentRedigerbar={NavnVisningRedigerbar}
data={gyldigeNavn}
pdlfData={pdlfData?.navn}
historiskData={historiskeNavn}
tmpPersoner={tmpPersoner}
ident={ident}
identtype={identtype}
header="Navn"
showMaster={true}
/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,12 @@ import { formatDate } from '@/utils/DataFormatter'
import { ErrorBoundary } from '@/components/ui/appError/ErrorBoundary'
import { DollyFieldArray } from '@/components/ui/form/fieldArray/DollyFieldArray'
import { SikkerhetstiltakData } from '@/pages/gruppe/PersonVisning/PersonMiljoeinfo/PdlDataTyper'
import _ from 'lodash'
import { initialSikkerhetstiltak } from '@/components/fagsystem/pdlf/form/initialValues'
import { Person } from '@/components/fagsystem/pdlf/PdlTypes'
import { OpplysningSlettet } from '@/components/fagsystem/pdlf/visning/visningRedigerbar/OpplysningSlettet'
import VisningRedigerbarConnector from '@/components/fagsystem/pdlf/visning/visningRedigerbar/VisningRedigerbarConnector'
import React from 'react'

type Data = {
data: SikkerhetstiltakData
Expand All @@ -13,33 +19,104 @@ type DataListe = {
data: Array<SikkerhetstiltakData>
}

export const Visning = ({ data }: Data) => {
const SikkerhetstiltakLes = ({ data, idx }: Data) => {
return (
<>
<div className="person-visning_content">
<ErrorBoundary>
<TitleValue title="Gyldig fra og med" value={formatDate(data.gyldigFraOgMed)} />
<TitleValue title="Gyldig til og med" value={formatDate(data.gyldigTilOgMed)} />
<TitleValue title="Tiltakstype" value={data.tiltakstype} />
<TitleValue title="Beskrivelse" value={data.beskrivelse} />
<TitleValue title="Kontaktperson ident" value={data.kontaktperson.personident} />
<TitleValue title="NAV kontor" value={data.kontaktperson.enhet} />
</ErrorBoundary>
</div>
</>
<div className="person-visning_content" key={idx}>
<ErrorBoundary>
<TitleValue title="Gyldig fra og med" value={formatDate(data.gyldigFraOgMed)} />
<TitleValue title="Gyldig til og med" value={formatDate(data.gyldigTilOgMed)} />
<TitleValue title="Tiltakstype" value={data.tiltakstype} />
<TitleValue title="Beskrivelse" value={data.beskrivelse} />
<TitleValue title="Kontaktperson ident" value={data.kontaktperson.personident} />
<TitleValue title="NAV kontor" value={data.kontaktperson.enhet} />
</ErrorBoundary>
</div>
)
}

export const SikkerhetstiltakVisningRedigerbar = ({
sikkerhetstiltak,
idx,
tmpPersoner,
data,
erPdlVisning,
ident,
master,
}) => {
const initSikkerhetstiltak = Object.assign(_.cloneDeep(initialSikkerhetstiltak), data[idx])
const initialValues = { sikkerhetstiltak: initSikkerhetstiltak }

const redigertSikkerhetstiltakPdlf = _.get(tmpPersoner, `${ident}.person.sikkerhetstiltak`)?.find(
(a: Person) => a.id === sikkerhetstiltak.id,
)
const slettetSikkerhetstiltakPdlf =
tmpPersoner?.hasOwnProperty(ident) && !redigertSikkerhetstiltakPdlf
if (slettetSikkerhetstiltakPdlf) {
return <OpplysningSlettet />
}

const sikkerhetstiltakValues = redigertSikkerhetstiltakPdlf
? redigertSikkerhetstiltakPdlf
: sikkerhetstiltak
const redigertSikkerhetstiltaklValues = redigertSikkerhetstiltakPdlf
? {
sikkerhetstiltak: Object.assign(
_.cloneDeep(initSikkerhetstiltak),
redigertSikkerhetstiltakPdlf,
),
}
: null

return erPdlVisning ? (
<SikkerhetstiltakLes data={sikkerhetstiltak} idx={idx} />
) : (
<VisningRedigerbarConnector
dataVisning={<SikkerhetstiltakLes data={sikkerhetstiltakValues} idx={idx} />}
initialValues={initialValues}
redigertAttributt={redigertSikkerhetstiltaklValues}
path="sikkerhetstiltak"
ident={ident}
master={master}
/>
)
}

export const PdlSikkerhetstiltak = ({ data }: DataListe) => {
export const PdlSikkerhetstiltak = ({
data,
pdlfData,
tmpPersoner,
ident,
erPdlVisning,
}: DataListe) => {
if (!data || data.length === 0) {
return null
}

return (
<div>
<SubOverskrift label="Sikkerhetstiltak" iconKind="sikkerhetstiltak" />
{/* @ts-ignore */}
<DollyFieldArray data={data} nested>
{(sikkerhetstiltak: SikkerhetstiltakData) => <Visning data={sikkerhetstiltak} />}
{(sikkerhetstiltak: SikkerhetstiltakData, idx: number) => {
const master = sikkerhetstiltak?.metadata?.master
const pdlfElement = pdlfData?.find(
(element) => element.hendelseId === sikkerhetstiltak?.metadata?.opplysningsId,
)
if (!erPdlVisning && master !== 'FREG') {
return (
<SikkerhetstiltakVisningRedigerbar
sikkerhetstiltak={pdlfElement || sikkerhetstiltak}
idx={idx}
data={pdlfData || data}
tmpPersoner={tmpPersoner}
ident={ident}
erPdlVisning={erPdlVisning}
master={master}
/>
)
}
return <SikkerhetstiltakLes data={sikkerhetstiltak} />
}}
</DollyFieldArray>
</div>
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,16 @@ type NasjonalitetProps = {
visTittel?: boolean
}

export const PdlNasjonalitet = ({ data, visTittel = true }: NasjonalitetProps) => {
export const PdlNasjonalitet = ({
data,
pdlfData,
tmpPersoner,
ident,
identtype,
visTittel = true,
}: NasjonalitetProps) => {
const { statsborgerskap, innflyttingTilNorge, utflyttingFraNorge } = data
const statsborgerskapPdlf = pdlfData?.statsborgerskap
if (
statsborgerskap?.length < 1 &&
innflyttingTilNorge?.length < 1 &&
Expand All @@ -22,7 +30,13 @@ export const PdlNasjonalitet = ({ data, visTittel = true }: NasjonalitetProps) =
return (
<div>
{visTittel && <SubOverskrift label="Nasjonalitet" iconKind="nasjonalitet" />}
<PdlStatsborgerskap statsborgerskapListe={statsborgerskap} />
<PdlStatsborgerskap
statsborgerskapListe={statsborgerskap}
pdlfData={statsborgerskapPdlf}
tmpPersoner={tmpPersoner}
ident={ident}
identtype={identtype}
/>
<PdlInnflytting innflytting={innflyttingTilNorge} />
<PdlUtflytting utflytting={utflyttingFraNorge} />
</div>
Expand Down
Loading
Loading