-
Notifications
You must be signed in to change notification settings - Fork 1
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
Utbedre tildel oppgave - preprod #2868
The head ref may contain hidden characters: "dr\u00F8ye-sjekk-tildel-oppgave"
Changes from all commits
593e40c
43ed03d
48d829d
a723300
ae2deaf
a475915
f40afb9
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
import React, { useEffect } from 'react'; | ||
import React, { useEffect, useState } from 'react'; | ||
import { useHentOppgave } from '../../../App/hooks/useHentOppgave'; | ||
import { Alert, Button } from '@navikt/ds-react'; | ||
import { useOppgave } from '../../../App/hooks/useOppgave'; | ||
|
@@ -9,6 +9,8 @@ import { useApp } from '../../../App/context/AppContext'; | |
import { useToggles } from '../../../App/context/TogglesContext'; | ||
import { ToggleName } from '../../../App/context/toggles'; | ||
import { Behandling, BehandlingResultat } from '../../../App/typer/fagsak'; | ||
import { useNavigate } from 'react-router-dom'; | ||
import { useBehandling } from '../../../App/context/BehandlingContext'; | ||
|
||
const Container = styled.div` | ||
border: 1px solid ${ABorderSubtle}; | ||
|
@@ -24,9 +26,18 @@ const Container = styled.div` | |
const TildelOppgave: React.FC<{ behandling: Behandling }> = ({ behandling }) => { | ||
const { id: behandlingId, resultat, opprettet } = behandling; | ||
const { innloggetSaksbehandler } = useApp(); | ||
const { hentOppgave, oppgave, laster, feilmelding } = useHentOppgave(behandlingId); | ||
const { | ||
hentOppgave, | ||
oppgave, | ||
laster, | ||
feilmelding: feilmeldingOppgave, | ||
} = useHentOppgave(behandlingId); | ||
const { settOppgaveTilSaksbehandler } = useOppgave(oppgave); | ||
const { toggles } = useToggles(); | ||
const navigate = useNavigate(); | ||
const [harTildetOppgave, settHarTildetOppgave] = React.useState<boolean>(false); | ||
const [feilmelding, settFeilmelding] = useState<string>(''); | ||
const { hentAnsvarligSaksbehandler } = useBehandling(); | ||
|
||
const erTilordnetOgInnloggetSaksbehandlerDenSamme = | ||
oppgave?.tilordnetRessurs === innloggetSaksbehandler.navIdent; | ||
|
@@ -35,21 +46,31 @@ const TildelOppgave: React.FC<{ behandling: Behandling }> = ({ behandling }) => | |
resultat === BehandlingResultat.IKKE_SATT || resultat === BehandlingResultat.AVSLÅTT; | ||
|
||
const handleTildelOppgave = () => { | ||
settOppgaveTilSaksbehandler(); | ||
window.location.reload(); | ||
settFeilmelding(''); | ||
settOppgaveTilSaksbehandler() | ||
.then(() => { | ||
hentAnsvarligSaksbehandler.rerun(); | ||
settHarTildetOppgave(true); | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Hvorfor trengs denne? Burde ikke There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Den er nødvendig fordi erTilordnetOgInnloggetSaksbehandlerDenSamme ikke blir oppdatert med engang - det finnes sikkert andre måter å gjøre det på, men syntes at denne var enklest. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Skjønner, tenkte ikke over den... |
||
navigate(`/behandling/${behandlingId}/arsak-revurdering`); | ||
}) | ||
.catch((error) => { | ||
settFeilmelding(error.message); | ||
}); | ||
}; | ||
|
||
const sjekkOmDetHarGåttMistTiSekunderSidenBehandlingBleOpprettet = ( | ||
const sjekkOmDetHarGåttMistEttMinuttSidenBehandlingenBleOpprettet = ( | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Hvorfor trenger vi denne sjekken? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Når en behandling har blitt opprettet tar det litt tid før ansvarlig saksbehandler blir satt - derfor er ikke sjekken med ansvarlig alltid nok. |
||
opprettet: string | ||
): boolean => { | ||
const opprettetDate = new Date(opprettet); | ||
const nå = new Date(); | ||
const tiSekunder = 10 * 1000; | ||
return nå.getTime() - opprettetDate.getTime() > tiSekunder; | ||
const ettMinutt = 60 * 1000; | ||
return nå.getTime() - opprettetDate.getTime() > ettMinutt; | ||
}; | ||
|
||
const erBehandlingOpprettetForMerEnnTiSekunderSiden = | ||
sjekkOmDetHarGåttMistTiSekunderSidenBehandlingBleOpprettet(opprettet); | ||
const erBehandlingOpprettetForMerEnnEttMinuttSiden = | ||
sjekkOmDetHarGåttMistEttMinuttSidenBehandlingenBleOpprettet(opprettet); | ||
|
||
const samletFeilmelding = feilmelding || feilmeldingOppgave; | ||
|
||
useEffect(() => { | ||
if (erBehandlingFortsattAktiv) { | ||
|
@@ -58,11 +79,12 @@ const TildelOppgave: React.FC<{ behandling: Behandling }> = ({ behandling }) => | |
}, [behandlingId, erBehandlingFortsattAktiv, hentOppgave]); | ||
|
||
if ( | ||
harTildetOppgave || | ||
erIkkeTogglet || | ||
laster || | ||
erTilordnetOgInnloggetSaksbehandlerDenSamme || | ||
!erBehandlingFortsattAktiv || | ||
!erBehandlingOpprettetForMerEnnTiSekunderSiden | ||
!erBehandlingOpprettetForMerEnnEttMinuttSiden | ||
) { | ||
return null; | ||
} | ||
|
@@ -73,9 +95,9 @@ const TildelOppgave: React.FC<{ behandling: Behandling }> = ({ behandling }) => | |
<Button size="small" onClick={handleTildelOppgave}> | ||
Tildel oppgave | ||
</Button> | ||
{feilmelding && ( | ||
{samletFeilmelding && ( | ||
<Alert size="small" variant={'error'}> | ||
{feilmelding} | ||
{samletFeilmelding} | ||
</Alert> | ||
)} | ||
</Container> | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍