diff options
author | Teravus Ovares | 2008-04-30 16:08:24 +0000 |
---|---|---|
committer | Teravus Ovares | 2008-04-30 16:08:24 +0000 |
commit | a9cc76e0efba7496909d613c75b81de6a9c5d979 (patch) | |
tree | e83763d4dfb3b78ead9b5926dce1d2468b496845 /OpenSim/Region | |
parent | move IUserService into the OpenSim.Framework.Communications assembly (diff) | |
download | opensim-SC-a9cc76e0efba7496909d613c75b81de6a9c5d979.zip opensim-SC-a9cc76e0efba7496909d613c75b81de6a9c5d979.tar.gz opensim-SC-a9cc76e0efba7496909d613c75b81de6a9c5d979.tar.bz2 opensim-SC-a9cc76e0efba7496909d613c75b81de6a9c5d979.tar.xz |
* Long awaited patch from A_Biondi Mantis 923. Kept alive by Melanie. Thanks A_Biondi and Melanie!
* This builds but might not work. JustinCC will examine.. it may work out of the box.
Diffstat (limited to 'OpenSim/Region')
5 files changed, 110 insertions, 30 deletions
diff --git a/OpenSim/Region/ClientStack/ClientView.cs b/OpenSim/Region/ClientStack/ClientView.cs index aac96d1..010a37f 100644 --- a/OpenSim/Region/ClientStack/ClientView.cs +++ b/OpenSim/Region/ClientStack/ClientView.cs | |||
@@ -1284,21 +1284,25 @@ namespace OpenSim.Region.ClientStack | |||
1284 | descend.ItemData[i].AssetID = item.AssetID; | 1284 | descend.ItemData[i].AssetID = item.AssetID; |
1285 | descend.ItemData[i].CreatorID = item.Creator; | 1285 | descend.ItemData[i].CreatorID = item.Creator; |
1286 | descend.ItemData[i].BaseMask = item.BasePermissions; | 1286 | descend.ItemData[i].BaseMask = item.BasePermissions; |
1287 | descend.ItemData[i].CreationDate = 1000; | ||
1288 | descend.ItemData[i].Description = Helpers.StringToField(item.Description); | 1287 | descend.ItemData[i].Description = Helpers.StringToField(item.Description); |
1289 | descend.ItemData[i].EveryoneMask = item.EveryOnePermissions; | 1288 | descend.ItemData[i].EveryoneMask = item.EveryOnePermissions; |
1290 | descend.ItemData[i].Flags = 1; | 1289 | descend.ItemData[i].OwnerMask = item.CurrentPermissions; |
1291 | descend.ItemData[i].FolderID = item.Folder; | 1290 | descend.ItemData[i].FolderID = item.Folder; |
1292 | descend.ItemData[i].GroupID = new LLUUID("00000000-0000-0000-0000-000000000000"); | 1291 | descend.ItemData[i].InvType = (sbyte)item.InvType; |
1293 | descend.ItemData[i].GroupMask = 0; | ||
1294 | descend.ItemData[i].InvType = (sbyte) item.InvType; | ||
1295 | descend.ItemData[i].Name = Helpers.StringToField(item.Name); | 1292 | descend.ItemData[i].Name = Helpers.StringToField(item.Name); |
1296 | descend.ItemData[i].NextOwnerMask = item.NextPermissions; | 1293 | descend.ItemData[i].NextOwnerMask = item.NextPermissions; |
1297 | descend.ItemData[i].OwnerID = item.Owner; | 1294 | descend.ItemData[i].OwnerID = item.Owner; |
1298 | descend.ItemData[i].OwnerMask = item.CurrentPermissions; | 1295 | descend.ItemData[i].Type = (sbyte)item.AssetType; |
1299 | descend.ItemData[i].SalePrice = 0; | 1296 | |
1300 | descend.ItemData[i].SaleType = 0; | 1297 | //descend.ItemData[i].GroupID = new LLUUID("00000000-0000-0000-0000-000000000000"); |
1301 | descend.ItemData[i].Type = (sbyte) item.AssetType; | 1298 | descend.ItemData[i].GroupID = item.GroupID; |
1299 | descend.ItemData[i].GroupOwned = item.GroupOwned; | ||
1300 | descend.ItemData[i].GroupMask = 0; | ||
1301 | descend.ItemData[i].CreationDate = item.CreationDate; | ||
1302 | descend.ItemData[i].SalePrice = item.SalePrice; | ||
1303 | descend.ItemData[i].SaleType = item.SaleType; | ||
1304 | descend.ItemData[i].Flags = item.Flags; | ||
1305 | |||
1302 | descend.ItemData[i].CRC = | 1306 | descend.ItemData[i].CRC = |
1303 | Helpers.InventoryCRC(descend.ItemData[i].CreationDate, descend.ItemData[i].SaleType, | 1307 | Helpers.InventoryCRC(descend.ItemData[i].CreationDate, descend.ItemData[i].SaleType, |
1304 | descend.ItemData[i].InvType, descend.ItemData[i].Type, | 1308 | descend.ItemData[i].InvType, descend.ItemData[i].Type, |
@@ -1433,18 +1437,22 @@ namespace OpenSim.Region.ClientStack | |||
1433 | (int)(DateTime.UtcNow - new DateTime(1970, 1, 1)).TotalSeconds; | 1437 | (int)(DateTime.UtcNow - new DateTime(1970, 1, 1)).TotalSeconds; |
1434 | inventoryReply.InventoryData[0].Description = Helpers.StringToField(item.Description); | 1438 | inventoryReply.InventoryData[0].Description = Helpers.StringToField(item.Description); |
1435 | inventoryReply.InventoryData[0].EveryoneMask = item.EveryOnePermissions; | 1439 | inventoryReply.InventoryData[0].EveryoneMask = item.EveryOnePermissions; |
1436 | inventoryReply.InventoryData[0].Flags = 0; | ||
1437 | inventoryReply.InventoryData[0].FolderID = item.Folder; | 1440 | inventoryReply.InventoryData[0].FolderID = item.Folder; |
1438 | inventoryReply.InventoryData[0].GroupID = new LLUUID("00000000-0000-0000-0000-000000000000"); | ||
1439 | inventoryReply.InventoryData[0].GroupMask = 0; | ||
1440 | inventoryReply.InventoryData[0].InvType = (sbyte)item.InvType; | 1441 | inventoryReply.InventoryData[0].InvType = (sbyte)item.InvType; |
1441 | inventoryReply.InventoryData[0].Name = Helpers.StringToField(item.Name); | 1442 | inventoryReply.InventoryData[0].Name = Helpers.StringToField(item.Name); |
1442 | inventoryReply.InventoryData[0].NextOwnerMask = item.NextPermissions; | 1443 | inventoryReply.InventoryData[0].NextOwnerMask = item.NextPermissions; |
1443 | inventoryReply.InventoryData[0].OwnerID = item.Owner; | 1444 | inventoryReply.InventoryData[0].OwnerID = item.Owner; |
1444 | inventoryReply.InventoryData[0].OwnerMask = item.CurrentPermissions; | 1445 | inventoryReply.InventoryData[0].OwnerMask = item.CurrentPermissions; |
1445 | inventoryReply.InventoryData[0].SalePrice = 0; | ||
1446 | inventoryReply.InventoryData[0].SaleType = 0; | ||
1447 | inventoryReply.InventoryData[0].Type = (sbyte)item.AssetType; | 1446 | inventoryReply.InventoryData[0].Type = (sbyte)item.AssetType; |
1447 | |||
1448 | //inventoryReply.InventoryData[0].GroupID = new LLUUID("00000000-0000-0000-0000-000000000000"); | ||
1449 | inventoryReply.InventoryData[0].GroupID = item.GroupID; | ||
1450 | inventoryReply.InventoryData[0].GroupOwned = item.GroupOwned; | ||
1451 | inventoryReply.InventoryData[0].GroupMask = 0; | ||
1452 | inventoryReply.InventoryData[0].Flags = item.Flags; | ||
1453 | inventoryReply.InventoryData[0].SalePrice = item.SalePrice; | ||
1454 | inventoryReply.InventoryData[0].SaleType = item.SaleType; | ||
1455 | |||
1448 | inventoryReply.InventoryData[0].CRC = | 1456 | inventoryReply.InventoryData[0].CRC = |
1449 | Helpers.InventoryCRC(1000, 0, inventoryReply.InventoryData[0].InvType, | 1457 | Helpers.InventoryCRC(1000, 0, inventoryReply.InventoryData[0].InvType, |
1450 | inventoryReply.InventoryData[0].Type, inventoryReply.InventoryData[0].AssetID, | 1458 | inventoryReply.InventoryData[0].Type, inventoryReply.InventoryData[0].AssetID, |
@@ -1484,18 +1492,22 @@ namespace OpenSim.Region.ClientStack | |||
1484 | bulkUpdate.ItemData[0].CreationDate = 1000; | 1492 | bulkUpdate.ItemData[0].CreationDate = 1000; |
1485 | bulkUpdate.ItemData[0].Description = Helpers.StringToField(item.Description); | 1493 | bulkUpdate.ItemData[0].Description = Helpers.StringToField(item.Description); |
1486 | bulkUpdate.ItemData[0].EveryoneMask = item.EveryOnePermissions; | 1494 | bulkUpdate.ItemData[0].EveryoneMask = item.EveryOnePermissions; |
1487 | bulkUpdate.ItemData[0].Flags = 0; | ||
1488 | bulkUpdate.ItemData[0].FolderID = item.Folder; | 1495 | bulkUpdate.ItemData[0].FolderID = item.Folder; |
1489 | bulkUpdate.ItemData[0].GroupID = new LLUUID("00000000-0000-0000-0000-000000000000"); | ||
1490 | bulkUpdate.ItemData[0].GroupMask = 0; | ||
1491 | bulkUpdate.ItemData[0].InvType = (sbyte)item.InvType; | 1496 | bulkUpdate.ItemData[0].InvType = (sbyte)item.InvType; |
1492 | bulkUpdate.ItemData[0].Name = Helpers.StringToField(item.Name); | 1497 | bulkUpdate.ItemData[0].Name = Helpers.StringToField(item.Name); |
1493 | bulkUpdate.ItemData[0].NextOwnerMask = item.NextPermissions; | 1498 | bulkUpdate.ItemData[0].NextOwnerMask = item.NextPermissions; |
1494 | bulkUpdate.ItemData[0].OwnerID = item.Owner; | 1499 | bulkUpdate.ItemData[0].OwnerID = item.Owner; |
1495 | bulkUpdate.ItemData[0].OwnerMask = item.CurrentPermissions; | 1500 | bulkUpdate.ItemData[0].OwnerMask = item.CurrentPermissions; |
1496 | bulkUpdate.ItemData[0].SalePrice = 100; | ||
1497 | bulkUpdate.ItemData[0].SaleType = 0; | ||
1498 | bulkUpdate.ItemData[0].Type = (sbyte)item.AssetType; | 1501 | bulkUpdate.ItemData[0].Type = (sbyte)item.AssetType; |
1502 | |||
1503 | //bulkUpdate.ItemData[0].GroupID = new LLUUID("00000000-0000-0000-0000-000000000000"); | ||
1504 | bulkUpdate.ItemData[0].GroupID = item.GroupID; | ||
1505 | bulkUpdate.ItemData[0].GroupOwned = item.GroupOwned; | ||
1506 | bulkUpdate.ItemData[0].GroupMask = 0; | ||
1507 | bulkUpdate.ItemData[0].Flags = item.Flags; | ||
1508 | bulkUpdate.ItemData[0].SalePrice = item.SalePrice; | ||
1509 | bulkUpdate.ItemData[0].SaleType = item.SaleType; | ||
1510 | |||
1499 | bulkUpdate.ItemData[0].CRC = | 1511 | bulkUpdate.ItemData[0].CRC = |
1500 | Helpers.InventoryCRC(1000, 0, bulkUpdate.ItemData[0].InvType, | 1512 | Helpers.InventoryCRC(1000, 0, bulkUpdate.ItemData[0].InvType, |
1501 | bulkUpdate.ItemData[0].Type, bulkUpdate.ItemData[0].AssetID, | 1513 | bulkUpdate.ItemData[0].Type, bulkUpdate.ItemData[0].AssetID, |
@@ -1526,21 +1538,24 @@ namespace OpenSim.Region.ClientStack | |||
1526 | InventoryReply.InventoryData[0].AssetID = Item.AssetID; | 1538 | InventoryReply.InventoryData[0].AssetID = Item.AssetID; |
1527 | InventoryReply.InventoryData[0].CreatorID = Item.Creator; | 1539 | InventoryReply.InventoryData[0].CreatorID = Item.Creator; |
1528 | InventoryReply.InventoryData[0].BaseMask = Item.BasePermissions; | 1540 | InventoryReply.InventoryData[0].BaseMask = Item.BasePermissions; |
1529 | InventoryReply.InventoryData[0].CreationDate = 1000; | ||
1530 | InventoryReply.InventoryData[0].Description = Helpers.StringToField(Item.Description); | 1541 | InventoryReply.InventoryData[0].Description = Helpers.StringToField(Item.Description); |
1531 | InventoryReply.InventoryData[0].EveryoneMask = Item.EveryOnePermissions; | 1542 | InventoryReply.InventoryData[0].EveryoneMask = Item.EveryOnePermissions; |
1532 | InventoryReply.InventoryData[0].Flags = 0; | ||
1533 | InventoryReply.InventoryData[0].FolderID = Item.Folder; | 1543 | InventoryReply.InventoryData[0].FolderID = Item.Folder; |
1534 | InventoryReply.InventoryData[0].GroupID = new LLUUID("00000000-0000-0000-0000-000000000000"); | ||
1535 | InventoryReply.InventoryData[0].GroupMask = 0; | ||
1536 | InventoryReply.InventoryData[0].InvType = (sbyte)Item.InvType; | 1544 | InventoryReply.InventoryData[0].InvType = (sbyte)Item.InvType; |
1537 | InventoryReply.InventoryData[0].Name = Helpers.StringToField(Item.Name); | 1545 | InventoryReply.InventoryData[0].Name = Helpers.StringToField(Item.Name); |
1538 | InventoryReply.InventoryData[0].NextOwnerMask = Item.NextPermissions; | 1546 | InventoryReply.InventoryData[0].NextOwnerMask = Item.NextPermissions; |
1539 | InventoryReply.InventoryData[0].OwnerID = Item.Owner; | 1547 | InventoryReply.InventoryData[0].OwnerID = Item.Owner; |
1540 | InventoryReply.InventoryData[0].OwnerMask = Item.CurrentPermissions; | 1548 | InventoryReply.InventoryData[0].OwnerMask = Item.CurrentPermissions; |
1541 | InventoryReply.InventoryData[0].SalePrice = 100; | ||
1542 | InventoryReply.InventoryData[0].SaleType = 0; | ||
1543 | InventoryReply.InventoryData[0].Type = (sbyte)Item.AssetType; | 1549 | InventoryReply.InventoryData[0].Type = (sbyte)Item.AssetType; |
1550 | |||
1551 | //InventoryReply.InventoryData[0].GroupID = new LLUUID("00000000-0000-0000-0000-000000000000"); | ||
1552 | InventoryReply.InventoryData[0].GroupID = Item.GroupID; | ||
1553 | InventoryReply.InventoryData[0].GroupOwned = Item.GroupOwned; | ||
1554 | InventoryReply.InventoryData[0].GroupMask = 0; | ||
1555 | InventoryReply.InventoryData[0].Flags = Item.Flags; | ||
1556 | InventoryReply.InventoryData[0].SalePrice = Item.SalePrice; | ||
1557 | InventoryReply.InventoryData[0].SaleType = Item.SaleType; | ||
1558 | |||
1544 | InventoryReply.InventoryData[0].CRC = | 1559 | InventoryReply.InventoryData[0].CRC = |
1545 | Helpers.InventoryCRC(1000, 0, InventoryReply.InventoryData[0].InvType, | 1560 | Helpers.InventoryCRC(1000, 0, InventoryReply.InventoryData[0].InvType, |
1546 | InventoryReply.InventoryData[0].Type, InventoryReply.InventoryData[0].AssetID, | 1561 | InventoryReply.InventoryData[0].Type, InventoryReply.InventoryData[0].AssetID, |
@@ -4162,11 +4177,30 @@ namespace OpenSim.Region.ClientStack | |||
4162 | 4177 | ||
4163 | if (handlerUpdateInventoryItem != null) | 4178 | if (handlerUpdateInventoryItem != null) |
4164 | { | 4179 | { |
4180 | InventoryItemBase itemUpd = new InventoryItemBase(); | ||
4181 | itemUpd.ID = update.InventoryData[i].ItemID; | ||
4182 | itemUpd.Name = Util.FieldToString(update.InventoryData[i].Name); | ||
4183 | itemUpd.Description = Util.FieldToString(update.InventoryData[i].Description); | ||
4184 | itemUpd.GroupID = update.InventoryData[i].GroupID; | ||
4185 | itemUpd.GroupOwned = update.InventoryData[i].GroupOwned; | ||
4186 | itemUpd.NextPermissions = update.InventoryData[i].NextOwnerMask; | ||
4187 | itemUpd.EveryOnePermissions = update.InventoryData[i].EveryoneMask; | ||
4188 | itemUpd.CreationDate = update.InventoryData[i].CreationDate; | ||
4189 | itemUpd.Folder = update.InventoryData[i].FolderID; | ||
4190 | itemUpd.InvType = update.InventoryData[i].InvType; | ||
4191 | itemUpd.SalePrice = update.InventoryData[i].SalePrice; | ||
4192 | itemUpd.SaleType = update.InventoryData[i].SaleType; | ||
4193 | itemUpd.Flags = update.InventoryData[i].Flags; | ||
4194 | /* | ||
4165 | OnUpdateInventoryItem(this, update.InventoryData[i].TransactionID, | 4195 | OnUpdateInventoryItem(this, update.InventoryData[i].TransactionID, |
4166 | update.InventoryData[i].ItemID, | 4196 | update.InventoryData[i].ItemID, |
4167 | Util.FieldToString(update.InventoryData[i].Name), | 4197 | Util.FieldToString(update.InventoryData[i].Name), |
4168 | Util.FieldToString(update.InventoryData[i].Description), | 4198 | Util.FieldToString(update.InventoryData[i].Description), |
4169 | update.InventoryData[i].NextOwnerMask); | 4199 | update.InventoryData[i].NextOwnerMask); |
4200 | */ | ||
4201 | OnUpdateInventoryItem(this, update.InventoryData[i].TransactionID, | ||
4202 | update.InventoryData[i].ItemID, | ||
4203 | itemUpd); | ||
4170 | } | 4204 | } |
4171 | } | 4205 | } |
4172 | } | 4206 | } |
diff --git a/OpenSim/Region/Communications/Local/LocalInventoryService.cs b/OpenSim/Region/Communications/Local/LocalInventoryService.cs index 175829b..0de00a1 100644 --- a/OpenSim/Region/Communications/Local/LocalInventoryService.cs +++ b/OpenSim/Region/Communications/Local/LocalInventoryService.cs | |||
@@ -95,6 +95,11 @@ namespace OpenSim.Region.Communications.Local | |||
95 | AddItem(item); | 95 | AddItem(item); |
96 | } | 96 | } |
97 | 97 | ||
98 | public override void UpdateInventoryItem(LLUUID userID, InventoryItemBase item) | ||
99 | { | ||
100 | UpdateItem(item); | ||
101 | } | ||
102 | |||
98 | public override void DeleteInventoryItem(LLUUID userID, InventoryItemBase item) | 103 | public override void DeleteInventoryItem(LLUUID userID, InventoryItemBase item) |
99 | { | 104 | { |
100 | DeleteItem(item); | 105 | DeleteItem(item); |
diff --git a/OpenSim/Region/Communications/OGS1/OGS1InventoryService.cs b/OpenSim/Region/Communications/OGS1/OGS1InventoryService.cs index 65f3ee3..5b72f0d 100644 --- a/OpenSim/Region/Communications/OGS1/OGS1InventoryService.cs +++ b/OpenSim/Region/Communications/OGS1/OGS1InventoryService.cs | |||
@@ -229,6 +229,21 @@ namespace OpenSim.Region.Communications.OGS1 | |||
229 | } | 229 | } |
230 | } | 230 | } |
231 | 231 | ||
232 | // TODO: this is a temporary workaround, the UpdateInventoryItem method need to be implemented | ||
233 | public void UpdateInventoryItem(LLUUID userID, InventoryItemBase item) | ||
234 | { | ||
235 | try | ||
236 | { | ||
237 | SynchronousRestObjectPoster.BeginPostObject<InventoryItemBase, bool>( | ||
238 | "POST", _inventoryServerUrl + "/NewItem/", item); | ||
239 | } | ||
240 | catch (System.Net.WebException e) | ||
241 | { | ||
242 | m_log.ErrorFormat("[OGS1 INVENTORY SERVICE]: Add new inventory item operation failed, {0} {1}", | ||
243 | e.Source, e.Message); | ||
244 | } | ||
245 | } | ||
246 | |||
232 | /// <summary> | 247 | /// <summary> |
233 | /// <see cref="OpenSim.Framework.Communications.IInventoryServices"></see> | 248 | /// <see cref="OpenSim.Framework.Communications.IInventoryServices"></see> |
234 | /// </summary> | 249 | /// </summary> |
diff --git a/OpenSim/Region/Environment/Modules/AgentAssetsTransactions.cs b/OpenSim/Region/Environment/Modules/AgentAssetsTransactions.cs index 4d2ec5b..9fa173d 100644 --- a/OpenSim/Region/Environment/Modules/AgentAssetsTransactions.cs +++ b/OpenSim/Region/Environment/Modules/AgentAssetsTransactions.cs | |||
@@ -150,6 +150,7 @@ namespace OpenSim.Region.Environment.Modules | |||
150 | private string m_description = String.Empty; | 150 | private string m_description = String.Empty; |
151 | private sbyte type = 0; | 151 | private sbyte type = 0; |
152 | private sbyte invType = 0; | 152 | private sbyte invType = 0; |
153 | private byte wearableType = 0; | ||
153 | private uint nextPerm = 0; | 154 | private uint nextPerm = 0; |
154 | private bool m_finished = false; | 155 | private bool m_finished = false; |
155 | private bool m_createItem = false; | 156 | private bool m_createItem = false; |
@@ -314,6 +315,7 @@ namespace OpenSim.Region.Environment.Modules | |||
314 | m_description = description; | 315 | m_description = description; |
315 | this.type = type; | 316 | this.type = type; |
316 | this.invType = invType; | 317 | this.invType = invType; |
318 | this.wearableType = wearableType; | ||
317 | nextPerm = nextOwnerMask; | 319 | nextPerm = nextOwnerMask; |
318 | Asset.Name = name; | 320 | Asset.Name = name; |
319 | Asset.Description = description; | 321 | Asset.Description = description; |
@@ -386,6 +388,7 @@ namespace OpenSim.Region.Environment.Modules | |||
386 | item.BasePermissions = 2147483647; | 388 | item.BasePermissions = 2147483647; |
387 | item.CurrentPermissions = 2147483647; | 389 | item.CurrentPermissions = 2147483647; |
388 | item.NextPermissions = nextPerm; | 390 | item.NextPermissions = nextPerm; |
391 | item.Flags = (uint)wearableType; | ||
389 | 392 | ||
390 | userInfo.AddItem(ourClient.AgentId, item); | 393 | userInfo.AddItem(ourClient.AgentId, item); |
391 | ourClient.SendInventoryItemCreateUpdate(item); | 394 | ourClient.SendInventoryItemCreateUpdate(item); |
diff --git a/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs b/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs index d41ede1..7e1b89f 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs | |||
@@ -260,9 +260,11 @@ namespace OpenSim.Region.Environment.Scenes | |||
260 | /// <param name="name">The name of the updated item</param> | 260 | /// <param name="name">The name of the updated item</param> |
261 | /// <param name="description">The description of the updated item</param> | 261 | /// <param name="description">The description of the updated item</param> |
262 | /// <param name="nextOwnerMask">The permissions of the updated item</param> | 262 | /// <param name="nextOwnerMask">The permissions of the updated item</param> |
263 | public void UpdateInventoryItemAsset(IClientAPI remoteClient, LLUUID transactionID, | 263 | /* public void UpdateInventoryItemAsset(IClientAPI remoteClient, LLUUID transactionID, |
264 | LLUUID itemID, string name, string description, | 264 | LLUUID itemID, string name, string description, |
265 | uint nextOwnerMask) | 265 | uint nextOwnerMask)*/ |
266 | public void UpdateInventoryItemAsset(IClientAPI remoteClient, LLUUID transactionID, | ||
267 | LLUUID itemID, InventoryItemBase itemUpd) | ||
266 | { | 268 | { |
267 | CachedUserInfo userInfo | 269 | CachedUserInfo userInfo |
268 | = CommsManager.UserProfileCacheService.GetUserDetails(remoteClient.AgentId); | 270 | = CommsManager.UserProfileCacheService.GetUserDetails(remoteClient.AgentId); |
@@ -275,9 +277,22 @@ namespace OpenSim.Region.Environment.Scenes | |||
275 | { | 277 | { |
276 | if (LLUUID.Zero == transactionID) | 278 | if (LLUUID.Zero == transactionID) |
277 | { | 279 | { |
278 | item.Name = name; | 280 | item.Name = itemUpd.Name; |
279 | item.Description = description; | 281 | item.Description = itemUpd.Description; |
280 | item.NextPermissions = nextOwnerMask; | 282 | item.NextPermissions = itemUpd.NextPermissions; |
283 | item.EveryOnePermissions = itemUpd.EveryOnePermissions; | ||
284 | |||
285 | // TODO: Requires sanity checks | ||
286 | //item.GroupID = itemUpd.GroupID; | ||
287 | //item.GroupOwned = itemUpd.GroupOwned; | ||
288 | //item.CreationDate = itemUpd.CreationDate; | ||
289 | |||
290 | // TODO: Check if folder changed and move item | ||
291 | //item.NextPermissions = itemUpd.Folder; | ||
292 | item.InvType = itemUpd.InvType; | ||
293 | item.SalePrice = itemUpd.SalePrice; | ||
294 | item.SaleType = itemUpd.SaleType; | ||
295 | item.Flags = itemUpd.Flags; | ||
281 | 296 | ||
282 | userInfo.UpdateItem(remoteClient.AgentId, item); | 297 | userInfo.UpdateItem(remoteClient.AgentId, item); |
283 | } | 298 | } |
@@ -351,6 +366,12 @@ namespace OpenSim.Region.Environment.Scenes | |||
351 | itemCopy.BasePermissions = item.BasePermissions; | 366 | itemCopy.BasePermissions = item.BasePermissions; |
352 | itemCopy.CurrentPermissions = item.CurrentPermissions; | 367 | itemCopy.CurrentPermissions = item.CurrentPermissions; |
353 | 368 | ||
369 | itemCopy.GroupID = item.GroupID; | ||
370 | itemCopy.GroupOwned = item.GroupOwned; | ||
371 | itemCopy.Flags = item.Flags; | ||
372 | itemCopy.SalePrice = item.SalePrice; | ||
373 | itemCopy.SaleType = item.SaleType; | ||
374 | |||
354 | recipientUserInfo.AddItem(recipientClient.AgentId, itemCopy); | 375 | recipientUserInfo.AddItem(recipientClient.AgentId, itemCopy); |
355 | 376 | ||
356 | // Let the recipient client know about this new item | 377 | // Let the recipient client know about this new item |
@@ -988,6 +1009,8 @@ namespace OpenSim.Region.Environment.Scenes | |||
988 | item.NextPermissions = objectGroup.RootPart.NextOwnerMask; | 1009 | item.NextPermissions = objectGroup.RootPart.NextOwnerMask; |
989 | } | 1010 | } |
990 | 1011 | ||
1012 | // TODO: add the new fields (Flags, Sale info, etc) | ||
1013 | |||
991 | userInfo.AddItem(remoteClient.AgentId, item); | 1014 | userInfo.AddItem(remoteClient.AgentId, item); |
992 | remoteClient.SendInventoryItemCreateUpdate(item); | 1015 | remoteClient.SendInventoryItemCreateUpdate(item); |
993 | } | 1016 | } |