[WEB-2606] fix: project members shouldn't be able to change others roles (#5802)

* [WEB-2606] fix: project members should not be able to change other project member's roles

* add better logic
This commit is contained in:
Ketan Sharma 2024-10-24 14:46:10 +05:30 committed by GitHub
parent 8d837eddb3
commit d7c5645948
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -100,7 +100,7 @@ export const AccountTypeColumn: React.FC<AccountTypeProps> = observer((props) =>
} = useForm();
// store hooks
const {
project: { updateMember },
project: { updateMember, getProjectMemberDetails },
workspace: { getWorkspaceMemberDetails },
} = useMember();
const { data: currentUser } = useUser();
@ -111,7 +111,11 @@ export const AccountTypeColumn: React.FC<AccountTypeProps> = observer((props) =>
const isWorkspaceMember = [EUserPermissions.MEMBER].includes(
Number(getWorkspaceMemberDetails(rowData.member.id)?.role) ?? EUserPermissions.GUEST
);
const isRoleNonEditable = isCurrentUser || (isProjectAdminOrGuest && !isWorkspaceMember);
const isCurrentUserProjectMember = currentUser
? getProjectMemberDetails(currentUser.id)?.role === EUserPermissions.MEMBER
: false;
const isRoleNonEditable =
isCurrentUser || (isProjectAdminOrGuest && !isWorkspaceMember) || isCurrentUserProjectMember;
const checkCurrentOptionWorkspaceRole = (value: string) => {
const currentMemberWorkspaceRole = getWorkspaceMemberDetails(value)?.role as EUserPermissions | undefined;