Skip to content

Commit

Permalink
Merge branch 'master' of https://github.com/navikt/testnorge into fea…
Browse files Browse the repository at this point in the history
…ture/bestillingsvisning-omskrivning
  • Loading branch information
betsytraran committed Dec 9, 2024
2 parents f44e80b + dc688e5 commit 8a4aa2d
Show file tree
Hide file tree
Showing 50 changed files with 815 additions and 538 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -1587,7 +1587,7 @@ const mapBrregstub = (bestillingData, data) => {
obj('Rolle', enhet.rolle),
obj('Registreringsdato', formatDate(enhet.registreringsdato)),
obj('Organisasjonsnummer', enhet.orgNr),
obj('Foretaksnavn', enhet.foretaksNavn.navn1),
obj('Foretaksnavn', enhet.foretaksNavn?.navn1),
obj('Antall registrerte personroller', enhet.personroller && enhet.personroller?.length),
])
})
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -404,6 +404,7 @@ PersoninformasjonPanel.initialValues = ({ set, opts, setMulti, del, has }) => {
set('fullmakt', [
{
...initialFullmakt,
nyFullmektig: initialPdlPerson,
master: identMaster === 'PDL' || identtype === 'NPID' ? 'PDL' : 'FREG',
},
])
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import { ArbeidsforholdForm } from '@/components/fagsystem/aareg/form/partials/a
import React from 'react'
import { useDollyFasteDataOrganisasjoner, useOrganisasjoner } from '@/utils/hooks/useOrganisasjoner'
import { useCurrentBruker } from '@/utils/hooks/useBruker'
import { getEgneOrganisasjoner } from '@/components/fagsystem/brregstub/form/partials/EgneOrganisasjoner'
import { getEgneOrganisasjoner } from '@/utils/EgneOrganisasjoner'

export const aaregAttributt = 'aareg'

Expand Down
Original file line number Diff line number Diff line change
@@ -1,21 +1,22 @@
import React, { useContext, useEffect, useState } from 'react'
import styled from 'styled-components'
import { Alert, ToggleGroup } from '@navikt/ds-react'
import { ToggleGroup } from '@navikt/ds-react'
import { initialArbeidsgiverOrg, initialArbeidsgiverPers } from '../initialValues'
import { ArbeidsgiverTyper } from '@/components/fagsystem/aareg/AaregTypes'
import { useFormContext } from 'react-hook-form'
import { EgneOrganisasjoner } from '@/components/fagsystem/brregstub/form/partials/EgneOrganisasjoner'
import { EgneOrganisasjoner } from '@/utils/EgneOrganisasjoner'
import Loading from '@/components/ui/loading/Loading'
import { OrganisasjonMedArbeidsforholdSelect } from '@/components/organisasjonSelect'
import { FormTextInput } from '@/components/ui/form/inputs/textInput/TextInput'
import { ArbeidsgiverIdent } from '@/components/fagsystem/aareg/form/partials/arbeidsgiverIdent'
import _ from 'lodash'
import { BestillingsveilederContext } from '@/components/bestillingsveileder/BestillingsveilederContext'
import { hentAaregEksisterendeData } from '@/components/fagsystem/aareg/form/utils'
import { arbeidsgiverToggleValues } from '@/utils/OrgUtils'

const ToggleArbeidsgiver = styled(ToggleGroup)`
display: grid;
grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
background-color: #ffffff;
`

const DisabledToggleArbeidsgiver = styled(ToggleGroup)`
Expand Down Expand Up @@ -44,10 +45,6 @@ const DisabledToggleArbeidsgiver = styled(ToggleGroup)`
}
`

const StyledAlert = styled(Alert)`
margin-top: 10px;
`

type ArbeidsforholdToggleProps = {
path: string
idx: number
Expand Down Expand Up @@ -99,26 +96,7 @@ export const ArbeidsforholdToggle = ({

useEffect(() => {
setTypeArbeidsgiver(getArbeidsgiverType())
}, [fasteOrganisasjoner, brukerOrganisasjoner])

const toggleValues = [
{
value: ArbeidsgiverTyper.egen,
label: 'Egen organisasjon',
},
{
value: ArbeidsgiverTyper.felles,
label: 'Felles organisasjoner',
},
{
value: ArbeidsgiverTyper.fritekst,
label: 'Skriv inn org.nr.',
},
{
value: ArbeidsgiverTyper.privat,
label: 'Privat arbeidsgiver',
},
]
}, [fasteOrganisasjoner, brukerOrganisasjoner, formMethods.watch('aareg')?.length])

const handleToggleChange = (value: ArbeidsgiverTyper) => {
setTypeArbeidsgiver(value)
Expand All @@ -127,38 +105,10 @@ export const ArbeidsforholdToggle = ({
} else {
formMethods.resetField(`${path}.arbeidsgiver`, { defaultValue: initialArbeidsgiverOrg })
}
formMethods.clearErrors(`manual.${path}.arbeidsgiver`)
formMethods.clearErrors(`${path}.arbeidsgiver`)
}

const checkAktiveArbeidsforhold = () => {
const aaregValues = formMethods.getValues('aareg')
const aktiveArbeidsforhold = aaregValues?.map((arbeidsforhold: any) => {
const orgnummer = arbeidsforhold?.arbeidsgiver?.orgnummer
if (!arbeidsforhold?.ansettelsesPeriode?.sluttaarsak) {
return orgnummer
}
})
const dupliserteAktiveArbeidsforhold = aktiveArbeidsforhold
.filter(
(arbeidsforhold: any, index: number) =>
index !== aktiveArbeidsforhold.indexOf(arbeidsforhold),
)
.filter((arbeidsforhold: any) => !_.isEmpty(arbeidsforhold))
if (!_.isEmpty(dupliserteAktiveArbeidsforhold)) {
formMethods.setError(`manual.${path}.arbeidsgiver.orgnummer`, {
message: `Identen har allerede pågående arbeidsforhold i org: ${dupliserteAktiveArbeidsforhold.toString()}`,
})
}
}

const warningMessage = (
<StyledAlert variant={'warning'}>
Du har ingen egne organisasjoner, og kan derfor ikke sende inn A-meldinger for person. For å
lage dine egne organisasjoner trykk {<a href="/organisasjoner">her</a>}. For å opprette person
med arbeidsforhold i felles organisasjoner eller andre arbeidsgivere, velg en annen kategori
ovenfor.
</StyledAlert>
)

if (loadingOrganisasjoner) {
return <Loading label="Laster organisasjoner ..." />
}
Expand All @@ -178,7 +128,7 @@ export const ArbeidsforholdToggle = ({
key={idx}
title={'Kan ikke endre arbeidsgivertype på eksisterende arbeidsforhold'}
>
{toggleValues.map((type) => (
{arbeidsgiverToggleValues.map((type) => (
<ToggleGroup.Item key={type.value} value={type.value}>
{type.label}
</ToggleGroup.Item>
Expand All @@ -193,33 +143,34 @@ export const ArbeidsforholdToggle = ({
fill
key={idx}
>
{toggleValues.map((type) => (
{arbeidsgiverToggleValues.map((type) => (
<ToggleGroup.Item key={type.value} value={type.value}>
{type.label}
</ToggleGroup.Item>
))}
</ToggleArbeidsgiver>
)}
<div className="flexbox--full-width">
{typeArbeidsgiver === ArbeidsgiverTyper.egen && (
<div className="flex-box" title={title}>
<EgneOrganisasjoner
{typeArbeidsgiver === ArbeidsgiverTyper.felles && (
<div title={title}>
<OrganisasjonMedArbeidsforholdSelect
path={`${path}.arbeidsgiver.orgnummer`}
handleChange={(selected: any) =>
formMethods.setValue(`${path}.arbeidsgiver.orgnummer`, selected?.value)
}
warningMessage={warningMessage}
filterValidEnhetstyper={true}
label={'Organisasjonsnummer'}
isDisabled={erLaastArbeidsforhold}
placeholder={'Velg organisasjon ...'}
/>
</div>
)}
{typeArbeidsgiver === ArbeidsgiverTyper.felles && (
<div title={title}>
<OrganisasjonMedArbeidsforholdSelect
{typeArbeidsgiver === ArbeidsgiverTyper.egen && (
<div className="flex-box" title={title}>
<EgneOrganisasjoner
path={`${path}.arbeidsgiver.orgnummer`}
label={'Organisasjonsnummer'}
afterChange={() => checkAktiveArbeidsforhold()}
handleChange={(selected: any) => {
formMethods.setValue(`${path}.arbeidsgiver.orgnummer`, selected?.value)
formMethods.clearErrors(`manual.${path}.arbeidsgiver`)
formMethods.clearErrors(`${path}.arbeidsgiver`)
}}
filterValidEnhetstyper={true}
isDisabled={erLaastArbeidsforhold}
/>
</div>
Expand All @@ -229,7 +180,6 @@ export const ArbeidsforholdToggle = ({
name={`${path}.arbeidsgiver.orgnummer`}
label={'Organisasjonsnummer'}
size="xlarge"
onBlur={() => checkAktiveArbeidsforhold()}
defaultValue={formMethods.watch(`${path}.arbeidsgiver.orgnummer`)}
isDisabled={erLaastArbeidsforhold}
title={title}
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import { SelectOptionsOppslag } from '@/service/SelectOptionsOppslag'
import { PersonrollerForm } from '@/components/fagsystem/brregstub/form/partials/personrollerForm'
import { OrgnrToggle } from '@/components/fagsystem/brregstub/form/partials/orgnrToggle'
import { SelectOptionsFormat } from '@/service/SelectOptionsFormat'
import React from 'react'

const initialValues = {
rolle: '',
Expand Down Expand Up @@ -47,7 +48,6 @@ export const EnheterForm = ({ formMethods }) => {
} else if (currentValues.hasOwnProperty('postAdresse')) {
delete currentValues['postAdresse']
}

formMethods.setValue(path, currentValues)
formMethods.trigger(path)
}
Expand All @@ -60,7 +60,7 @@ export const EnheterForm = ({ formMethods }) => {
canBeEmpty={false}
>
{(path) => (
<>
<React.Fragment key={path}>
<FormSelect
name={`${path}.rolle`}
label="Rolle"
Expand All @@ -72,7 +72,7 @@ export const EnheterForm = ({ formMethods }) => {
<FormDatepicker name={`${path}.registreringsdato`} label="Registreringsdato" />
<OrgnrToggle path={path} formMethods={formMethods} setEnhetsinfo={setEnhetsinfo} />
<PersonrollerForm formMethods={formMethods} path={path} />
</>
</React.Fragment>
)}
</FormDollyFieldArray>
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,19 +32,22 @@ export const OrganisasjonTextSelect = ({
setEnhetsinfo,
}: OrgnanisasjonTextSelectProps) => {
const formMethods = useFormContext()
const [error, setError] = useState(null)
const [success, setSuccess] = useBoolean(false)
const [loading, setLoading] = useBoolean(false)
const [environment, setEnvironment] = useState(null)
const [orgnummer, setOrgnummer] = useState(formMethods.watch(path) || null)

const parentPath = path.substring(0, path.lastIndexOf('.'))

const handleChange = (org: string, miljoe: string) => {
if (!org || !miljoe) {
formMethods.setError(`manual.${path}`, { message: !org ? 'Skriv inn org' : 'Velg miljø' })
return
}
setError(null)
formMethods.clearErrors(`manual.${path}`)
formMethods.clearErrors(path)
setLoading(true)
setSuccess(false)
formMethods.setValue(`${parentPath}.organisasjonMiljoe`, miljoe)
OrgserviceApi.getOrganisasjonInfo(org, miljoe)
.then((response) => {
const orgInfo = {
Expand All @@ -54,34 +57,33 @@ export const OrganisasjonTextSelect = ({
forretningsAdresse: mapAdresse(response.data.forretningsadresser),
postAdresse: mapAdresse(response.data.postadresse),
}
setEnhetsinfo(orgInfo, path)
setEnhetsinfo(orgInfo, parentPath)
setLoading(false)
setSuccess(true)
})
.catch(() => {
setLoading(false)
setError('Fant ikke organisasjonen i ' + miljoe)
formMethods.setError(`manual.${path}`, { message: 'Fant ikke organisasjonen i ' + miljoe })
})
}

return (
<OrganisasjonMedMiljoeSelect
path={path}
environment={environment}
parentPath={parentPath}
miljoeOptions={aktiveMiljoer}
error={error}
success={success}
loading={loading}
onTextBlur={(event) => {
if (!_.isEmpty(event?.target?.value)) {
setOrgnummer(event.target.value)
handleChange(event.target.value, environment)
handleChange(event.target.value, formMethods.watch(`${parentPath}.organisasjonMiljoe`))
}
}}
onMiljoeChange={(event) => {
setEnvironment(event.value)
handleChange(orgnummer, event.value)
}}
formMethods={formMethods}
/>
)
}
Loading

0 comments on commit 8a4aa2d

Please sign in to comment.