Skip to content

Commit

Permalink
debugger med
Browse files Browse the repository at this point in the history
  • Loading branch information
d142796 committed Jan 16, 2025
1 parent 828b2be commit 6b0065c
Showing 1 changed file with 147 additions and 1 deletion.
148 changes: 147 additions & 1 deletion src/OpprettAvtale/OpprettAvtaleVeileder/OpprettAvtaleVeileder.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,153 @@ export enum Avtalerolle {
}

const OpprettAvtaleVeileder: FunctionComponent = () => {
return <div className={cls.className}>Opprett Avtale som Veileder</div>;
const [deltakerFnr, setDeltakerFnr] = useState<string>('');
const [mentorFnr, setMentorFnr] = useState<string>('');
const [ugyldigAvtaletype, setUgyldigAvtaletype] = useState<boolean>(false);
const [bedriftNr, setBedriftNr] = useState<string>('');
const [bedriftNavn, setBedriftNavn] = useState<string>('');
const [valgtTiltaksType, setTiltaksType] = useState<TiltaksType | undefined>();
const [modalIsOpen, setModalIsOpen] = useState<boolean>(false);
const { alleredeRegistrertAvtale, setAlleredeRegistrertAvtale } = useContext(AlleredeOpprettetAvtaleContext);
const { arbeidstreningReadonly } = useFeatureToggles();
const visVarsel = useContext(FeilVarselContext);

const navigate = useNavigate();

const [deltakerFnrFeil, setDeltakerFnrFeil, validerDeltakerFnr] = useValidering(
deltakerFnr,
validatorer('Deltaker', mentorFnr),
);
const [mentorFnrFeil, setMentorFnrFeil, validerMentorFnr] = useValidering(
mentorFnr,
validatorer('Mentor', deltakerFnr),
);

const [bedriftNrFeil, setBedriftNrFeil, validerBedriftNr] = useValidering(bedriftNr, [
(verdi) => {
if (!verdi) return 'Virksomhetsnummer er påkrevd';
},
(verdi) => {
if (!validerOrgnr(verdi)) return 'Ugyldig virksomhetsnummer';
},
]);

const orgnrOnChange = (event: ChangeEvent<HTMLInputElement>): void => {
const verdi = event.target.value.replace(/\D/g, '');
if (/^\d{0,9}$/.test(verdi)) {
setBedriftNr(verdi);
setBedriftNrFeil(undefined);
setBedriftNavn('');
}
};

const orgnrOnBlur = (): void => {
if (validerBedriftNr()) {
hentBedriftBrreg(bedriftNr)
.then((response) => {
setBedriftNavn(response.bedriftNavn);
setBedriftNrFeil(undefined);
})
.catch((error) => {
setBedriftNavn('');
handterFeil(error, (feilmelding) => setBedriftNrFeil(feilmelding));
})
.catch((error: Error) => {
setBedriftNrFeil('Det oppstod en uventet feil');
console.error(
`Det oppstod en uventet feil ved henting av virksomhetsnummer ${
bedriftNr ? bedriftNr : ''
} med feilmelding: `,
error,
);
});
} else {
setBedriftNavn('');
}
};

const setFeilmelding = (melding: Feilkode) => {
if (melding === 'SOMMERJOBB_FOR_GAMMEL') {
setDeltakerFnrFeil(Feilmeldinger.SOMMERJOBB_FOR_GAMMEL);
}
};

const opprettAvtaleKlikk = async () => {
let valgtAvtaleType = false;
let feilDeltakerFNR = '';
let feilBedriftNr = '';
let feilMentorFNR = '';

if (!valgtTiltaksType) {
valgtAvtaleType = true;
}
if (!validerFnr(deltakerFnr)) {
feilDeltakerFNR = Feilmeldinger.UGYLDIG_FØDSELSNUMMER;
}
if (!validerOrgnr(bedriftNr)) {
feilBedriftNr = Feilmeldinger.UGYLDIG_VIRKSOMHETSNUMMER;
}
if (!validerMentorFnr()) {
feilMentorFNR = Feilmeldinger.UGYLDIG_FØDSELSNUMMER;
}
if (feilBedriftNr.length === 0 && feilDeltakerFNR.length === 0 && valgtTiltaksType) {
if (valgtTiltaksType === 'MENTOR') {
if (deltakerFnr !== mentorFnr && feilMentorFNR.length === 0) {
const mentorAvtale = await opprettMentorAvtale(
deltakerFnr,
mentorFnr,
bedriftNr,
valgtTiltaksType,
Avtalerolle.VEILEDER,
);
amplitude.logEvent('#tiltak-avtale-opprettet', { tiltakstype: valgtTiltaksType });
navigate(generatePath(Path.AVTALE_STEG, { avtaleId: mentorAvtale.id, steg: 'kontaktinformasjon' }));
return;
}
return;
}
const avtale = await opprettAvtaleSomVeileder(deltakerFnr, bedriftNr, valgtTiltaksType);
amplitude.logEvent('#tiltak-avtale-opprettet', { tiltakstype: valgtTiltaksType });
navigate(generatePath(Path.AVTALE_STEG, { avtaleId: avtale.id, steg: 'kontaktinformasjon' }));
return;
}

setUgyldigAvtaletype(valgtAvtaleType);
setBedriftNrFeil(feilBedriftNr);
setDeltakerFnrFeil(feilDeltakerFNR);
};

const sjekkOmAvtaleErOpprettet = async () => {
if (deltakerFnr.length === 11 && bedriftNr.length === 9 && valgtTiltaksType) {
try {
const listeAvtalerDeltakerAlleredeRegistrert: AlleredeRegistrertAvtale[] | [] =
await sjekkOmDeltakerAlleredeErRegistrertPaaTiltak(deltakerFnr, valgtTiltaksType, null, null, null);
if (listeAvtalerDeltakerAlleredeRegistrert.length > 0) {
setAlleredeRegistrertAvtale({
...alleredeRegistrertAvtale,
avtaler: listeAvtalerDeltakerAlleredeRegistrert,
deltaker: deltakerFnr,
});
}
} catch (error) {
console.error(error);
}
}
};

useEffect(() => {
sjekkOmAvtaleErOpprettet();
// eslint-disable-next-line
}, [valgtTiltaksType, deltakerFnr, bedriftNr]);

return (
<div className={cls.className}>
<Dokumenttittel tittel="Opprett avtale" />
<Heading size="large" className={cls.element('innholdstittel')}>
Opprett avtale
</Heading>
</div>
);
};

export default OpprettAvtaleVeileder;

0 comments on commit 6b0065c

Please sign in to comment.