Skip to content

Commit

Permalink
feat(j-s): Display connected indictment case files (#15526)
Browse files Browse the repository at this point in the history
* feat(j-s): Infocard for court for merged cases

* Update InfoCardActiveIndictment.tsx

* Update InfoCardActiveIndictment.tsx

* feat(j-s): CaseFiles for connected cases

* chore: nx format:write update dirty files

* Update apps/judicial-system/web/src/routes/Court/Indictments/Overview/Overview.tsx

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* fix(j-s): Linting

* Update case.service.ts

---------

Co-authored-by: andes-it <builders@andes.is>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: Guðjón Guðjónsson <gudjon@kolibri.is>
  • Loading branch information
4 people authored and oskarjs committed Aug 20, 2024
1 parent 4b37d94 commit 0a4e2ac
Show file tree
Hide file tree
Showing 7 changed files with 79 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -311,7 +311,18 @@ export const include: Includeable[] = [
model: CaseFile,
as: 'caseFiles',
required: false,
where: { state: { [Op.not]: CaseFileState.DELETED }, category: null },
where: {
state: { [Op.not]: CaseFileState.DELETED },
category: {
[Op.in]: [
CaseFileCategory.INDICTMENT,
CaseFileCategory.COURT_RECORD,
CaseFileCategory.CRIMINAL_RECORD,
CaseFileCategory.COST_BREAKDOWN,
CaseFileCategory.CRIMINAL_RECORD_UPDATE,
],
},
},
separate: true,
},
{ model: Institution, as: 'court' },
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
import { defineMessages } from 'react-intl'

export const strings = defineMessages({
heading: {
id: 'judicial.system.core:connected_case_files_accordion.heading',
defaultMessage: 'Gögn úr máli {caseNumber}',
description:
'Notaður sem titill fyrir gögn úr sameinuðu ákærumáli á dómara skjá',
},
})
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
import React, { FC } from 'react'
import { useIntl } from 'react-intl'

import { AccordionItem } from '@island.is/island-ui/core'
import { IndictmentCaseFilesList } from '@island.is/judicial-system-web/src/components'
import { Case } from '@island.is/judicial-system-web/src/graphql/schema'

import { strings } from './ConnectedCaseFilesAccordionItem.strings'

interface Props {
connectedCase: Case
}

const ConnectedCaseFilesAccordionItem: FC<Props> = ({ connectedCase }) => {
const { formatMessage } = useIntl()
const { caseFiles, courtCaseNumber } = connectedCase

if (!courtCaseNumber || !caseFiles || caseFiles.length < 1) {
return null
}

return (
<AccordionItem
id="connectedCaseFiles"
labelVariant="h3"
label={formatMessage(strings.heading, {
caseNumber: connectedCase.courtCaseNumber,
})}
>
<IndictmentCaseFilesList
workingCase={connectedCase}
displayHeading={false}
/>
</AccordionItem>
)
}

export default ConnectedCaseFilesAccordionItem
Original file line number Diff line number Diff line change
Expand Up @@ -275,6 +275,7 @@ query Case($input: CaseQueryInput!) {
mergedCases {
id
courtCaseNumber
type
court {
id
name
Expand All @@ -301,6 +302,7 @@ query Case($input: CaseQueryInput!) {
state
key
size
category
}
policeCaseNumbers
indictmentSubtypes
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ import { strings } from './IndictmentCaseFilesList.strings'

interface Props {
workingCase: Case
displayHeading?: boolean
}

interface RenderFilesProps {
Expand Down Expand Up @@ -57,7 +58,10 @@ export const RenderFiles: FC<Props & RenderFilesProps> = ({
)
}

const IndictmentCaseFilesList: FC<Props> = ({ workingCase }) => {
const IndictmentCaseFilesList: FC<Props> = ({
workingCase,
displayHeading = true,
}) => {
const { formatMessage } = useIntl()
const { user } = useContext(UserContext)
const { onOpen, fileNotFound, dismissFileNotFound } = useFileList({
Expand Down Expand Up @@ -93,7 +97,9 @@ const IndictmentCaseFilesList: FC<Props> = ({ workingCase }) => {

return (
<>
<SectionHeading title={formatMessage(strings.title)} />
{displayHeading && (
<SectionHeading title={formatMessage(strings.title)} />
)}
{indictments && indictments.length > 0 && (
<Box marginBottom={5}>
<Text variant="h4" as="h4" marginBottom={1}>
Expand Down
1 change: 1 addition & 0 deletions apps/judicial-system/web/src/components/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ export {
default as CheckboxList,
type CheckboxInfo,
} from './CheckboxList/CheckboxList'
export { default as ConnectedCaseFilesAccordionItem } from './AccordionItems/ConnectedCaseFilesAccordionItem/ConnectedCaseFilesAccordionItem'
export { default as CommentsAccordionItem } from './AccordionItems/CommentsAccordionItem/CommentsAccordionItem'
export { default as ConclusionDraft } from './ConclusionDraft/ConclusionDraft'
export { default as ContextMenu } from './ContextMenu/ContextMenu'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import { Box } from '@island.is/island-ui/core'
import * as constants from '@island.is/judicial-system/consts'
import { core, titles } from '@island.is/judicial-system-web/messages'
import {
ConnectedCaseFilesAccordionItem,
CourtCaseInfo,
FormContentContainer,
FormContext,
Expand Down Expand Up @@ -103,6 +104,13 @@ const IndictmentOverview = () => {
<IndictmentsLawsBrokenAccordionItem workingCase={workingCase} />
</Box>
)}
{workingCase.mergedCases &&
workingCase.mergedCases.length > 0 &&
workingCase.mergedCases.map((mergedCase) => (
<Box marginBottom={5} key={mergedCase.id}>
<ConnectedCaseFilesAccordionItem connectedCase={mergedCase} />
</Box>
))}
{workingCase.caseFiles && (
<Box component="section" marginBottom={10}>
<IndictmentCaseFilesList workingCase={workingCase} />
Expand Down

0 comments on commit 0a4e2ac

Please sign in to comment.