mirror of
https://github.com/opensim/opensim.git
synced 2026-08-08 02:05:34 +08:00
Create CanEditObjectInventory to preserve the ability
to have different permissions on inventory and object edits. This may be needed by the viewer on public grids
This commit is contained in:
@@ -163,6 +163,7 @@ namespace OpenSim.Region.Environment.Modules.World.Permissions
|
||||
m_scene.ExternalChecks.addCheckDuplicateObject(CanDuplicateObject); //FULLY IMPLEMENTED
|
||||
m_scene.ExternalChecks.addCheckDeleteObject(CanDeleteObject); //MAYBE FULLY IMPLEMENTED
|
||||
m_scene.ExternalChecks.addCheckEditObject(CanEditObject);//MAYBE FULLY IMPLEMENTED
|
||||
m_scene.ExternalChecks.addCheckEditObject(CanEditObjectInventory);//MAYBE FULLY IMPLEMENTED
|
||||
m_scene.ExternalChecks.addCheckEditParcel(CanEditParcel); //FULLY IMPLEMENTED
|
||||
m_scene.ExternalChecks.addCheckEditScript(CanEditScript); //NOT YET IMPLEMENTED
|
||||
m_scene.ExternalChecks.addCheckEditNotecard(CanEditNotecard); //NOT YET IMPLEMENTED
|
||||
@@ -602,6 +603,25 @@ namespace OpenSim.Region.Environment.Modules.World.Permissions
|
||||
return GenericObjectPermission(editorID, objectID, false);
|
||||
}
|
||||
|
||||
private bool CanEditObjectInventory(UUID objectID, UUID editorID, Scene scene)
|
||||
{
|
||||
DebugPermissionInformation(MethodInfo.GetCurrentMethod().Name);
|
||||
if (m_bypassPermissions) return m_bypassPermissionsValue;
|
||||
|
||||
SceneObjectPart part = m_scene.GetSceneObjectPart(objectID);
|
||||
|
||||
// Commented because this behavior causes issues for IBM
|
||||
// With this commented, strange viewer issues can be observed
|
||||
// when trying to edit scripts and/or notecards in
|
||||
// "Hacked god mode"
|
||||
// TODO: add group support!
|
||||
//
|
||||
// if(part.OwnerID != editorID)
|
||||
// return false;
|
||||
|
||||
return GenericObjectPermission(editorID, objectID, false);
|
||||
}
|
||||
|
||||
private bool CanEditParcel(UUID user, ILandObject parcel, Scene scene)
|
||||
{
|
||||
DebugPermissionInformation(MethodInfo.GetCurrentMethod().Name);
|
||||
|
||||
Reference in New Issue
Block a user