From e03dee2a9feb19174fac4138078a38293167b6de Mon Sep 17 00:00:00 2001 From: elforjani13 <39470382+elforjani13@users.noreply.github.com> Date: Mon, 7 Mar 2022 21:53:54 +0200 Subject: [PATCH] feat(warehouse & Branch): handle error. --- .../Alerts/Branches/BranchDeleteAlert.js | 6 ++++-- .../Alerts/Warehouses/WarehouseDeleteAlert.js | 5 ++++- src/containers/Preferences/Branches/utils.js | 15 +++++++++++++++ src/containers/Preferences/Warehouses/utils.js | 17 +++++++++++++++++ src/lang/en/index.json | 2 ++ .../QuickPaymentReceiveDialog.scss | 7 ++++--- 6 files changed, 46 insertions(+), 6 deletions(-) create mode 100644 src/containers/Preferences/Branches/utils.js create mode 100644 src/containers/Preferences/Warehouses/utils.js diff --git a/src/containers/Alerts/Branches/BranchDeleteAlert.js b/src/containers/Alerts/Branches/BranchDeleteAlert.js index a58bb63ea..68fcffdf6 100644 --- a/src/containers/Alerts/Branches/BranchDeleteAlert.js +++ b/src/containers/Alerts/Branches/BranchDeleteAlert.js @@ -5,6 +5,7 @@ import { Intent, Alert } from '@blueprintjs/core'; import { AppToaster } from 'components'; import { useDeleteBranch } from 'hooks/query'; +import { handleDeleteErrors } from '../../Preferences/Branches/utils'; import withAlertStoreConnect from 'containers/Alert/withAlertStoreConnect'; import withAlertActions from 'containers/Alert/withAlertActions'; @@ -24,7 +25,6 @@ function BranchDeleteAlert({ // #withAlertActions closeAlert, }) { - const { mutateAsync: deleteBranch, isLoading } = useDeleteBranch(); // Handle cancel delete alert. @@ -46,7 +46,9 @@ function BranchDeleteAlert({ response: { data: { errors }, }, - }) => {}, + }) => { + handleDeleteErrors(errors); + }, ) .finally(() => { closeAlert(name); diff --git a/src/containers/Alerts/Warehouses/WarehouseDeleteAlert.js b/src/containers/Alerts/Warehouses/WarehouseDeleteAlert.js index 9d4cb0c83..66c88f6a7 100644 --- a/src/containers/Alerts/Warehouses/WarehouseDeleteAlert.js +++ b/src/containers/Alerts/Warehouses/WarehouseDeleteAlert.js @@ -4,6 +4,7 @@ import { FormattedMessage as T, FormattedHTMLMessage } from 'components'; import { Intent, Alert } from '@blueprintjs/core'; import { AppToaster } from 'components'; import { useDeleteWarehouse } from 'hooks/query'; +import { handleDeleteErrors } from '../../Preferences/Warehouses/utils'; import withAlertStoreConnect from 'containers/Alert/withAlertStoreConnect'; import withAlertActions from 'containers/Alert/withAlertActions'; @@ -46,7 +47,9 @@ function WarehouseDeleteAlert({ response: { data: { errors }, }, - }) => {}, + }) => { + handleDeleteErrors(errors); + }, ) .finally(() => { closeAlert(name); diff --git a/src/containers/Preferences/Branches/utils.js b/src/containers/Preferences/Branches/utils.js new file mode 100644 index 000000000..29dc536b3 --- /dev/null +++ b/src/containers/Preferences/Branches/utils.js @@ -0,0 +1,15 @@ +import intl from 'react-intl-universal'; +import { Intent } from '@blueprintjs/core'; +import { AppToaster } from 'components'; + +/** + * Handle delete errors. + */ +export const handleDeleteErrors = (errors) => { + if (errors.find((error) => error.type === 'COULD_NOT_DELETE_ONLY_BRANCH')) { + AppToaster.show({ + message: intl.get('branch.error.could_not_delete_only_branch'), + intent: Intent.DANGER, + }); + } +}; diff --git a/src/containers/Preferences/Warehouses/utils.js b/src/containers/Preferences/Warehouses/utils.js new file mode 100644 index 000000000..7883d8994 --- /dev/null +++ b/src/containers/Preferences/Warehouses/utils.js @@ -0,0 +1,17 @@ +import intl from 'react-intl-universal'; +import { Intent } from '@blueprintjs/core'; +import { AppToaster } from 'components'; + +/** + * Handle delete errors. + */ +export const handleDeleteErrors = (errors) => { + if ( + errors.find((error) => error.type === 'COULD_NOT_DELETE_ONLY_WAERHOUSE') + ) { + AppToaster.show({ + message: intl.get('warehouse.error.could_not_delete_only_waerhouse'), + intent: Intent.DANGER, + }); + } +}; diff --git a/src/lang/en/index.json b/src/lang/en/index.json index c9bf908e2..e3d517d4b 100644 --- a/src/lang/en/index.json +++ b/src/lang/en/index.json @@ -1800,6 +1800,7 @@ "warehouses.action.make_as_parimary": "Mark as Primary", "warehouse.alert.delete_message": "The warehouse has been deleted successfully", "warehouse.once_delete_this_warehouse": "Once you delete this warehouse, you won't be able to restore it later. Are you sure you want to delete this warehouse?", + "warehouse.error.could_not_delete_only_waerhouse":"You could not delete the only warehouse.", "sidebar_warehouse_transfer": "Warehouse Transfers", "warehouse_transfer.label.transfer_no": "Transfer No", "warehouse_transfer.label.form_warehouse": "Form Warehouse", @@ -1862,6 +1863,7 @@ "branch_activate.dialog_success_message": "Multi-branches feature has been activated successfully.", "branch.alert.mark_primary_message": "The branch has been marked as primary.", "branch.alert.are_you_sure_you_want_to_make": "Are you sure you want to make a primary branch?", + "branch.error.could_not_delete_only_branch": "You could not delete the only branch.", "warehouse_activate.dialog_success_message": "Multi-branches feature has been activated successfully.", "warehouse.alert.mark_primary_message": "The given warehouse has been marked as primary.", "warehouse.alert.are_you_sure_you_want_to_make": "Are you sure you want to make a primary warehouse?", diff --git a/src/style/pages/PaymentReceive/QuickPaymentReceiveDialog.scss b/src/style/pages/PaymentReceive/QuickPaymentReceiveDialog.scss index aeb21e60c..4c8ef838a 100644 --- a/src/style/pages/PaymentReceive/QuickPaymentReceiveDialog.scss +++ b/src/style/pages/PaymentReceive/QuickPaymentReceiveDialog.scss @@ -1,11 +1,11 @@ .dialog--quick-payment-receive { .bp3-dialog-body { - line-height: 10px; + line-height: 14px; .bp3-form-group { - margin-bottom: 10px; + margin-bottom: 13px; label.bp3-label { - margin-bottom: 7px; + margin-bottom: 3px; font-size: 13px; } } @@ -22,6 +22,7 @@ } } } + .bp3-dialog-footer { padding-top: 10px; }