aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorOren Hurvitz2014-03-24 18:00:59 +0200
committerOren Hurvitz2014-03-24 17:02:13 +0100
commitdf9845a283d34c65d47b858a1c45934ee2ea6b3b (patch)
tree0d89e1d00c1401d692204f2198b45049b2509057
parentFixed unit tests for delinking objects (diff)
downloadopensim-SC-df9845a283d34c65d47b858a1c45934ee2ea6b3b.zip
opensim-SC-df9845a283d34c65d47b858a1c45934ee2ea6b3b.tar.gz
opensim-SC-df9845a283d34c65d47b858a1c45934ee2ea6b3b.tar.bz2
opensim-SC-df9845a283d34c65d47b858a1c45934ee2ea6b3b.tar.xz
When a user logs-in, automatically create the Suitcase folder
This is only done if the Suitcase Inventory Service is used. Previously the Suitcase was created at a later time, which meant that it wasn't shown in the viewer until the viewer was restarted.
-rw-r--r--OpenSim/Services/HypergridService/HGSuitcaseInventoryService.cs22
-rw-r--r--OpenSim/Services/LLLoginService/LLLoginService.cs16
2 files changed, 23 insertions, 15 deletions
diff --git a/OpenSim/Services/HypergridService/HGSuitcaseInventoryService.cs b/OpenSim/Services/HypergridService/HGSuitcaseInventoryService.cs
index 90ce44a..1608039 100644
--- a/OpenSim/Services/HypergridService/HGSuitcaseInventoryService.cs
+++ b/OpenSim/Services/HypergridService/HGSuitcaseInventoryService.cs
@@ -215,25 +215,17 @@ namespace OpenSim.Services.HypergridService
215 if (suitcase == null) 215 if (suitcase == null)
216 { 216 {
217 m_log.ErrorFormat("[HG SUITCASE INVENTORY SERVICE]: Unable to create suitcase folder"); 217 m_log.ErrorFormat("[HG SUITCASE INVENTORY SERVICE]: Unable to create suitcase folder");
218 return null;
218 } 219 }
219 else 220
220 { 221 m_Database.StoreFolder(suitcase);
221 m_Database.StoreFolder(suitcase);
222
223 // Create System folders
224 CreateSystemFolders(principalID, suitcase.folderID);
225 222
226 SetAsNormalFolder(suitcase); 223 CreateSystemFolders(principalID, suitcase.folderID);
227
228 return ConvertToOpenSim(suitcase);
229 }
230 }
231 else
232 {
233 return ConvertToOpenSim(suitcase);
234 } 224 }
235 225
236 return null; 226 SetAsNormalFolder(suitcase);
227
228 return ConvertToOpenSim(suitcase);
237 } 229 }
238 230
239 protected void CreateSystemFolders(UUID principalID, UUID rootID) 231 protected void CreateSystemFolders(UUID principalID, UUID rootID)
diff --git a/OpenSim/Services/LLLoginService/LLLoginService.cs b/OpenSim/Services/LLLoginService/LLLoginService.cs
index 46a5c18..d8f036a 100644
--- a/OpenSim/Services/LLLoginService/LLLoginService.cs
+++ b/OpenSim/Services/LLLoginService/LLLoginService.cs
@@ -58,6 +58,7 @@ namespace OpenSim.Services.LLLoginService
58 protected IGridUserService m_GridUserService; 58 protected IGridUserService m_GridUserService;
59 protected IAuthenticationService m_AuthenticationService; 59 protected IAuthenticationService m_AuthenticationService;
60 protected IInventoryService m_InventoryService; 60 protected IInventoryService m_InventoryService;
61 protected IInventoryService m_HGInventoryService;
61 protected IGridService m_GridService; 62 protected IGridService m_GridService;
62 protected IPresenceService m_PresenceService; 63 protected IPresenceService m_PresenceService;
63 protected ISimulationService m_LocalSimulationService; 64 protected ISimulationService m_LocalSimulationService;
@@ -165,6 +166,14 @@ namespace OpenSim.Services.LLLoginService
165 if (agentService != string.Empty) 166 if (agentService != string.Empty)
166 m_UserAgentService = ServerUtils.LoadPlugin<IUserAgentService>(agentService, args); 167 m_UserAgentService = ServerUtils.LoadPlugin<IUserAgentService>(agentService, args);
167 168
169 // Get the Hypergrid inventory service (exists only if Hypergrid is enabled)
170 string hgInvService = Util.GetConfigVarFromSections<string>(config, "LocalServiceModule", new string[] { "HGInventoryService" }, String.Empty);
171 if (hgInvService != string.Empty)
172 {
173 Object[] args2 = new Object[] { config, "HGInventoryService" };
174 m_HGInventoryService = ServerUtils.LoadPlugin<IInventoryService>(hgInvService, args2);
175 }
176
168 // 177 //
169 // deal with the services given as argument 178 // deal with the services given as argument
170 // 179 //
@@ -350,6 +359,13 @@ namespace OpenSim.Services.LLLoginService
350 return LLFailedLoginResponse.InventoryProblem; 359 return LLFailedLoginResponse.InventoryProblem;
351 } 360 }
352 361
362 if (m_HGInventoryService != null)
363 {
364 // Give the Suitcase service a chance to create the suitcase folder.
365 // (If we're not using the Suitcase inventory service then this won't do anything.)
366 m_HGInventoryService.GetRootFolder(account.PrincipalID);
367 }
368
353 List<InventoryFolderBase> inventorySkel = m_InventoryService.GetInventorySkeleton(account.PrincipalID); 369 List<InventoryFolderBase> inventorySkel = m_InventoryService.GetInventorySkeleton(account.PrincipalID);
354 if (m_RequireInventory && ((inventorySkel == null) || (inventorySkel != null && inventorySkel.Count == 0))) 370 if (m_RequireInventory && ((inventorySkel == null) || (inventorySkel != null && inventorySkel.Count == 0)))
355 { 371 {