From 4ac32b3aade13db40d520b46892cfac051b8e96f Mon Sep 17 00:00:00 2001 From: elforjani13 <39470382+elforjani13@users.noreply.github.com> Date: Sat, 27 Nov 2021 13:52:37 +0200 Subject: [PATCH] feat: handle error roles table. --- .../Roles/RolesLanding/RolesDataTable.js | 29 +++++++++++++++---- src/lang/ar/index.json | 4 ++- src/lang/en/index.json | 4 ++- 3 files changed, 30 insertions(+), 7 deletions(-) diff --git a/src/containers/Preferences/Users/Roles/RolesLanding/RolesDataTable.js b/src/containers/Preferences/Users/Roles/RolesLanding/RolesDataTable.js index f4f41ef84..f4857cbc1 100644 --- a/src/containers/Preferences/Users/Roles/RolesLanding/RolesDataTable.js +++ b/src/containers/Preferences/Users/Roles/RolesLanding/RolesDataTable.js @@ -1,9 +1,10 @@ import React from 'react'; +import { Intent, Tag } from '@blueprintjs/core'; import { useHistory } from 'react-router-dom'; import intl from 'react-intl-universal'; -import { DataTable } from 'components'; +import { DataTable, Choose, AppToaster } from 'components'; import TableSkeletonRows from 'components/Datatable/TableSkeletonRows'; import { useRolesTableColumns, ActionsMenu } from './components'; @@ -26,12 +27,30 @@ function RolesDataTable({ const { roles, isRolesFetching, isRolesLoading } = useRolesContext(); - const handleDeleteRole = ({ id }) => { - openAlert('role-delete', { roleId: id }); + const handleDeleteRole = ({ id, predefined }) => { + if (predefined) { + AppToaster.show({ + message: intl.get('roles.error.you_cannot_delete_predefined_roles'), + intent: Intent.DANGER, + }); + } else { + openAlert('role-delete', { roleId: id }); + } }; - const handleEditRole = ({ id }) => { - history.push(`/preferences/roles/${id}`); + const handleEditRole = ({ id, predefined }) => { + if (predefined) { + { + AppToaster.show({ + message: intl.get('roles.error.you_cannot_edit_predefined_roles'), + intent: Intent.DANGER, + }); + } + } else { + { + history.push(`/preferences/roles/${id}`); + } + } }; return ( diff --git a/src/lang/ar/index.json b/src/lang/ar/index.json index 1d3ab5fca..64d09d443 100644 --- a/src/lang/ar/index.json +++ b/src/lang/ar/index.json @@ -1494,5 +1494,7 @@ "roles.permission_schema.upload_message":"تم تحديث دور المستخدم بنجاح.", "roles.permission_schema.delete.alert_message":"تم حذف دور المستخدم بنجاح. ", "roles.permission_schema.once_delete_this_role_you_will_able_to_restore_it":"بمجرد حذف دور المستخدم ، لن تتمكن من استعادتها لاحقًا. هل أنت متأكد أنك تريد حذف هذا الدور؟", - "users.column.role_name":"دور المستخدم" + "users.column.role_name":"دور المستخدم", + "roles.error.you_cannot_edit_predefined_roles":"لا يمكنك تعديل أدوار المستخدم المحددة مسبقا.", + "roles.error.you_cannot_delete_predefined_roles":"لا يمكنك حذف أدوار المستخدم المحددة مسبقا" } \ No newline at end of file diff --git a/src/lang/en/index.json b/src/lang/en/index.json index 103da57c6..6af818a9b 100644 --- a/src/lang/en/index.json +++ b/src/lang/en/index.json @@ -1483,5 +1483,7 @@ "roles.permission_schema.upload_message":"The given role has been updated successfully.", "roles.permission_schema.delete.alert_message":"The given role has been deleted successfully.", "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" + "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." } \ No newline at end of file