diff options
Diffstat (limited to 'OpenSim/Addons')
3 files changed, 16 insertions, 5 deletions
diff --git a/OpenSim/Addons/Groups/Hypergrid/GroupsServiceHGConnectorModule.cs b/OpenSim/Addons/Groups/Hypergrid/GroupsServiceHGConnectorModule.cs index f670272..7e0b112 100644 --- a/OpenSim/Addons/Groups/Hypergrid/GroupsServiceHGConnectorModule.cs +++ b/OpenSim/Addons/Groups/Hypergrid/GroupsServiceHGConnectorModule.cs | |||
@@ -186,7 +186,6 @@ namespace OpenSim.Groups | |||
186 | public UUID CreateGroup(UUID RequestingAgentID, string name, string charter, bool showInList, UUID insigniaID, int membershipFee, bool openEnrollment, | 186 | public UUID CreateGroup(UUID RequestingAgentID, string name, string charter, bool showInList, UUID insigniaID, int membershipFee, bool openEnrollment, |
187 | bool allowPublish, bool maturePublish, UUID founderID, out string reason) | 187 | bool allowPublish, bool maturePublish, UUID founderID, out string reason) |
188 | { | 188 | { |
189 | m_log.DebugFormat("[Groups]: Creating group {0}", name); | ||
190 | reason = string.Empty; | 189 | reason = string.Empty; |
191 | if (m_UserManagement.IsLocalGridUser(RequestingAgentID)) | 190 | if (m_UserManagement.IsLocalGridUser(RequestingAgentID)) |
192 | return m_LocalGroupsConnector.CreateGroup(RequestingAgentID, name, charter, showInList, insigniaID, | 191 | return m_LocalGroupsConnector.CreateGroup(RequestingAgentID, name, charter, showInList, insigniaID, |
diff --git a/OpenSim/Addons/Groups/Remote/GroupsServiceRobustConnector.cs b/OpenSim/Addons/Groups/Remote/GroupsServiceRobustConnector.cs index f991d01..28f7acc 100644 --- a/OpenSim/Addons/Groups/Remote/GroupsServiceRobustConnector.cs +++ b/OpenSim/Addons/Groups/Remote/GroupsServiceRobustConnector.cs | |||
@@ -170,11 +170,16 @@ namespace OpenSim.Groups | |||
170 | 170 | ||
171 | } | 171 | } |
172 | 172 | ||
173 | grec = m_GroupsService.GetGroupRecord(RequestingAgentID, grec.GroupID); | 173 | if (grec.GroupID != UUID.Zero) |
174 | if (grec == null) | 174 | { |
175 | NullResult(result, "Internal Error"); | 175 | grec = m_GroupsService.GetGroupRecord(RequestingAgentID, grec.GroupID); |
176 | if (grec == null) | ||
177 | NullResult(result, "Internal Error"); | ||
178 | else | ||
179 | result["RESULT"] = GroupsDataUtils.GroupRecord(grec); | ||
180 | } | ||
176 | else | 181 | else |
177 | result["RESULT"] = GroupsDataUtils.GroupRecord(grec); | 182 | NullResult(result, reason); |
178 | } | 183 | } |
179 | 184 | ||
180 | string xmlString = ServerUtils.BuildXmlResponse(result); | 185 | string xmlString = ServerUtils.BuildXmlResponse(result); |
diff --git a/OpenSim/Addons/Groups/Service/GroupsService.cs b/OpenSim/Addons/Groups/Service/GroupsService.cs index 6a4348b..a2ef13a 100644 --- a/OpenSim/Addons/Groups/Service/GroupsService.cs +++ b/OpenSim/Addons/Groups/Service/GroupsService.cs | |||
@@ -130,6 +130,13 @@ namespace OpenSim.Groups | |||
130 | { | 130 | { |
131 | reason = string.Empty; | 131 | reason = string.Empty; |
132 | 132 | ||
133 | // Check if the group already exists | ||
134 | if (m_Database.RetrieveGroup(name) != null) | ||
135 | { | ||
136 | reason = "A group with that name already exists"; | ||
137 | return UUID.Zero; | ||
138 | } | ||
139 | |||
133 | // Create the group | 140 | // Create the group |
134 | GroupData data = new GroupData(); | 141 | GroupData data = new GroupData(); |
135 | data.GroupID = UUID.Random(); | 142 | data.GroupID = UUID.Random(); |