diff options
author | Justin Clark-Casey (justincc) | 2014-07-31 21:32:20 +0100 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2014-07-31 21:32:20 +0100 |
commit | dfd0c2a54ab345e6120ae7f8d75870959771ef11 (patch) | |
tree | 1990e034ae4343508b681cf0696cedadcd83bf74 /OpenSim/Addons/Groups/Service/GroupsService.cs | |
parent | Don't overwrite the null result with the true result is groups service REMOVE... (diff) | |
download | opensim-SC-dfd0c2a54ab345e6120ae7f8d75870959771ef11.zip opensim-SC-dfd0c2a54ab345e6120ae7f8d75870959771ef11.tar.gz opensim-SC-dfd0c2a54ab345e6120ae7f8d75870959771ef11.tar.bz2 opensim-SC-dfd0c2a54ab345e6120ae7f8d75870959771ef11.tar.xz |
If REMOVEAGENTFROMGROUP core groups call fails because requesting agent does not have sufficient permission, return null failure result rather than true.
On non-HG this is on the only recognized failure state so we can return more information in the error result.
On HG there are multiple failure states which would require more work to distinguish, so currently return the unsatisfying "Internal Error" like some other existing calls.
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Addons/Groups/Service/GroupsService.cs | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/OpenSim/Addons/Groups/Service/GroupsService.cs b/OpenSim/Addons/Groups/Service/GroupsService.cs index 037ef59..f44c094 100644 --- a/OpenSim/Addons/Groups/Service/GroupsService.cs +++ b/OpenSim/Addons/Groups/Service/GroupsService.cs | |||
@@ -393,13 +393,15 @@ namespace OpenSim.Groups | |||
393 | return true; | 393 | return true; |
394 | } | 394 | } |
395 | 395 | ||
396 | public void RemoveAgentFromGroup(string RequestingAgentID, string AgentID, UUID GroupID) | 396 | public bool RemoveAgentFromGroup(string RequestingAgentID, string AgentID, UUID GroupID) |
397 | { | 397 | { |
398 | // check perms | 398 | // check perms |
399 | if (RequestingAgentID != AgentID && !HasPower(RequestingAgentID, GroupID, GroupPowers.Eject)) | 399 | if (RequestingAgentID != AgentID && !HasPower(RequestingAgentID, GroupID, GroupPowers.Eject)) |
400 | return; | 400 | return false; |
401 | 401 | ||
402 | _RemoveAgentFromGroup(RequestingAgentID, AgentID, GroupID); | 402 | _RemoveAgentFromGroup(RequestingAgentID, AgentID, GroupID); |
403 | |||
404 | return true; | ||
403 | } | 405 | } |
404 | 406 | ||
405 | public bool AddAgentToGroupInvite(string RequestingAgentID, UUID inviteID, UUID groupID, UUID roleID, string agentID) | 407 | public bool AddAgentToGroupInvite(string RequestingAgentID, UUID inviteID, UUID groupID, UUID roleID, string agentID) |