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
};