From d4138fdf4e525fe6bd9b6f2f6dd316a7ac4f6f8d Mon Sep 17 00:00:00 2001 From: "a.bouhuolia" Date: Sun, 26 Dec 2021 19:09:20 +0200 Subject: [PATCH] feat(RoleForm): service full access. --- src/containers/GlobalErrors/GlobalErrors.js | 9 +++++++++ .../Preferences/Users/Roles/RolesForm/RoleFormHeader.js | 4 ++-- .../Preferences/Users/Roles/RolesForm/RolesForm.js | 1 - .../Users/Roles/RolesForm/RolesForm.schema.js | 1 - .../Preferences/Users/Roles/RolesForm/utils.js | 6 +++++- src/hooks/useRequest.js | 4 ++++ 6 files changed, 20 insertions(+), 5 deletions(-) diff --git a/src/containers/GlobalErrors/GlobalErrors.js b/src/containers/GlobalErrors/GlobalErrors.js index 0969cbc16..513715753 100644 --- a/src/containers/GlobalErrors/GlobalErrors.js +++ b/src/containers/GlobalErrors/GlobalErrors.js @@ -64,6 +64,15 @@ function GlobalErrors({ }, }); } + if (globalErrors.userInactive) { + AppToaster.show({ + message: 'The authorized user is inactive.', + intent: Intent.DANGER, + onDismiss: () => { + globalErrorsSet({ userInactive: false }); + }, + }); + } return null; } diff --git a/src/containers/Preferences/Users/Roles/RolesForm/RoleFormHeader.js b/src/containers/Preferences/Users/Roles/RolesForm/RoleFormHeader.js index dfb7ab02c..f1d9b1339 100644 --- a/src/containers/Preferences/Users/Roles/RolesForm/RoleFormHeader.js +++ b/src/containers/Preferences/Users/Roles/RolesForm/RoleFormHeader.js @@ -15,7 +15,7 @@ export function RoleFormHeader() { return ( - {/* ---------- name ---------- */} + {/* ---------- Name ---------- */} {({ field, meta: { error, touched } }) => ( - {/* ---------- description ---------- */} + {/* ---------- Description ---------- */} {({ field, meta: { error, touched } }) => ( { setSubmitting(false); - handleDeleteErrors(errors); }; if (isNewMode) { diff --git a/src/containers/Preferences/Users/Roles/RolesForm/RolesForm.schema.js b/src/containers/Preferences/Users/Roles/RolesForm/RolesForm.schema.js index b2f40ecdb..34a22674f 100644 --- a/src/containers/Preferences/Users/Roles/RolesForm/RolesForm.schema.js +++ b/src/containers/Preferences/Users/Roles/RolesForm/RolesForm.schema.js @@ -5,7 +5,6 @@ import { DATATYPES_LENGTH } from 'common/dataTypes'; const Schema = Yup.object().shape({ role_name: Yup.string().required().label(intl.get('roles.label.role_name_')), role_description: Yup.string().nullable().max(DATATYPES_LENGTH.TEXT), - permissions: Yup.object().shape({ subject: Yup.string(), ability: Yup.string(), diff --git a/src/containers/Preferences/Users/Roles/RolesForm/utils.js b/src/containers/Preferences/Users/Roles/RolesForm/utils.js index d4c4ea81d..66ab75d2a 100644 --- a/src/containers/Preferences/Users/Roles/RolesForm/utils.js +++ b/src/containers/Preferences/Users/Roles/RolesForm/utils.js @@ -55,10 +55,14 @@ export const transformPermissionsToObject = (permissions) => { * @returns */ export const transformToObject = (role) => { + const permissions = transformPermissionsToObject(role.permissions); + const serviceFullAccess = getInitialServicesFullAccess(permissions); + return { role_name: role.name, role_description: role.description, - permissions: transformPermissionsToObject(role.permissions), + permissions, + serviceFullAccess, }; }; diff --git a/src/hooks/useRequest.js b/src/hooks/useRequest.js index 98249eda7..aae07bb13 100644 --- a/src/hooks/useRequest.js +++ b/src/hooks/useRequest.js @@ -66,6 +66,10 @@ export default function useApiRequest() { if (lockedError) { setGlobalErrors({ transactionsLocked: { ...lockedError.data } }); } + if (data.errors.find(e => e.type === 'USER_INACTIVE')) { + setGlobalErrors({ userInactive: true }); + setLogout(); + } } return Promise.reject(error); },