From 98da8758c0067910344ec75b5955fb2a8d8a973c Mon Sep 17 00:00:00 2001 From: "Abrha K. Abrha" <116550783+abrhanav@users.noreply.github.com> Date: Tue, 21 Nov 2023 12:37:05 +0100 Subject: [PATCH] [KAIZEN-0] vis siste endret dato og kilde av kontonummer (#2082) --- .../filter/EgendefinertDatoInputs.tsx | 9 -- .../infotabs/utbetalinger/filter/Filter.tsx | 13 +- .../filter/NyEgendefinertDatoInputs.tsx | 126 ------------------ .../visittkort-v2/PersondataDomain.ts | 2 + .../VisittkortBody.test.tsx.snap | 1 - .../EndringstekstTPS.test.tsx | 85 ------------ .../bankkonto/Bankkonto.tsx | 4 +- .../bankkonto/KontoEndringstekst.tsx} | 18 +-- .../bankkonto/KontoKildeTekst.tsx | 14 ++ src/components/featureToggle/toggleIDs.ts | 1 - src/mock/persondata/aremark.ts | 4 +- src/mock/persondata/persondata.ts | 4 +- 12 files changed, 31 insertions(+), 250 deletions(-) delete mode 100644 src/app/personside/infotabs/utbetalinger/filter/NyEgendefinertDatoInputs.tsx delete mode 100644 src/app/personside/visittkort-v2/body/endringsTekstTPS/EndringstekstTPS.test.tsx rename src/app/personside/visittkort-v2/body/{endringsTekstTPS/EndringstekstTPS.tsx => kontaktinformasjon/bankkonto/KontoEndringstekst.tsx} (81%) create mode 100644 src/app/personside/visittkort-v2/body/kontaktinformasjon/bankkonto/KontoKildeTekst.tsx diff --git a/src/app/personside/infotabs/utbetalinger/filter/EgendefinertDatoInputs.tsx b/src/app/personside/infotabs/utbetalinger/filter/EgendefinertDatoInputs.tsx index ed13a95e3..a309a9139 100644 --- a/src/app/personside/infotabs/utbetalinger/filter/EgendefinertDatoInputs.tsx +++ b/src/app/personside/infotabs/utbetalinger/filter/EgendefinertDatoInputs.tsx @@ -25,10 +25,8 @@ function onDatoChange(props: Props, dato: Partial) { }); } -const tidligsteDato = dayjs().subtract(3, 'years').startOf('year'); const senesteDato: Dayjs = dayjs(); -const isoTidligsteDato = tidligsteDato.format(ISO_DATE_STRING_FORMAT); const isoSenesteDato = senesteDato.format(ISO_DATE_STRING_FORMAT); const periodeValidering = [ @@ -55,12 +53,6 @@ const periodeValidering = [ return til.isAfter(senesteDato); }, feilmelding: `Du kan ikke velge dato etter ${senesteDato.format(INPUT_DATE_STRING_FORMAT)}` - }, - { - erUgyldig(fra: Dayjs, til: Dayjs) { - return fra.isBefore(tidligsteDato); - }, - feilmelding: `Du kan ikke velge en dato før ${tidligsteDato.format(INPUT_DATE_STRING_FORMAT)}` } ]; @@ -81,7 +73,6 @@ function EgendefinertDatoInputs(props: Props) { const til = props.filter.periode.egendefinertPeriode.til; const periodeFeilmelding = getDatoFeilmelding(fra, til); const avgrensninger: DatepickerLimitations = { - minDate: isoTidligsteDato, maxDate: isoSenesteDato }; diff --git a/src/app/personside/infotabs/utbetalinger/filter/Filter.tsx b/src/app/personside/infotabs/utbetalinger/filter/Filter.tsx index 2ca66aec2..e85a5989f 100644 --- a/src/app/personside/infotabs/utbetalinger/filter/Filter.tsx +++ b/src/app/personside/infotabs/utbetalinger/filter/Filter.tsx @@ -20,10 +20,6 @@ import dayjs from 'dayjs'; import { ISO_DATE_STRING_FORMAT } from 'nav-datovelger/lib/utils/dateFormatUtils'; import MediaQueryAwareRenderer from '../../../../../components/MediaQueryAwareRenderer'; import utbetalingerResource from '../../../../../rest/resources/utbetalingerResource'; -import IfFeatureToggleOn from '../../../../../components/featureToggle/IfFeatureToggleOn'; -import { FeatureToggles } from '../../../../../components/featureToggle/toggleIDs'; -import IfFeatureToggleOff from '../../../../../components/featureToggle/IfFeatureToggleOff'; -import NyEgendefinertDatoInputs from './NyEgendefinertDatoInputs'; const FiltreringsPanel = styled(Panel)` padding: ${pxToRem(15)}; @@ -155,14 +151,7 @@ function Filtrering() { {radios} {filter.periode.radioValg === PeriodeValg.EGENDEFINERT && ( - <> - - - - - - - + )} diff --git a/src/app/personside/infotabs/utbetalinger/filter/NyEgendefinertDatoInputs.tsx b/src/app/personside/infotabs/utbetalinger/filter/NyEgendefinertDatoInputs.tsx deleted file mode 100644 index f16161e84..000000000 --- a/src/app/personside/infotabs/utbetalinger/filter/NyEgendefinertDatoInputs.tsx +++ /dev/null @@ -1,126 +0,0 @@ -import * as React from 'react'; -import { UtbetalingFilterState, FraTilDato } from '../../../../../redux/utbetalinger/types'; -import { Periode } from '../../../../../models/tid'; -import { SkjemaelementFeilmelding } from 'nav-frontend-skjema'; -import { Datepicker, isISODateString } from 'nav-datovelger'; -import dayjs, { Dayjs } from 'dayjs'; -import { INPUT_DATE_STRING_FORMAT, ISO_DATE_STRING_FORMAT } from 'nav-datovelger/lib/utils/dateFormatUtils'; -import { DatepickerLimitations } from 'nav-datovelger/lib/types'; - -interface Props { - filter: UtbetalingFilterState; - updateFilter: (change: Partial) => void; -} - -function onDatoChange(props: Props, dato: Partial) { - const newPeriode: FraTilDato = { - fra: dato.fra ?? props.filter.periode.egendefinertPeriode.fra, - til: dato.til ?? props.filter.periode.egendefinertPeriode.til - }; - props.updateFilter({ - periode: { - ...props.filter.periode, - egendefinertPeriode: newPeriode - } - }); -} - -const senesteDato: Dayjs = dayjs(); - -const isoSenesteDato = senesteDato.format(ISO_DATE_STRING_FORMAT); - -const periodeValidering = [ - { - erUgyldig(fra: Dayjs, til: Dayjs) { - return !fra.isValid(); - }, - feilmelding: 'Du må velge gyldig fra-dato. Gyldig datoformat er dd.mm.åååå' - }, - { - erUgyldig(fra: Dayjs, til: Dayjs) { - return !til.isValid(); - }, - feilmelding: 'Du må velge gyldig til-dato. Gyldig datoformat er dd.mm.åååå' - }, - { - erUgyldig(fra: Dayjs, til: Dayjs) { - return fra.isAfter(til); - }, - feilmelding: 'Fra-dato kan ikke være senere enn til-dato' - }, - { - erUgyldig(fra: Dayjs, til: Dayjs) { - return til.isAfter(senesteDato); - }, - feilmelding: `Du kan ikke velge dato etter ${senesteDato.format(INPUT_DATE_STRING_FORMAT)}` - } -]; - -function getDatoFeilmelding(fra: string, til: string) { - const fraDato = dayjs(fra, ISO_DATE_STRING_FORMAT); - const tilDato = dayjs(til, ISO_DATE_STRING_FORMAT); - const feilmelding: string | undefined = periodeValidering.find((validering) => - validering.erUgyldig(fraDato, tilDato) - )?.feilmelding; - if (feilmelding) { - return {feilmelding}; - } - return null; -} - -function NyEgendefinertDatoInputs(props: Props) { - const fra = props.filter.periode.egendefinertPeriode.fra; - const til = props.filter.periode.egendefinertPeriode.til; - const periodeFeilmelding = getDatoFeilmelding(fra, til); - const avgrensninger: DatepickerLimitations = { - maxDate: isoSenesteDato - }; - - return ( - <> - - onDatoChange(props, { fra: dato })} - inputProps={{ - name: 'Fra dato', - 'aria-invalid': fra !== '' && isISODateString(fra) === false - }} - showYearSelector={true} - limitations={avgrensninger} - dayPickerProps={{ - onMonthChange(dato: Date) { - onDatoChange(props, { - fra: dayjs(dato).format(ISO_DATE_STRING_FORMAT) - }); - } - }} - /> - - onDatoChange(props, { til: dato })} - inputProps={{ - name: 'Til dato', - 'aria-invalid': til !== '' && isISODateString(til) === false - }} - showYearSelector={true} - limitations={avgrensninger} - dayPickerProps={{ - onMonthChange(dato: Date) { - onDatoChange(props, { - til: dayjs(dato).format(ISO_DATE_STRING_FORMAT) - }); - } - }} - /> - {periodeFeilmelding} - - ); -} - -export default NyEgendefinertDatoInputs; diff --git a/src/app/personside/visittkort-v2/PersondataDomain.ts b/src/app/personside/visittkort-v2/PersondataDomain.ts index 87e45caa4..7eef68e98 100644 --- a/src/app/personside/visittkort-v2/PersondataDomain.ts +++ b/src/app/personside/visittkort-v2/PersondataDomain.ts @@ -150,12 +150,14 @@ export interface OrganisasjonSomAdressat { export interface Bankkonto { kontonummer: string; banknavn: string | null; + kilde: string | null; sistEndret: SistEndret | null; bankkode: string | null; swift: string | null; landkode: KodeBeskrivelse | null; adresse: Adresse | null; valuta: KodeBeskrivelse | null; + opprettetAv: string | null; } export interface TilrettelagtKommunikasjon { diff --git a/src/app/personside/visittkort-v2/body/__snapshots__/VisittkortBody.test.tsx.snap b/src/app/personside/visittkort-v2/body/__snapshots__/VisittkortBody.test.tsx.snap index dc165e1bb..f953951c0 100644 --- a/src/app/personside/visittkort-v2/body/__snapshots__/VisittkortBody.test.tsx.snap +++ b/src/app/personside/visittkort-v2/body/__snapshots__/VisittkortBody.test.tsx.snap @@ -733,7 +733,6 @@ exports[`viser info om bruker i visittkortbody 1`] = ` Endret 15.03.2006 - av bruker

diff --git a/src/app/personside/visittkort-v2/body/endringsTekstTPS/EndringstekstTPS.test.tsx b/src/app/personside/visittkort-v2/body/endringsTekstTPS/EndringstekstTPS.test.tsx deleted file mode 100644 index 37a3b47b0..000000000 --- a/src/app/personside/visittkort-v2/body/endringsTekstTPS/EndringstekstTPS.test.tsx +++ /dev/null @@ -1,85 +0,0 @@ -import { endretAvTekst } from './EndringstekstTPS'; - -it('Formaterer tom endretAv til ønsket visningsformat', () => { - const rawString = ''; - const formatertTekst = endretAvTekst(rawString); - - expect(formatertTekst).toEqual(''); -}); - -it('Formaterer endretAv tall + BD03 (brukerprofil-app = bruker) tekst til ønsket visningsformat', () => { - const rawString = '1010800, BD03'; - const formatertTekst = endretAvTekst(rawString); - - expect(formatertTekst).toEqual('av bruker'); -}); - -it('Formaterer endretAv tall + PP01 (PSelv-app - bruker) tekst til ønsket visningsformat', () => { - const rawString = 'Srvpsel, PP01'; - const formatertTekst = endretAvTekst(rawString); - - expect(formatertTekst).toEqual('av bruker'); -}); - -it('Formaterer endretAv ident + BD06 (modiabrukerdialog-app - NAV) tekst til ønsket visningsformat', () => { - const rawString = 'X108000, BD06'; - const formatertTekst = endretAvTekst(rawString); - - expect(formatertTekst).toEqual('av NAV'); -}); - -it('Formaterer endretAv ident (med liten bokstav) + BD06 tekst til ønsket visningsformat', () => { - const rawString = 'x108000, BD06'; - const formatertTekst = endretAvTekst(rawString); - - expect(formatertTekst).toEqual('av NAV'); -}); - -it('Formaterer endretAv gammel type ident + IT00 (Infotrygd-app - NAV) tekst til ønsket visningsformat', () => { - const rawString = 'AAH1234, IT00'; - const formatertTekst = endretAvTekst(rawString); - - expect(formatertTekst).toEqual('av NAV'); -}); - -it('Formaterer endretAv Konvert + IT00 (Infotrygd-app - NAV) tekst til ønsket visningsformat', () => { - const rawString = 'KONVERT, IT00'; - const formatertTekst = endretAvTekst(rawString); - - expect(formatertTekst).toEqual('av NAV'); -}); - -it('Formaterer endretAv ident + PP01 (modiabrukerdialog-app - NAV) tekst til ønsket visningsformat', () => { - const rawString = 'srvPensjon, PP01'; - const formatertTekst = endretAvTekst(rawString); - - expect(formatertTekst).toEqual('av NAV'); -}); - -it('Formaterer endretAv Arena, PP01 (modiabrukerdialog-app - NAV) tekst til ønsket visningsformat', () => { - const rawString = 'ARENA, PP01'; - const formatertTekst = endretAvTekst(rawString); - - expect(formatertTekst).toEqual('av NAV'); -}); - -it('Formaterer endretAv ident + FS21 (Gosys-app - NAV) tekst til ønsket visningsformat', () => { - const rawString = 'X108001, FS21'; - const formatertTekst = endretAvTekst(rawString); - - expect(formatertTekst).toEqual('av NAV'); -}); - -it('Formaterer endretAv tekst + SKD (Skatt/Folkeregisteret) tekst til ønsket visningsformat', () => { - const rawString = 'AJOURHD, SKD'; - const formatertTekst = endretAvTekst(rawString); - - expect(formatertTekst).toEqual('i Folkeregisteret'); -}); - -it('Formaterer endretAv tekst + SKD (Skatt/Folkeregisteret) tekst til ønsket visningsformat', () => { - const rawString = 'AAA2101, SKD'; - const formatertTekst = endretAvTekst(rawString); - - expect(formatertTekst).toEqual('av Skatteetaten'); -}); diff --git a/src/app/personside/visittkort-v2/body/kontaktinformasjon/bankkonto/Bankkonto.tsx b/src/app/personside/visittkort-v2/body/kontaktinformasjon/bankkonto/Bankkonto.tsx index 36296fd8a..ab3c6d6ac 100644 --- a/src/app/personside/visittkort-v2/body/kontaktinformasjon/bankkonto/Bankkonto.tsx +++ b/src/app/personside/visittkort-v2/body/kontaktinformasjon/bankkonto/Bankkonto.tsx @@ -4,7 +4,7 @@ import CoinsIkon from '../../../../../../svg/Coins'; import { Feilmelding, Normaltekst } from 'nav-frontend-typografi'; import { FormatertKontonummer } from '../../../../../../utils/FormatertKontonummer'; import { Bankkonto as BankkontoInterface } from '../../../PersondataDomain'; -import EndringstekstTPS from '../../endringsTekstTPS/EndringstekstTPS'; +import KontoEndringsTekst from './KontoEndringstekst'; interface Props { harFeilendeSystem: boolean; @@ -38,7 +38,7 @@ function Bankkonto({ harFeilendeSystem, bankkonto }: Props) { - + ); } diff --git a/src/app/personside/visittkort-v2/body/endringsTekstTPS/EndringstekstTPS.tsx b/src/app/personside/visittkort-v2/body/kontaktinformasjon/bankkonto/KontoEndringstekst.tsx similarity index 81% rename from src/app/personside/visittkort-v2/body/endringsTekstTPS/EndringstekstTPS.tsx rename to src/app/personside/visittkort-v2/body/kontaktinformasjon/bankkonto/KontoEndringstekst.tsx index 4d7c099ee..1f4b95db8 100644 --- a/src/app/personside/visittkort-v2/body/endringsTekstTPS/EndringstekstTPS.tsx +++ b/src/app/personside/visittkort-v2/body/kontaktinformasjon/bankkonto/KontoEndringstekst.tsx @@ -1,26 +1,20 @@ import * as React from 'react'; -import EtikettGraa from '../../../../../components/EtikettGraa'; -import { formaterDato } from '../../../../../utils/string-utils'; -import { SistEndret } from '../../PersondataDomain'; +import EtikettGraa from '../../../../../../components/EtikettGraa'; +import { formaterDato } from '../../../../../../utils/string-utils'; +import { SistEndret } from '../../../PersondataDomain'; interface Props { sistEndret: SistEndret | null; } -function EndringstekstTPS({ sistEndret }: Props) { +function KontoEndringsTekst({ sistEndret }: Props) { if (!sistEndret) { return null; } const formatertdato = formaterDato(new Date(sistEndret.tidspunkt)); - const endretAv = endretAvTekst(sistEndret.ident); - - return ( - - Endret {formatertdato} {endretAv} - - ); + return Endret {formatertdato} ; } -export default EndringstekstTPS; +export default KontoEndringsTekst; const FOLKEREGISTERET = 'SKD'; diff --git a/src/app/personside/visittkort-v2/body/kontaktinformasjon/bankkonto/KontoKildeTekst.tsx b/src/app/personside/visittkort-v2/body/kontaktinformasjon/bankkonto/KontoKildeTekst.tsx new file mode 100644 index 000000000..14783ed0b --- /dev/null +++ b/src/app/personside/visittkort-v2/body/kontaktinformasjon/bankkonto/KontoKildeTekst.tsx @@ -0,0 +1,14 @@ +import * as React from 'react'; +import EtikettGraa from '../../../../../../components/EtikettGraa'; + +interface Props { + kilde: string | null; +} +function KontoKildeekst({ kilde }: Props) { + if (!kilde) { + return null; + } + + return Kilde {kilde}; +} +export default KontoKildeekst; diff --git a/src/components/featureToggle/toggleIDs.ts b/src/components/featureToggle/toggleIDs.ts index 30c7eedee..1e893c700 100644 --- a/src/components/featureToggle/toggleIDs.ts +++ b/src/components/featureToggle/toggleIDs.ts @@ -1,6 +1,5 @@ export enum FeatureToggles { BrukSoknadsstatus = 'modiapersonoversikt.soknadsstatus-api', - BrukUtvidetUtbetalingsSporring = 'modiapersonoversikt.utvidet-utbetalings-sporring', BrukWebworkerPaaInnLogging = 'modiapersonoversikt.web-worker-paa-innlogging', DebugMeldingsFunksjonalitet = 'modiapersonoversikt.ny-send-melding-container' } diff --git a/src/mock/persondata/aremark.ts b/src/mock/persondata/aremark.ts index e26f4dc51..05092211b 100644 --- a/src/mock/persondata/aremark.ts +++ b/src/mock/persondata/aremark.ts @@ -455,6 +455,7 @@ export const aremark: Person = { bankkonto: { kontonummer: '12345678900', banknavn: 'DNB ASA', + kilde: 'Kontoregister', sistEndret: { ident: '1010800 BD03', tidspunkt: '2006-03-15T00:00:00' as LocalDateTime, @@ -475,7 +476,8 @@ export const aremark: Person = { valuta: { kode: 'NOK', beskrivelse: 'Norske kroner' - } + }, + opprettetAv: '1010800 BD03' }, forelderBarnRelasjon: hentBarnAremark() }; diff --git a/src/mock/persondata/persondata.ts b/src/mock/persondata/persondata.ts index 9b9547f70..939e93147 100644 --- a/src/mock/persondata/persondata.ts +++ b/src/mock/persondata/persondata.ts @@ -431,6 +431,7 @@ export function lagPerson(fnr: string): Person { bankkonto: { kontonummer: '12345678910', banknavn: 'DNB ASA', + kilde: '', sistEndret: { ident: '1010800 BD03', tidspunkt: '2006-03-15T00:00:00' as LocalDateTime, @@ -451,7 +452,8 @@ export function lagPerson(fnr: string): Person { valuta: { kode: 'NOK', beskrivelse: 'Norske kroner' - } + }, + opprettetAv: '1010800 BD03' }, forelderBarnRelasjon: forelderBarnMock };