diff --git a/apiserver/plane/app/views/workspace/member.py b/apiserver/plane/app/views/workspace/member.py index bdcc075e72..660d801fbb 100644 --- a/apiserver/plane/app/views/workspace/member.py +++ b/apiserver/plane/app/views/workspace/member.py @@ -77,12 +77,16 @@ class WorkSpaceMemberViewSet(BaseViewSet): status=status.HTTP_400_BAD_REQUEST, ) - # If a user is moved to a guest role he can't have any other role in projects if "role" in request.data and int(request.data.get("role")) == 5: + # If a user is moved to a guest role he can't have any other role in projects ProjectMember.objects.filter( workspace__slug=slug, member_id=workspace_member.member_id ).update(role=5) - + # When a user is moved to a guest role, they must be removed from all teamspaces + TeamspaceMember.objects.filter( + workspace__slug=slug, member_id=workspace_member.member_id + ).delete() + if "role" in request.data: allowed, _, _ = workspace_member_check( slug=slug,