Skip to content

Commit

Permalink
Merge branch 'main' into feat/default-scopes
Browse files Browse the repository at this point in the history
  • Loading branch information
magnearun authored Oct 18, 2024
2 parents 8e3a9d0 + 52288e6 commit a2ea02c
Show file tree
Hide file tree
Showing 6 changed files with 56 additions and 163 deletions.

This file was deleted.

This file was deleted.

2 changes: 0 additions & 2 deletions apps/judicial-system/web/messages/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ export * from './RestrictionCases/Prosecutor/accusedForm'
export * from './RestrictionCases/Prosecutor/requestedHearingArrangementsForm'
export * from './RestrictionCases/Prosecutor/reportForm'
export * from './RestrictionCases/Prosecutor/demandsForm'
export * from './RestrictionCases/Prosecutor/caseFiles'
export * from './RestrictionCases/Prosecutor/overview'
export * from './/RestrictionCases/Prosecutor/demandsForm'
export * from './RestrictionCases/Court/courtRecordForm'
Expand All @@ -12,7 +11,6 @@ export * from './InvestigationCases/Prosecutor/defendantForm'
export * from './InvestigationCases/Prosecutor/requestedHearingArrangements'
export * from './InvestigationCases/Prosecutor/demandsForm'
export * from './InvestigationCases/Prosecutor/reportForm'
export * from './InvestigationCases/Prosecutor/caseFiles'
export * from './InvestigationCases/Prosecutor/overview'
export * from './InvestigationCases/Court/courtRecordForm'
export * from './InvestigationCases/Court/confirmation'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,10 @@ import {
SectionHeading,
TagCaseState,
} from '@island.is/judicial-system-web/src/components'
import { useContextMenu } from '@island.is/judicial-system-web/src/components/ContextMenu/ContextMenu'
import {
ContextMenuItem,
useContextMenu,
} from '@island.is/judicial-system-web/src/components/ContextMenu/ContextMenu'
import { contextMenu } from '@island.is/judicial-system-web/src/components/ContextMenu/ContextMenu.strings'
import {
ColumnCaseType,
Expand All @@ -33,12 +36,19 @@ interface CasesAwaitingConfirmationTableProps {
isFiltering: boolean
cases: CaseListEntry[]
onContextMenuDeleteClick: (id: string) => void
canDeleteCase: (caseToDelete: CaseListEntry) => boolean
}

const CasesAwaitingConfirmationTable: FC<
CasesAwaitingConfirmationTableProps
> = (props) => {
const { loading, isFiltering, cases, onContextMenuDeleteClick } = props
const {
loading,
isFiltering,
cases,
onContextMenuDeleteClick,
canDeleteCase,
} = props
const { formatMessage } = useIntl()

const { openCaseInNewTabMenuItem } = useContextMenu()
Expand Down Expand Up @@ -76,13 +86,17 @@ const CasesAwaitingConfirmationTable: FC<
generateContextMenuItems={(row) => {
return [
openCaseInNewTabMenuItem(row.id),
{
title: formatMessage(contextMenu.deleteCase),
onClick: () => {
onContextMenuDeleteClick(row.id)
},
icon: 'trash',
},
...(canDeleteCase(row)
? [
{
title: formatMessage(contextMenu.deleteCase),
onClick: () => {
onContextMenuDeleteClick(row.id)
},
icon: 'trash',
} as ContextMenuItem,
]
: []),
]
}}
columns={[
Expand Down
26 changes: 17 additions & 9 deletions apps/judicial-system/web/src/routes/Shared/Cases/ActiveCases.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,10 @@ import { useIntl } from 'react-intl'
import { capitalize } from '@island.is/judicial-system/formatters'
import { core, tables } from '@island.is/judicial-system-web/messages'
import { TagCaseState } from '@island.is/judicial-system-web/src/components'
import { useContextMenu } from '@island.is/judicial-system-web/src/components/ContextMenu/ContextMenu'
import {
ContextMenuItem,
useContextMenu,
} from '@island.is/judicial-system-web/src/components/ContextMenu/ContextMenu'
import { contextMenu } from '@island.is/judicial-system-web/src/components/ContextMenu/ContextMenu.strings'
import {
ColumnCaseType,
Expand All @@ -19,10 +22,11 @@ import { CaseListEntry } from '@island.is/judicial-system-web/src/graphql/schema
interface Props {
cases: CaseListEntry[]
onContextMenuDeleteClick: (id: string) => void
canDeleteCase: (caseToDelete: CaseListEntry) => boolean
}

const ActiveCases: FC<Props> = (props) => {
const { cases, onContextMenuDeleteClick } = props
const { cases, onContextMenuDeleteClick, canDeleteCase } = props
const { formatMessage } = useIntl()
const { openCaseInNewTabMenuItem } = useContextMenu()

Expand Down Expand Up @@ -56,13 +60,17 @@ const ActiveCases: FC<Props> = (props) => {
generateContextMenuItems={(row) => {
return [
openCaseInNewTabMenuItem(row.id),
{
title: formatMessage(contextMenu.deleteCase),
onClick: () => {
onContextMenuDeleteClick(row.id)
},
icon: 'trash',
},
...(canDeleteCase(row)
? [
{
title: formatMessage(contextMenu.deleteCase),
onClick: () => {
onContextMenuDeleteClick(row.id)
},
icon: 'trash',
} as ContextMenuItem,
]
: []),
]
}}
columns={[
Expand Down
23 changes: 16 additions & 7 deletions apps/judicial-system/web/src/routes/Shared/Cases/Cases.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import {
isIndictmentCase,
isProsecutionUser,
isPublicProsecutor,
isRestrictionCase,
} from '@island.is/judicial-system/types'
import {
core,
Expand Down Expand Up @@ -213,15 +214,20 @@ export const Cases: FC = () => {
pastCases,
} = useFilter(allActiveCases, allPastCases, user)

const canDeleteCase = (caseToDelete: CaseListEntry) =>
(isRestrictionCase(caseToDelete.type) &&
(caseToDelete.state === CaseState.NEW ||
caseToDelete.state === CaseState.DRAFT ||
caseToDelete.state === CaseState.SUBMITTED ||
caseToDelete.state === CaseState.RECEIVED)) ||
(isIndictmentCase(caseToDelete.type) &&
(caseToDelete.state === CaseState.DRAFT ||
caseToDelete.state === CaseState.WAITING_FOR_CONFIRMATION))

const deleteCase = async (caseToDelete: CaseListEntry) => {
if (
caseToDelete.state === CaseState.NEW ||
caseToDelete.state === CaseState.DRAFT ||
caseToDelete.state === CaseState.WAITING_FOR_CONFIRMATION ||
caseToDelete.state === CaseState.SUBMITTED ||
caseToDelete.state === CaseState.RECEIVED
) {
if (canDeleteCase(caseToDelete)) {
await transitionCase(caseToDelete.id, CaseTransition.DELETE)

refetch()
}
}
Expand All @@ -236,6 +242,7 @@ export const Cases: FC = () => {
}

await deleteCase(caseToDelete)

setVisibleModal(undefined)
}

Expand Down Expand Up @@ -287,6 +294,7 @@ export const Cases: FC = () => {
isFiltering={isFiltering}
cases={casesAwaitingConfirmation}
onContextMenuDeleteClick={setVisibleModal}
canDeleteCase={canDeleteCase}
/>
{isPublicProsecutor(user) && (
<CasesAwaitingReview
Expand All @@ -302,6 +310,7 @@ export const Cases: FC = () => {
<ActiveCases
cases={activeCases}
onContextMenuDeleteClick={setVisibleModal}
canDeleteCase={canDeleteCase}
/>
) : (
<div className={styles.infoContainer}>
Expand Down

0 comments on commit a2ea02c

Please sign in to comment.