diff options
Diffstat (limited to 'OpenSim/Region/CoreModules/Agent/AssetTransaction/AssetXferUploader.cs')
-rw-r--r-- | OpenSim/Region/CoreModules/Agent/AssetTransaction/AssetXferUploader.cs | 51 |
1 files changed, 22 insertions, 29 deletions
diff --git a/OpenSim/Region/CoreModules/Agent/AssetTransaction/AssetXferUploader.cs b/OpenSim/Region/CoreModules/Agent/AssetTransaction/AssetXferUploader.cs index afd9f5a..e192b81 100644 --- a/OpenSim/Region/CoreModules/Agent/AssetTransaction/AssetXferUploader.cs +++ b/OpenSim/Region/CoreModules/Agent/AssetTransaction/AssetXferUploader.cs | |||
@@ -32,6 +32,7 @@ using log4net; | |||
32 | using OpenMetaverse; | 32 | using OpenMetaverse; |
33 | using OpenSim.Framework; | 33 | using OpenSim.Framework; |
34 | using OpenSim.Framework.Communications.Cache; | 34 | using OpenSim.Framework.Communications.Cache; |
35 | using OpenSim.Services.Interfaces; | ||
35 | 36 | ||
36 | namespace OpenSim.Region.CoreModules.Agent.AssetTransaction | 37 | namespace OpenSim.Region.CoreModules.Agent.AssetTransaction |
37 | { | 38 | { |
@@ -214,39 +215,31 @@ namespace OpenSim.Region.CoreModules.Agent.AssetTransaction | |||
214 | private void DoCreateItem(uint callbackID) | 215 | private void DoCreateItem(uint callbackID) |
215 | { | 216 | { |
216 | m_userTransactions.Manager.MyScene.AssetService.Store(m_asset); | 217 | m_userTransactions.Manager.MyScene.AssetService.Store(m_asset); |
217 | CachedUserInfo userInfo = | ||
218 | m_userTransactions.Manager.MyScene.CommsManager.UserProfileCacheService.GetUserDetails( | ||
219 | ourClient.AgentId); | ||
220 | 218 | ||
221 | if (userInfo != null) | 219 | IInventoryService invService = m_userTransactions.Manager.MyScene.InventoryService; |
222 | { | 220 | |
223 | InventoryItemBase item = new InventoryItemBase(); | 221 | InventoryItemBase item = new InventoryItemBase(); |
224 | item.Owner = ourClient.AgentId; | 222 | item.Owner = ourClient.AgentId; |
225 | item.CreatorId = ourClient.AgentId.ToString(); | 223 | item.CreatorId = ourClient.AgentId.ToString(); |
226 | item.ID = UUID.Random(); | 224 | item.ID = UUID.Random(); |
227 | item.AssetID = m_asset.FullID; | 225 | item.AssetID = m_asset.FullID; |
228 | item.Description = m_description; | 226 | item.Description = m_description; |
229 | item.Name = m_name; | 227 | item.Name = m_name; |
230 | item.AssetType = type; | 228 | item.AssetType = type; |
231 | item.InvType = invType; | 229 | item.InvType = invType; |
232 | item.Folder = InventFolder; | 230 | item.Folder = InventFolder; |
233 | item.BasePermissions = 0x7fffffff; | 231 | item.BasePermissions = 0x7fffffff; |
234 | item.CurrentPermissions = 0x7fffffff; | 232 | item.CurrentPermissions = 0x7fffffff; |
235 | item.GroupPermissions=0; | 233 | item.GroupPermissions=0; |
236 | item.EveryOnePermissions=0; | 234 | item.EveryOnePermissions=0; |
237 | item.NextPermissions = nextPerm; | 235 | item.NextPermissions = nextPerm; |
238 | item.Flags = (uint) wearableType; | 236 | item.Flags = (uint) wearableType; |
239 | item.CreationDate = Util.UnixTimeSinceEpoch(); | 237 | item.CreationDate = Util.UnixTimeSinceEpoch(); |
240 | 238 | ||
241 | userInfo.AddItem(item); | 239 | if (invService.AddItem(item)) |
242 | ourClient.SendInventoryItemCreateUpdate(item, callbackID); | 240 | ourClient.SendInventoryItemCreateUpdate(item, callbackID); |
243 | } | ||
244 | else | 241 | else |
245 | { | 242 | ourClient.SendAlertMessage("Unable to create inventory item"); |
246 | m_log.ErrorFormat( | ||
247 | "[ASSET TRANSACTIONS]: Could not find user {0} for inventory item creation", | ||
248 | ourClient.AgentId); | ||
249 | } | ||
250 | } | 243 | } |
251 | 244 | ||
252 | /// <summary> | 245 | /// <summary> |