diff --git a/src/resources/addresses/index.tsx b/src/resources/addresses/index.tsx
index 8ae0f30f..b7acdcbf 100644
--- a/src/resources/addresses/index.tsx
+++ b/src/resources/addresses/index.tsx
@@ -1,5 +1,5 @@
import React from 'react'
-import { Create, Edit, Show } from 'react-admin'
+import { Create, Edit, Show, useRedirect } from 'react-admin'
import * as constants from '../../constants'
const AddressList = React.lazy(async () => await import('./AddressList'))
const AddressForm = React.lazy(async () => await import('./AddressForm'))
@@ -13,8 +13,15 @@ const AddressCreate = (): React.ReactElement => {
}
export const AddressEdit = (): React.ReactElement => {
+ const redirect = useRedirect()
return (
-
+ {
+ redirect(`/${constants.R_ADDRESSES}/${data?.id}/show`)
+ }
+ }}>
)
diff --git a/src/resources/batches/index.tsx b/src/resources/batches/index.tsx
index 59719b40..c9a6de7c 100644
--- a/src/resources/batches/index.tsx
+++ b/src/resources/batches/index.tsx
@@ -55,8 +55,16 @@ const Actions = (): React.ReactElement => {
}
const BatchEdit = (): React.ReactElement => {
+ const redirect = useRedirect()
return (
- }>
+ }
+ mutationOptions={{
+ onSuccess: (data: { batchNumber: string; id: number }): void => {
+ redirect(`/${constants.R_BATCHES}/${data?.id}/show`)
+ }
+ }}>
)
diff --git a/src/resources/destruction/index.tsx b/src/resources/destruction/index.tsx
index c52505c7..b79e1140 100644
--- a/src/resources/destruction/index.tsx
+++ b/src/resources/destruction/index.tsx
@@ -1,5 +1,5 @@
import React from 'react'
-import { Create, Edit } from 'react-admin'
+import { Create, Edit, useRedirect } from 'react-admin'
import DestructionForm from './DestructionForm'
import * as constants from '../../constants'
@@ -19,8 +19,15 @@ const DestructionCreate = (): React.ReactElement => {
}
const DestructionEdit = (): React.ReactElement => {
+ const redirect = useRedirect()
return (
-
+ {
+ redirect(`/${constants.R_DESTRUCTION}/${data?.id}/show`)
+ }
+ }}>
)
diff --git a/src/resources/dispatch/index.tsx b/src/resources/dispatch/index.tsx
index 9146cb61..038c12b4 100644
--- a/src/resources/dispatch/index.tsx
+++ b/src/resources/dispatch/index.tsx
@@ -24,8 +24,15 @@ const DispatchCreate = (): React.ReactElement => {
}
export const DispatchEdit = (): React.ReactElement => {
+ const redirect = useRedirect()
return (
-
+ {
+ redirect(`/${constants.R_DISPATCH}/${data.id}/show`)
+ }
+ }}>
)
diff --git a/src/resources/items/ItemForm/ItemFormToolbar.tsx b/src/resources/items/ItemForm/ItemFormToolbar.tsx
index 6d0b9e8c..ebb0aed0 100644
--- a/src/resources/items/ItemForm/ItemFormToolbar.tsx
+++ b/src/resources/items/ItemForm/ItemFormToolbar.tsx
@@ -37,10 +37,11 @@ interface ActionsProps {
const Actions = (props: ActionsProps): React.ReactElement => {
const { onSuccess, setOpenRemarks, vLocationAudits } = props
-
+ const redirect = useRedirect()
const onSuccessWithRemarksClose = (data: any): void => {
onSuccess(data)
setOpenRemarks(false)
+ redirect(`/${constants.R_RICH_ITEMS}/${data?.id}/show`)
}
return (
@@ -71,10 +72,11 @@ interface Props {
onSave: (event: React.SyntheticEvent) => void
setOpenRemarks: React.Dispatch
openRemarks: boolean
+ isEdit: boolean
}
const ItemFormToolbar = (props: Props): React.ReactElement => {
- const { onSuccess, onSave, openRemarks, setOpenRemarks } = props
+ const { onSuccess, onSave, openRemarks, setOpenRemarks, isEdit } = props
const { notify } = useContext(NotificationContext)
const { reset, getValues, setValue } = useFormContext()
const [alwaysEnable, setAlwaysEnable] = useState(false)
@@ -141,7 +143,7 @@ const ItemFormToolbar = (props: Props): React.ReactElement => {
itemId
)
setTimeout(() => {
- if (!clone) {
+ if (!clone && !isEdit) {
redirect(path)
}
}, 0)
diff --git a/src/resources/items/ItemForm/index.tsx b/src/resources/items/ItemForm/index.tsx
index 0f2193e2..9ebf7ff7 100644
--- a/src/resources/items/ItemForm/index.tsx
+++ b/src/resources/items/ItemForm/index.tsx
@@ -156,6 +156,7 @@ export default function ItemForm({ isEdit }: FormProps): React.ReactElement {
openRemarks={openRemarks}
setOpenRemarks={setOpenRemarks}
onSave={onSave}
+ isEdit
/>
}>
{
const PlatformEdit = ({ name }: PropType): React.ReactElement => {
const cName: string = name
+ const redirect = useRedirect()
+
return (
-
+ {
+ redirect(`/${cName}/${data?.id}/show`)
+ }
+ }}>
)
diff --git a/src/resources/projects/index.tsx b/src/resources/projects/index.tsx
index ddd4f499..4db180fd 100644
--- a/src/resources/projects/index.tsx
+++ b/src/resources/projects/index.tsx
@@ -1,5 +1,5 @@
import React from 'react'
-import { Create, Edit } from 'react-admin'
+import { Create, Edit, useRedirect } from 'react-admin'
import ProjectForm from './ProjectForm'
import * as constants from '../../constants'
@@ -15,8 +15,15 @@ const ProjectCreate = (): React.ReactElement => {
}
const ProjectEdit = (): React.ReactElement => {
+ const redirect = useRedirect()
return (
-
+ {
+ redirect(`/${constants.R_PROJECTS}/${data?.id}/show`)
+ }
+ }}>
)
diff --git a/src/resources/reference-data/index.tsx b/src/resources/reference-data/index.tsx
index 0ed1252b..2f11f985 100644
--- a/src/resources/reference-data/index.tsx
+++ b/src/resources/reference-data/index.tsx
@@ -1,5 +1,5 @@
import React from 'react'
-import { Create, Edit } from 'react-admin'
+import { Create, Edit, useRedirect } from 'react-admin'
import ReferenceDataForm from './ReferenceDataForm'
import * as constants from '../../constants'
interface PropType {
@@ -17,11 +17,16 @@ const RerferenceDataCreate = ({ name }: PropType): React.ReactElement => {
export const ReferenceDataEdit = ({ name }: PropType): React.ReactElement => {
const cName: string = name
+ const redirect = useRedirect()
return (
{
+ redirect(`/${cName}/${data?.id}/show`)
+ }
+ }}
resource={cName}>
diff --git a/src/resources/users/index.tsx b/src/resources/users/index.tsx
index 1c942da6..a25d266f 100644
--- a/src/resources/users/index.tsx
+++ b/src/resources/users/index.tsx
@@ -1,5 +1,5 @@
import React, { useState } from 'react'
-import { Create, Edit, useEditContext } from 'react-admin'
+import { Create, Edit, useEditContext, useRedirect } from 'react-admin'
import UserForm from './UserForm'
import * as constants from '../../constants'
import useAudit from '../../hooks/useAudit'
@@ -20,10 +20,9 @@ const UserCreate = (): React.ReactElement => {
}
const UserEdit = (): React.ReactElement => {
- const path: string = `/${constants.R_USERS}`
const audit = useAudit()
const [prev, setPrev] = useState()
-
+ const redirect = useRedirect()
return (
{
subjectResource: null,
subjectId: null
})
+ redirect(`/${constants.R_USERS}/${data?.id}/show`)
}
}}
mutationMode={constants.MUTATION_MODE}
- resource={constants.R_USERS}
- redirect={path}>
+ resource={constants.R_USERS}>
)
diff --git a/src/resources/vault-locations/index.tsx b/src/resources/vault-locations/index.tsx
index 029a4fd3..29c55ec9 100644
--- a/src/resources/vault-locations/index.tsx
+++ b/src/resources/vault-locations/index.tsx
@@ -1,5 +1,5 @@
import React from 'react'
-import { Create, Edit } from 'react-admin'
+import { Create, Edit, useRedirect } from 'react-admin'
import VaultLocationForm from './VaultLocationForm'
import VaultLocationList from './VaultLocationList'
import ReferenceDataShow from '../reference-data/ReferenceDataShow'
@@ -14,8 +14,15 @@ const VaultLocationCreate = (): React.ReactElement => {
}
export const VaultLocationEdit = (): React.ReactElement => {
+ const redirect = useRedirect()
return (
-
+ {
+ redirect(`/${constants.R_VAULT_LOCATION}/${data?.id}/show`)
+ }
+ }}>
)