The globalblock API does not use the returned Status by BlockUser::placeBlock in the response sent back to the user. This means that, even if the local block failed, the user reading the response will not see this and could be led to believe the block was a success.
Steps to replicate the issue (include links if applicable):
- Load Special:ApiSandbox while logged into a user with the globalblock right but not the block right
- Choose globalblock as the action
- Enable the alsolocal option and enter a target
What happens?:
The API responds with blockedlocally set as true
What should have happened instead?:
The API response should not indicate that the local block was successful and instead display the error for why the block did not succeed