aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Addons/Groups/Service/GroupsService.cs
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2014-07-31 21:32:20 +0100
committerJustin Clark-Casey (justincc)2014-07-31 21:32:20 +0100
commitdfd0c2a54ab345e6120ae7f8d75870959771ef11 (patch)
tree1990e034ae4343508b681cf0696cedadcd83bf74 /OpenSim/Addons/Groups/Service/GroupsService.cs
parentDon't overwrite the null result with the true result is groups service REMOVE... (diff)
downloadopensim-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.cs6
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)