From 2960516e5ead329a9e6a3f510a759fe571883e9c Mon Sep 17 00:00:00 2001 From: xusongfu Date: Tue, 15 Mar 2022 11:52:49 +0800 Subject: [PATCH] fix: Fix the user manager & group manager Fix the page error when the role list is empty Change-Id: Id72aaf1da2d96695fdf879de7f57f3a9f0183995 --- .../containers/Project/actions/UserGroupManager.jsx | 8 ++++---- .../identity/containers/Project/actions/UserManager.jsx | 8 ++++---- src/pages/identity/containers/User/actions/SystemRole.jsx | 6 +++--- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/pages/identity/containers/Project/actions/UserGroupManager.jsx b/src/pages/identity/containers/Project/actions/UserGroupManager.jsx index 92c4e501..b615eb4a 100644 --- a/src/pages/identity/containers/Project/actions/UserGroupManager.jsx +++ b/src/pages/identity/containers/Project/actions/UserGroupManager.jsx @@ -187,7 +187,7 @@ export class UserGroupManager extends ModalAction { const defaultGroups = Object.keys(groupRoles); const promiseList = []; defaultGroups.forEach((group_id) => { - if (!values.select_group.includes(group_id)) { + if (values.select_group && !values.select_group.includes(group_id)) { (oldGroupRoles[group_id] || []).forEach((role_id) => { promiseList.push( globalProjectStore.removeGroupRole({ id, group_id, role_id }) @@ -195,7 +195,7 @@ export class UserGroupManager extends ModalAction { }); } else { (oldGroupRoles[group_id] || []).forEach((role_id) => { - if (!groupRoles[group_id].includes(role_id)) { + if (groupRoles[group_id] && !groupRoles[group_id].includes(role_id)) { promiseList.push( globalProjectStore.removeGroupRole({ id, group_id, role_id }) ); @@ -203,8 +203,8 @@ export class UserGroupManager extends ModalAction { }); } }); - values.select_group.forEach((group_id) => { - if (!defaultGroups.includes(group_id)) { + (values.select_group || []).forEach((group_id) => { + if (defaultGroups && !defaultGroups.includes(group_id)) { if (groupRoles[group_id]) { groupRoles[group_id].forEach((role_id) => { promiseList.push( diff --git a/src/pages/identity/containers/Project/actions/UserManager.jsx b/src/pages/identity/containers/Project/actions/UserManager.jsx index 8d1b022c..ee8b0593 100644 --- a/src/pages/identity/containers/Project/actions/UserManager.jsx +++ b/src/pages/identity/containers/Project/actions/UserManager.jsx @@ -286,7 +286,7 @@ export class UserManager extends ModalAction { const defaultUsers = Object.keys(oldUserRoles); const promiseList = []; defaultUsers.forEach((user_id) => { - if (!values.select_user.includes(user_id)) { + if (values.select_user && !values.select_user.includes(user_id)) { (oldUserRoles[user_id] || []).forEach((role_id) => { promiseList.push( globalProjectStore.removeUserRole({ id, user_id, role_id }) @@ -294,7 +294,7 @@ export class UserManager extends ModalAction { }); } else { (oldUserRoles[user_id] || []).forEach((role_id) => { - if (!userRoles[user_id].includes(role_id)) { + if (userRoles[user_id] && !userRoles[user_id].includes(role_id)) { promiseList.push( globalProjectStore.removeUserRole({ id, user_id, role_id }) ); @@ -302,8 +302,8 @@ export class UserManager extends ModalAction { }); } }); - values.select_user.forEach((user_id) => { - if (!defaultUsers.includes(user_id)) { + (values.select_user || []).forEach((user_id) => { + if (defaultUsers && !defaultUsers.includes(user_id)) { if (userRoles[user_id]) { userRoles[user_id].forEach((role_id) => { promiseList.push( diff --git a/src/pages/identity/containers/User/actions/SystemRole.jsx b/src/pages/identity/containers/User/actions/SystemRole.jsx index 38142451..952c6199 100644 --- a/src/pages/identity/containers/User/actions/SystemRole.jsx +++ b/src/pages/identity/containers/User/actions/SystemRole.jsx @@ -289,7 +289,7 @@ export class SystemRole extends ModalAction { const defaultProjects = Object.keys(oldProjectRoles); const promiseList = []; defaultProjects.forEach((id) => { - if (!values.select_project.includes(id)) { + if (values.select_project && !values.select_project.includes(id)) { (oldProjectRoles[id] || []).forEach((role_id) => { promiseList.push( globalProjectStore.removeUserRole({ id, user_id, role_id }) @@ -305,8 +305,8 @@ export class SystemRole extends ModalAction { }); } }); - values.select_project.forEach((id) => { - if (!defaultProjects.includes(id)) { + (values.select_project || []).forEach((id) => { + if (defaultProjects && !defaultProjects.includes(id)) { if (projectRoles[id]) { projectRoles[id].forEach((role_id) => { promiseList.push(