From 6c86823803c4f15b2e41e4e73af639ec21d9bb79 Mon Sep 17 00:00:00 2001
From: Melanie Thielker
Date: Mon, 1 Dec 2008 03:40:41 +0000
Subject: Mantis #2729 Add a check for script reset permissions to the
 permissions module

---
 .../Environment/Modules/World/Permissions/PermissionsModule.cs | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/OpenSim/Region/Environment/Modules/World/Permissions/PermissionsModule.cs b/OpenSim/Region/Environment/Modules/World/Permissions/PermissionsModule.cs
index 03933c7..92e040f 100644
--- a/OpenSim/Region/Environment/Modules/World/Permissions/PermissionsModule.cs
+++ b/OpenSim/Region/Environment/Modules/World/Permissions/PermissionsModule.cs
@@ -217,6 +217,7 @@ namespace OpenSim.Region.Environment.Modules.World.Permissions
             m_scene.Permissions.AddEditObjectInventoryHandler(CanEditObjectInventory);//MAYBE FULLY IMPLEMENTED            
             m_scene.Permissions.AddCanCopyObjectInventoryHandler(CanCopyObjectInventory); //NOT YET IMPLEMENTED
             m_scene.Permissions.AddCanDeleteObjectInventoryHandler(CanDeleteObjectInventory); //NOT YET IMPLEMENTED
+            m_scene.Permissions.AddResetScriptHandler(CanResetScript);
             
             m_scene.Permissions.AddCanCreateUserInventoryHandler(CanCreateUserInventory); //NOT YET IMPLEMENTED
             m_scene.Permissions.AddCanCopyUserInventoryHandler(CanCopyUserInventory); //NOT YET IMPLEMENTED
@@ -1427,5 +1428,14 @@ namespace OpenSim.Region.Environment.Modules.World.Permissions
 
             return true;
         }
+
+        private bool CanResetScript(UUID prim, UUID script, UUID agentID, Scene scene)
+        {
+            DebugPermissionInformation(MethodInfo.GetCurrentMethod().Name);
+            if (m_bypassPermissions) return m_bypassPermissionsValue;
+
+            // You can reset the scripts in any object you can edit
+            return GenericObjectPermission(agentID, prim, false);
+        }
     }
 }
-- 
cgit v1.1