From 0c806366cde368a104a1c1eab6ccc0bdacc36a5d Mon Sep 17 00:00:00 2001 From: elforjani13 <39470382+elforjani13@users.noreply.github.com> Date: Sat, 27 Nov 2021 18:51:35 +0200 Subject: [PATCH] feat: handle error delete role. --- .../Users/Roles/RolesForm/RolesForm.js | 9 ++++++++- .../Preferences/Users/Roles/utils.js | 18 ++++++++++++++++++ src/lang/ar/index.json | 3 ++- src/lang/en/index.json | 4 +++- 4 files changed, 31 insertions(+), 3 deletions(-) diff --git a/src/containers/Preferences/Users/Roles/RolesForm/RolesForm.js b/src/containers/Preferences/Users/Roles/RolesForm/RolesForm.js index a1af99e4d..1f0a766c3 100644 --- a/src/containers/Preferences/Users/Roles/RolesForm/RolesForm.js +++ b/src/containers/Preferences/Users/Roles/RolesForm/RolesForm.js @@ -21,6 +21,7 @@ import { import RolesFormContent from './RolesFormContent'; import withDashboardActions from 'containers/Dashboard/withDashboardActions'; +import { handleDeleteErrors } from '../utils'; import { compose, transformToForm } from 'utils'; @@ -82,8 +83,14 @@ function RolesForm({ history.push('/preferences/users'); }; - const onError = (errors) => { + const onError = ({ + response: { + data: { errors }, + }, + }) => { setSubmitting(false); + + handleDeleteErrors(errors); }; if (isNewMode) { createRolePermissionMutate(form).then(onSuccess).catch(onError); diff --git a/src/containers/Preferences/Users/Roles/utils.js b/src/containers/Preferences/Users/Roles/utils.js index 5e5bd0e14..8cb43dbea 100644 --- a/src/containers/Preferences/Users/Roles/utils.js +++ b/src/containers/Preferences/Users/Roles/utils.js @@ -10,4 +10,22 @@ export const handleDeleteErrors = (errors) => { intent: Intent.DANGER, }); } + if (errors.find((error) => error.type === 'INVALIDATE_PERMISSIONS')) { + AppToaster.show({ + message: intl.get('roles.error.the_submit_role_has_invalid_permissions'), + intent: Intent.DANGER, + }); + } + if ( + errors.find( + (error) => error.type === 'CANNOT_DELETE_ROLE_ASSOCIATED_TO_USERS', + ) + ) { + AppToaster.show({ + message: intl.get( + 'roles.error.you_cannot_delete_role_that_associated_to_users', + ), + intent: Intent.DANGER, + }); + } }; diff --git a/src/lang/ar/index.json b/src/lang/ar/index.json index 64d09d443..8309e7d23 100644 --- a/src/lang/ar/index.json +++ b/src/lang/ar/index.json @@ -1496,5 +1496,6 @@ "roles.permission_schema.once_delete_this_role_you_will_able_to_restore_it":"بمجرد حذف دور المستخدم ، لن تتمكن من استعادتها لاحقًا. هل أنت متأكد أنك تريد حذف هذا الدور؟", "users.column.role_name":"دور المستخدم", "roles.error.you_cannot_edit_predefined_roles":"لا يمكنك تعديل أدوار المستخدم المحددة مسبقا.", - "roles.error.you_cannot_delete_predefined_roles":"لا يمكنك حذف أدوار المستخدم المحددة مسبقا" + "roles.error.you_cannot_delete_predefined_roles":"لا يمكنك حذف أدوار المستخدم المحددة مسبقا", + "roles.error.you_cannot_delete_role_that_associated_to_users":"لا يمكن حذف دور المستخدم لأنه لديه مستخدمين مرتبطة به." } \ No newline at end of file diff --git a/src/lang/en/index.json b/src/lang/en/index.json index 6af818a9b..6cffe8753 100644 --- a/src/lang/en/index.json +++ b/src/lang/en/index.json @@ -1485,5 +1485,7 @@ "roles.permission_schema.once_delete_this_role_you_will_able_to_restore_it":"Once you delete this role, you won't be able to restore it later. Are you sure you want to delete this role?", "users.column.role_name":"Role Name", "roles.error.you_cannot_edit_predefined_roles":"You cannot edit predefined roles.", - "roles.error.you_cannot_delete_predefined_roles":"You cannot delete predefined roles." + "roles.error.you_cannot_delete_predefined_roles":"You cannot delete predefined roles.", + "roles.error.the_submit_role_has_invalid_permissions":"The submit role has invalid permissions.", + "roles.error.you_cannot_delete_role_that_associated_to_users":"You cannot delete role that associated to users" } \ No newline at end of file