Skip to content

Commit

Permalink
Legger til knapp for tildeling i oppgavebenk
Browse files Browse the repository at this point in the history
Tilpasser Journalpost og Dokument typer til å matche endringer i backend.
Fjerner en del ubrukte felter og endrer konsekvent ID -> Id
  • Loading branch information
matsbyfl committed Nov 27, 2024
1 parent b40e6d7 commit 86cef2d
Show file tree
Hide file tree
Showing 27 changed files with 176 additions and 215 deletions.
2 changes: 1 addition & 1 deletion client/src/App.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ function App() {
}
/>
<Route
path="/oppgaveliste/dokumenter/:journalpostID"
path="/oppgaveliste/dokumenter/:journalpostId"
element={
<RequireAuth>
<Helmet title="Hotsak - Journalføring" />
Expand Down
6 changes: 3 additions & 3 deletions client/src/dokument/DokumentContext.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ import { Brevtype, Ressurs } from '../types/types.internal'
import { byggTomRessurs } from '../io/ressursFunksjoner'

interface ValgtDokumentType {
journalpostID: string
dokumentID: string
journalpostId: string
dokumentId: string
}

interface DokumentContextType {
Expand All @@ -18,7 +18,7 @@ interface DokumentContextType {
}

const initialState: DokumentContextType = {
valgtDokument: { journalpostID: '', dokumentID: '' },
valgtDokument: { journalpostId: '', dokumentId: '' },
setValgtDokument() {},
hentetDokument: byggTomRessurs<string>(),
settHentetDokument() {},
Expand Down
8 changes: 4 additions & 4 deletions client/src/dokument/DokumentPanel.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,13 @@ export function DokumentPanel() {
const { hentetDokument, hentForhåndsvisning, isPdfError } = useDokument()
const { valgtDokument } = useDokumentContext()

const { journalpostID, dokumentID } = valgtDokument
const { journalpostId, dokumentId } = valgtDokument

useEffect(() => {
if (journalpostID && dokumentID) {
hentForhåndsvisning(journalpostID, dokumentID)
if (journalpostId && dokumentId) {
hentForhåndsvisning(journalpostId, dokumentId)
}
}, [journalpostID, dokumentID, hentForhåndsvisning])
}, [journalpostId, dokumentId, hentForhåndsvisning])

if (isPdfError) {
return (
Expand Down
8 changes: 4 additions & 4 deletions client/src/dokument/DokumentVelger.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,15 @@ import type { Dokument } from '../types/types.internal'

export interface DokumentVelgerProps {
dokument: Dokument
valgtDokumentID: string
valgtDokumentId: string
onClick(): void
}

export function DokumentVelger({ dokument, valgtDokumentID, onClick }: DokumentVelgerProps) {
export function DokumentVelger({ dokument, valgtDokumentId, onClick }: DokumentVelgerProps) {
return (
<Table.Row>
<Table.DataCell>
{dokument.dokumentID === valgtDokumentID ? (
{dokument.dokumentId === valgtDokumentId ? (
<Etikett>
<Link
href="#"
Expand Down Expand Up @@ -44,7 +44,7 @@ export function DokumentVelger({ dokument, valgtDokumentID, onClick }: DokumentV
<Table.DataCell style={{ width: '50px' }}>
<BodyShort size="large">
<Tooltip content="Åpne i ny fane">
<Link href={`/api/journalpost/${dokument.journalpostID}/${dokument.dokumentID}`} target="_blank">
<Link href={`/api/journalpost/${dokument.journalpostId}/${dokument.dokumentId}`} target="_blank">
<ExternalLinkIcon title="Åpne i ny fane" />
</Link>
</Tooltip>
Expand Down
6 changes: 3 additions & 3 deletions client/src/dokument/Dokumenter.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,11 @@ export function Dokumenter(props: DokumenterProps) {
<Table.Body>
{dokumenter.map((dokument) => (
<DokumentVelger
key={dokument.dokumentID}
valgtDokumentID={valgtDokument.dokumentID}
key={dokument.dokumentId}
valgtDokumentId={valgtDokument.dokumentId}
dokument={dokument}
onClick={() => {
setValgtDokument({ journalpostID: dokument.journalpostID, dokumentID: dokument.dokumentID })
setValgtDokument({ journalpostId: dokument.journalpostId, dokumentId: dokument.dokumentId })
}}
/>
))}
Expand Down
6 changes: 3 additions & 3 deletions client/src/dokument/useDokument.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import { byggDataRessurs, byggFeiletRessurs, byggHenterRessurs, byggTomRessurs }

export interface DokumentResponse {
isPdfError: any
hentForhåndsvisning: (journalpostID: string, dokumentID: string) => any
hentForhåndsvisning: (journalpostId: string, dokumentId: string) => any
nullstillDokument: () => any
hentetDokument: any
settHentetDokument: any
Expand All @@ -22,11 +22,11 @@ export function useDokument(): DokumentResponse {
settHentetDokument(byggTomRessurs)
}

const hentForhåndsvisning = useCallback((valgtJournalpostID: string, dokumentID: string) => {
const hentForhåndsvisning = useCallback((valgtJournalpostId: string, dokumentId: string) => {
settHentetDokument(byggHenterRessurs())
setIsPdfError(null)

const pdfResponse = httpGetPdf(`${journalpostBasePath}/${valgtJournalpostID}/${dokumentID}`)
const pdfResponse = httpGetPdf(`${journalpostBasePath}/${valgtJournalpostId}/${dokumentId}`)

pdfResponse
.then((response: PDFResponse) => {
Expand Down
2 changes: 1 addition & 1 deletion client/src/io/http.ts
Original file line number Diff line number Diff line change
Expand Up @@ -198,7 +198,7 @@ export const postJournalføringStartet = async (oppgaveId: string) => {
}

export const postJournalføring = async (journalføringRequest: JournalføringRequest) => {
return post(`${baseUrl}/api/journalpost/${journalføringRequest.journalpostID}/journalforing`, journalføringRequest)
return post(`${baseUrl}/api/journalpost/${journalføringRequest.journalpostId}/journalforing`, journalføringRequest)
}

export const postVilkårsvurdering = async (vurderVilkårRequest: VurderVilkårRequest) => {
Expand Down
10 changes: 5 additions & 5 deletions client/src/journalføring/JournalpostSkjema.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@ import { formaterNavn } from '../utils/formater'

export function JournalpostSkjema() {
const navigate = useNavigate()
const { journalpostID } = useParams<{ journalpostID: string }>()
const { journalpost, /*isError,*/ isLoading, mutate } = useJournalpost(journalpostID)
const { journalpostId } = useParams<{ journalpostId: string }>()
const { journalpost, /*isError,*/ isLoading, mutate } = useJournalpost(journalpostId)
const { fodselsnummer, setFodselsnummer } = usePersonContext()
const [valgtEksisterendeSakId, setValgtEksisterendeSakId] = useState('')
const [journalføresPåFnr, setJournalføresPåFnr] = useState('')
Expand All @@ -35,7 +35,7 @@ export function JournalpostSkjema() {

const journalfør = () => {
const journalføringRequest: JournalføringRequest = {
journalpostID: journalpost!.journalpostID,
journalpostId: journalpost!.journalpostId,
tittel: journalpostTittel,
journalføresPåFnr: fodselsnummer,
sakId: valgtEksisterendeSakId !== '' ? valgtEksisterendeSakId : undefined,
Expand Down Expand Up @@ -65,9 +65,9 @@ export function JournalpostSkjema() {
return (
<Container>
<ManuellJournalføringKnapp
oppgaveId={oppgave.id}
oppgaveId={oppgave.oppgaveId}
status={oppgave.oppgavestatus}
tildeltSaksbehandler={journalpost?.saksbehandler}
tildeltSaksbehandler={journalpost?.oppgave.tildeltSaksbehandler}
onMutate={mutate}
/>
<Heading level="1" size="small" spacing>
Expand Down
27 changes: 13 additions & 14 deletions client/src/journalføring/JournalpostVisning.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -12,15 +12,15 @@ import { usePersonContext } from '../personoversikt/PersonContext'
import { usePerson } from '../personoversikt/usePerson'
import { useJournalpost } from '../saksbilde/useJournalpost'
import { useInnloggetSaksbehandler } from '../state/authentication'
import { DokumentOppgaveStatusType } from '../types/types.internal'
import { DokumentIkkeTildelt } from '../oppgaveliste/dokumenter/DokumentIkkeTildelt'
import { Dokumenter } from '../dokument/Dokumenter'
import { ManuellJournalføringKnapp } from './ManuellJournalføringKnapp'
import { formaterNavn } from '../utils/formater'
import { Oppgavestatus } from '../types/types.internal'

export function JournalpostVisning() {
const { journalpostID } = useParams<{ journalpostID: string }>()
const { journalpost, /*isError,*/ isLoading, mutate } = useJournalpost(journalpostID)
const { journalpostId } = useParams<{ journalpostId: string }>()
const { journalpost, /*isError,*/ isLoading, mutate } = useJournalpost(journalpostId)
const { fodselsnummer } = usePersonContext()
const { isLoading: henterPerson, personInfo } = usePerson(fodselsnummer)
const saksbehandler = useInnloggetSaksbehandler()
Expand All @@ -35,23 +35,22 @@ export function JournalpostVisning() {

const oppgave = journalpost!.oppgave

const tildeltAnnenSaksbehandler = journalpost?.saksbehandler?.id !== saksbehandler.id
const tildeltAnnenSaksbehandler = oppgave?.tildeltSaksbehandler?.id !== saksbehandler.id

function StatusVisning() {
if (!journalpost) return <></>
else if (journalpost.status === DokumentOppgaveStatusType.TILDELT_SAKSBEHANDLER && tildeltAnnenSaksbehandler) {
return <Brødtekst>{`Oppgaven er tildelt saksbehandler ${journalpost.saksbehandler?.navn}`}</Brødtekst>
} else if (
journalpost.status === DokumentOppgaveStatusType.AVVENTER_JOURNALFØRING ||
journalpost.status === DokumentOppgaveStatusType.JOURNALFØRT
) {
else if (oppgave.oppgavestatus === Oppgavestatus.UNDER_BEHANDLING && tildeltAnnenSaksbehandler) {
return (
<Brødtekst>{`Oppgaven er tildelt saksbehandler ${formaterNavn(oppgave.tildeltSaksbehandler?.navn)}`}</Brødtekst>
)
} else if (oppgave.oppgavestatus === Oppgavestatus.FERDIGSTILT) {
return <SkjemaAlert variant="info">Journalposten er sendt til journalføring</SkjemaAlert>
} else {
return (
<Knappepanel>
<DokumentIkkeTildelt
oppgaveId={journalpost.oppgave.id}
journalpostID={journalpost.journalpostID}
oppgaveId={journalpost.oppgave.oppgaveId}
journalpostId={journalpost.journalpostId}
gåTilSak={false}
/>
</Knappepanel>
Expand All @@ -62,9 +61,9 @@ export function JournalpostVisning() {
return (
<Container>
<ManuellJournalføringKnapp
oppgaveId={oppgave.id}
oppgaveId={oppgave.oppgaveId}
status={oppgave.oppgavestatus}
tildeltSaksbehandler={journalpost?.saksbehandler}
tildeltSaksbehandler={oppgave?.tildeltSaksbehandler}
onMutate={mutate}
/>
<Heading level="1" size="small" spacing>
Expand Down
24 changes: 12 additions & 12 deletions client/src/journalføring/ManuellJournalføring.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,32 +4,32 @@ import styled from 'styled-components'

import { HStack, Loader } from '@navikt/ds-react'
import { headerHøydeRem } from '../GlobalStyles'
import { useDokumentContext } from '../dokument/DokumentContext'
import { DokumentPanel } from '../dokument/DokumentPanel'
import { Avstand } from '../felleskomponenter/Avstand'
import { Feilmelding } from '../felleskomponenter/feil/Feilmelding'
import { PersonFeilmelding } from '../felleskomponenter/feil/PersonFeilmelding'
import { Etikett } from '../felleskomponenter/typografi'
import { usePersonContext } from '../personoversikt/PersonContext'
import { usePerson } from '../personoversikt/usePerson'
import { Personlinje } from '../saksbilde/Personlinje'
import { useJournalpost } from '../saksbilde/useJournalpost'
import { useInnloggetSaksbehandler } from '../state/authentication'
import { DokumentOppgaveStatusType } from '../types/types.internal'
import { useDokumentContext } from '../dokument/DokumentContext'
import { DokumentPanel } from '../dokument/DokumentPanel'
import { Oppgavestatus } from '../types/types.internal'
import { JournalpostSkjema } from './JournalpostSkjema'
import { JournalpostVisning } from './JournalpostVisning'
import { PersonFeilmelding } from '../felleskomponenter/feil/PersonFeilmelding'

export function ManuellJournalføring() {
const { journalpostID } = useParams<{ journalpostID: string }>()
const { journalpost, isError, isLoading } = useJournalpost(journalpostID)
const { journalpostId } = useParams<{ journalpostId: string }>()
const { journalpost, isError, isLoading } = useJournalpost(journalpostId)
const { setValgtDokument } = useDokumentContext()
const { fodselsnummer, setFodselsnummer } = usePersonContext()
const saksbehandler = useInnloggetSaksbehandler()
const { personInfo, isLoading: personInfoLoading, isError: personInfoError } = usePerson(fodselsnummer)

const journalpostTildeltSaksbehandler =
journalpost?.status === DokumentOppgaveStatusType.TILDELT_SAKSBEHANDLER &&
journalpost.saksbehandler?.id === saksbehandler.id
journalpost?.oppgave.oppgavestatus === Oppgavestatus.UNDER_BEHANDLING &&
journalpost?.oppgave.tildeltSaksbehandler?.id === saksbehandler.id

const dokumenter = journalpost?.dokumenter

Expand All @@ -40,17 +40,17 @@ export function ManuellJournalføring() {
}, [journalpost?.fnrInnsender, setFodselsnummer])

useEffect(() => {
if (journalpostID && dokumenter && dokumenter.length > 0) {
if (journalpostId && dokumenter && dokumenter.length > 0) {
const førsteDokment = dokumenter[0]
setValgtDokument({ journalpostID, dokumentID: førsteDokment.dokumentID })
setValgtDokument({ journalpostId, dokumentId: førsteDokment.dokumentId })
}
}, [journalpostID, dokumenter, setValgtDokument])
}, [journalpostId, dokumenter, setValgtDokument])

if (isError) {
if (isError?.statusCode === 403) {
return <Feilmelding>Du har ikke tilgang til å se denne journalposten.</Feilmelding>
} else if (isError?.statusCode === 404) {
return <Feilmelding>Journalpost {journalpostID} ikke funnet.</Feilmelding>
return <Feilmelding>Journalpost {journalpostId} ikke funnet.</Feilmelding>
} else {
return <Feilmelding>Teknisk feil. Klarte ikke å hente journalposten.</Feilmelding>
}
Expand Down
10 changes: 5 additions & 5 deletions client/src/mocks/data/BarnebrillesakStore.ts
Original file line number Diff line number Diff line change
Expand Up @@ -203,7 +203,7 @@ export class BarnebrillesakStore extends Dexie {
return this.saker.bulkAdd(
saker.map((sak) => ({
...sak,
journalposter: [journalposter[0].journalpostID],
journalposter: [journalposter[0].journalpostId],
})),
{ allKeys: true }
)
Expand Down Expand Up @@ -487,7 +487,7 @@ export class BarnebrillesakStore extends Dexie {
async opprettSak(journalføring: JournalføringRequest) {
const sak = lagBarnebrillesak(this.idGenerator.nesteId())
sak.bruker.fnr = journalføring.journalføresPåFnr
sak.journalposter = [journalføring.journalpostID]
sak.journalposter = [journalføring.journalpostId]
return this.saker.add(sak)
}

Expand All @@ -505,7 +505,7 @@ export class BarnebrillesakStore extends Dexie {
}

const eksisterendeJournalposter = eksisterendeSak.journalposter
this.saker.update(sakId, { journalposter: [...eksisterendeJournalposter, journalføring.journalpostID] })
this.saker.update(sakId, { journalposter: [...eksisterendeJournalposter, journalføring.journalpostId] })
}

async lagreNotat(sakId: string, type: 'INTERNT', innhold: string) {
Expand Down Expand Up @@ -549,12 +549,12 @@ export class BarnebrillesakStore extends Dexie {
const dokumentId = (await this.saksdokumenter.count()) + 1
this.saksdokumenter.add({
sakId: sakId,
journalpostID: '12345678',
journalpostId: '12345678',
type: SaksdokumentType.UTGÅENDE,
brevkode: Brevkode.INNHENTE_OPPLYSNINGER_BARNEBRILLER,
opprettet: new Date().toISOString(),
saksbehandler: saksbehandler,
dokumentID: dokumentId.toString(),
dokumentId: dokumentId.toString(),
tittel: tittel,
})
}
Expand Down
Loading

0 comments on commit 86cef2d

Please sign in to comment.