aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Services/InventoryService (unfollow)
Commit message (Collapse)AuthorFilesLines
2012-11-17Do not allow invariants to change on calls to XInventoryService.UpdateItem()Justin Clark-Casey (justincc)2-10/+140
This is to help track down http://opensimulator.org/mantis/view.php?id=6359 where creator IDs on items and rezzed objects have been reported to sometimes change. This should never happen - a particular item should never change creators (if an item is given then a new item (with new id) is created). Invariants are inventory type, asset type, folder (changed only on MoveItems()), CreatorIdentification and Owner. If caller attempts to change an invariant, warning is logged but other properties are still changed. If you see this warning, reporting on Mantis 6359 would be very welcome with the exact operation being done at the time.
2012-11-17Add basic XInventoryServicesTests.TestAddItem() regression test.Justin Clark-Casey (justincc)1-0/+87
2012-11-14The last few AssemblyInfos. Finished!Diva Canto1-0/+33
2012-11-09Update parent inventory folder version numbers when folders are ↵Justin Clark-Casey (justincc)1-10/+1
moved/created/deleted to match version numbers cached by viewers. This is done in the way that one would expect (e.g. moving a folder increments version number on both source and destination parent folders). This should hopefully improve viewer reuse of its cached inventory information. Currently MySQL only but will be implement for SQLite/MSSQL if there are no issues.
2012-08-29Fix regression introduced in a0d178b2 (Sat Aug 25 02:00:17 2012) where ↵Justin Clark-Casey (justincc)1-1/+2
folders with asset type of 'Folder' and 'Unknown' were accidentally treated as system folders. This prevented more than one additional ordinary folder from being created in the base "My Inventory" user folder. Added regression test for this case. Switched tests to use XInventoryService with mostly implemented TestXInventoryDataPlugin rather than InventoryService Disabled TestLoadIarV0_1SameNameCreator() since this has not been working for a very long time (ever since XInventoryService) started being used since it doesnt' preserve creator data in the same way as InventoryService did and so effectively lost the OSPAs. However, nobody noticed/complained about this issue and OSPAs have been superseded by HG like creator information via the --home save oar/iar switch.
2012-08-25Following on from f8a89a79, do not allow more than one 'type' folder (e.g. ↵Justin Clark-Casey (justincc)1-16/+49
calling cards) to be created in the base "My Inventory" user folder. This is to accomodate situations where viewers will create more than one 'type' subfolder (e.g. calling cards) But at the same time to prevent multiple such 'system' folders (those in the base "My Inventory" user folder). This also makes GetFolderForType() only return a folder in the base "My Inventory" folder, if such a type folder exists
2012-08-25Allow multiple calling card type inventory folders to be created.Justin Clark-Casey (justincc)1-0/+1
Modern viewers want to create Friends and All folders of this type inside the root Calling Cards folder.
2012-06-02Fix various issues with http inventoryJustin Clark-Casey (justincc)1-1/+1
1) The return messages were being wrongly populated with the names of asset, inventory and sale types when their corresponding integers should have been used instead. 2) Folders with links were including the linked items in the descendents figure, when only the links should be included. 3) Links and linked items in link folders were not being included in the return data, and not in the correct order. Now that these issues have been addressed, outfits and attachments appear to work consistently when HTTP inventory is enabled (as is now the default).
2012-05-21minor: extend commented out LinkInventoryItem log message for future useJustin Clark-Casey (justincc)1-3/+3
2012-05-21Fix bug where outfit folders could not be renamed.Justin Clark-Casey (justincc)1-4/+13
Outfit folders are a type of system folder whose details are allowed to change.
2012-05-18Fix issue where a new outfit folder is not created when a new outfit is ↵Justin Clark-Casey (justincc)1-3/+9
saved if there are no previous outfits This was because AddFolder() was disallowing these though they are legal.
2012-05-04refactor: Rename new DeleteFoldersEx/PurgeFoldersEx methods to ↵Justin Clark-Casey (justincc)1-6/+7
DeleteFolders/PurgeFolders overloads as previously discussed with Oren - I think this makes more sense on balance These overloads are not publicly available on core connectors or IInventoryService.
2012-05-04Allow deleting folders even if they're not in the TrashOren Hurvitz1-4/+15
The functions DeleteFolders() and PurgeFolder() still work as before, i.e. they only allow deleting folders that are in the Trash. However, the functions DeleteFoldersEx() and PurgeFolderEx() can now be used to delete any folder.
2012-04-06A few minor tweaks here and there in XInventoryService.Diva Canto1-14/+48
2012-03-27Reverse a conditional in XInventory that made updating system folder evrsion ↵Melanie1-1/+1
numbers impossible
2012-03-27Send the config section name up to the service classes themselves ↵Diva Canto1-2/+10
(XInventory and Assets).
2011-09-23Fix avatar parameter updating for viewer 3 and maybe 2.Justin Clark-Casey (justincc)1-5/+9
When a slider parameter is changed, the viewer uploads a new shape (or other asset) and the item is updated to point to it. Viewer 1 uploaded the data in the initial request itself, so the asset references was almost always correctly updated. However, viewer 3/2 always uploads data in a subsequent xfer, which exposed a race condition where the viewer would make the item update before the asset had uploaded. This commit shuffles the order of operations to avoid this race, the item is updated with the new asset id instead of the old one while the upload was still taking place. A second race had to be fixed where avatar appearance would also be updated with the old asset id rather than the new one. This was fixed by updating the avatar appearance ids when the appearance was actually saved, rather than when the wearables update was made.
2011-07-23For default everyone permissions on library items, make notecards and ↵Justin Clark-Casey (justincc)1-1/+2
scripts non-modifiable (but still copyable, etc). Users should not be given the impression that they can modify these items. This still does not solve the issue where library items cannot be dragged into prims or user inventory any time after they are initially seen. Curiously, manually copying and pasting still appears to work. On the surface, this seems to have something to do with library item caching on the client, since deleting the cache allows drag to work again once Not sure what the exact problem is.
2011-07-23Remove manually permissions settings on all current library items so that ↵Justin Clark-Casey (justincc)1-4/+4
they use the defaults instead. Some items had completely wrong permissions - this is easier than correcting them all. The ability to set permissions in xml is retained since there are use cases for this (e.g. to create no-mod library scripts)
2011-07-23Revert "Don't load current/next/everyone/base permissions from the library ↵Justin Clark-Casey (justincc)1-11/+26
item xml files - always use PermissionMask.All instead (which was the existing default)." There actually are uses for this. I will correct the perms instead since some entries appear to be wrong. This reverts commit 667b54f5a2a04fa5a2859397868d270eab3913f1.
2011-07-23Don't load current/next/everyone/base permissions from the library item xml ↵Justin Clark-Casey (justincc)1-26/+11
files - always use PermissionMask.All instead (which was the existing default). Library items always need the same permissions, so it doesn't make sense to load them from the xml files. This just opens the door to permissions mistakes.
2011-06-04Fix give inventory tests to use different users rather than (accidentally) ↵Justin Clark-Casey (justincc)1-2/+6
the same user. Extend TestGiveInventoryItem() to test giving back the same item.
2011-05-27HG inventory transfers over the profile working.Diva Canto1-5/+5
2011-05-26fix bug where outfit folder links could not be deletedJustin Clark-Casey (justincc)1-4/+4
2011-05-19Allow item links to be deleted even when other deletes and purges are disabled.Justin Clark-Casey (justincc)1-6/+28
If these links are not deleted, then they will build up in the player's inventory until they can no longer log in. Accidental deletion of links due to bugs or other causes is potentially inconvenient but on a par with items being accidentally moved. When a link is deleted, the target of the link is never touched. This is a general solution that accounts for the use of links anywhere in the user's inventory.
2011-05-18Accidentally committed too earlyJustin Clark-Casey (justincc)1-24/+6
Revert "Allow item links to be deleted even when other deletes and purges are disabled." This reverts commit 491279f99afc65860d44765ee7829c7dd5e4e38e.
2011-05-17Allow item links to be deleted even when other deletes and purges are disabled.Justin Clark-Casey (justincc)1-6/+24
If these links are not deleted, then they will build up in the player's inventory until they can no longer log in. Accidental deletion of links due to bugs or other causes is potentially inconvenient but on a par with items being accidentally moved. When a link is deleted, the target of the link is never touched. This is a general solution that accounts for the use of links anywhere in the user's inventory.
2011-04-24Commented verbose debug message.Diva Canto1-1/+1
2010-11-25WARNING: LOTS OF CONFIGURATION CHANGES AFFECTING PRIMARILY HG CONFIGS. Added ↵Diva Canto1-302/+0
capability to preserve creator information on HG asset transfers. Added a new HGAssetService that is intended to be the one outside the firewall. It processes and filters the assets that go out of the grid. Also fixed the normal AssetService to do special things for the main instance (console commands, etc). Moved HGInventoryService to OpenSim.Services.HypergridService. Changed the way the login service gets the ServiceURL configs.
2010-11-21Added creator info across the board -- TaskInventoryItems and InventoryItems ↵Diva Canto1-2/+2
themselves. Tested. Seems to be working, main tests pass. Nothing done for IARs or HG transfers yet -- this only works for OARs for the time being. New migration in inventory table in order to make CreatorID varchar(255).
2010-09-12Formatting cleanup.Jeff Ames1-2/+2
2010-09-03minor: remove mono compiler warningJustin Clark-Casey (justincc)1-1/+1
2010-09-02Fix cast issueMelanie1-1/+1
2010-09-02Allow increasing the version in system foldersMelanie1-1/+7
2010-09-02Update: Allow the version to increase onlyMelanie1-1/+2
2010-09-02Disallow modification of system folders. Prevent changing the type of foldersMelanie1-1/+16
and prevent resetting the version number
2010-08-24Add automated test at the opensim 'api' level to check that a given item ↵Justin Clark-Casey (justincc)1-1/+8
goes to the correct directory Also removes some mono compiler warnings
2010-08-23Fix bug in llGiveInventory() where items were disappearing on relogJustin Clark-Casey (justincc)1-1/+13
This was a regression - the code to look up the correct type folder was no longer being called if items were added without a parent folder set This may have been broken since commit bd49985a on 2010-05-02
2010-08-23Remove various warnings and improve logging messages. No functional changes.Justin Clark-Casey (justincc)1-1/+6
2010-08-06Allow the trash folder itself to be passed to PurgeFolderMelanie Thielker1-0/+3
2010-07-24Add some optionsMelanie1-0/+11
2010-07-24Fix some inventory issuesMelanie1-0/+29
2010-07-14Fix obvious bug in XInventoryService.GetFolderItems() which was preventing ↵Justin Clark-Casey (justincc)1-2/+4
the iar module from being able to save single item iars
2010-06-29Buglet fix in HG inventory. Make sure that GetRootFolder for non-HG ↵Diva Canto2-3/+10
xinventory is the folder "My Inventory". Also changed the Suitcase folder name to "My Suitcase".
2010-06-11Revert "Allow IInventoryService.GetFolder(folderId, userId) as well as ↵Justin Clark-Casey (justincc)2-16/+6
GetFolder(InventoryFolderBase folder)" This reverts commit 3525195bc9b5fdfd9799411edd452981ef1f4ebd.
2010-06-11Allow IInventoryService.GetFolder(folderId, userId) as well as ↵Justin Clark-Casey (justincc)2-6/+16
GetFolder(InventoryFolderBase folder) This involves no wire changes since the methods often just construct an InventoryFolderBase under the hood. This is in line with other methods that alraedy allow requests via uuid
2010-06-08Changed XInventoryData's CreatorID to a string.Diva Canto1-2/+2
2010-05-16Fixes mantis #4691Diva Canto1-1/+1
2010-04-29Started redoing HGInventoryBroker for XInventory and with multi-protocol in ↵Diva Canto1-3/+3
mind. Unfinished.
2010-04-28Removed unused var from InventoryService.cs (-1 warning)AlexRa1-1/+1