diff --git a/src/containers/WarehouseTransfers/WarehouseTransferForm/WarehouseTransferForm.js b/src/containers/WarehouseTransfers/WarehouseTransferForm/WarehouseTransferForm.js index 760a8e306..c5990ba34 100644 --- a/src/containers/WarehouseTransfers/WarehouseTransferForm/WarehouseTransferForm.js +++ b/src/containers/WarehouseTransfers/WarehouseTransferForm/WarehouseTransferForm.js @@ -25,6 +25,7 @@ import { compose, orderingLinesIndexes, transactionNumber } from 'utils'; import { defaultWarehouseTransfer, transformValueToRequest, + transformErrors, transformToEditForm, } from './utils'; @@ -97,6 +98,9 @@ function WarehouseTransferForm({ data: { errors }, }, }) => { + if (errors) { + transformErrors(errors, { setErrors }); + } setSubmitting(false); }; diff --git a/src/containers/WarehouseTransfers/WarehouseTransferForm/utils.js b/src/containers/WarehouseTransfers/WarehouseTransferForm/utils.js index aad275728..d03dda138 100644 --- a/src/containers/WarehouseTransfers/WarehouseTransferForm/utils.js +++ b/src/containers/WarehouseTransfers/WarehouseTransferForm/utils.js @@ -1,8 +1,9 @@ import React from 'react'; -import intl from 'react-intl-universal'; -import clsx from 'classnames'; -import { useFormikContext } from 'formik'; import moment from 'moment'; +import intl from 'react-intl-universal'; +import { Intent } from '@blueprintjs/core'; +import { useFormikContext } from 'formik'; +import { AppToaster } from 'components'; import { omit } from 'lodash'; import { @@ -105,3 +106,19 @@ export function transformValueToRequest(values) { })), }; } + +/** + * Transformes the response errors types. + */ +export const transformErrors = (errors, { setErrors }) => { + if ( + errors.some(({ type }) => type === 'WAREHOUSES_TRANSFER_SHOULD_NOT_BE_SAME') + ) { + AppToaster.show({ + message: intl.get( + 'warehouse_transfer.error.could_not_transfer_item_from_source_to_destination', + ), + intent: Intent.DANGER, + }); + } +};