[Erp5-report] r32602 jerome - in /erp5/trunk/products/ERP5/bootstrap/erp5_core: SkinTemplat...

nobody at svn.erp5.org nobody at svn.erp5.org
Tue Feb 16 12:25:21 CET 2010


Author: jerome
Date: Tue Feb 16 12:25:18 2010
New Revision: 32602

URL: http://svn.erp5.org?rev=32602&view=rev
Log:
use a request cache

Modified:
    erp5/trunk/products/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Base_checkPermission.xml
    erp5/trunk/products/ERP5/bootstrap/erp5_core/bt/revision

Modified: erp5/trunk/products/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Base_checkPermission.xml
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Base_checkPermission.xml?rev=32602&r1=32601&r2=32602&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Base_checkPermission.xml [utf8] (original)
+++ erp5/trunk/products/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Base_checkPermission.xml [utf8] Tue Feb 16 12:25:18 2010
@@ -55,12 +55,17 @@
             <key> <string>_body</string> </key>
             <value> <string># Check for a permission on an object specified by a given path\n
 # for current user. Return true only if the user is allowed.\n
-portal = context.getPortalObject()\n
-ob = portal.restrictedTraverse(path, None)\n
-if ob is not None:\n
-  if portal.portal_membership.checkPermission(permission, ob):\n
-    return 1\n
-return 0\n
+cache = container.REQUEST.other\n
+try:\n
+  return cache[(script.getId(), path, permission)]\n
+except KeyError:\n
+  allowed = False\n
+  portal = context.getPortalObject()\n
+  ob = portal.restrictedTraverse(path, None)\n
+  if ob is not None:\n
+    allowed = portal.portal_membership.checkPermission(permission, ob)\n
+  cache[(script.getId(), path, permission)] = allowed\n
+  return allowed\n
 </string> </value>
         </item>
         <item>
@@ -100,10 +105,18 @@
                             <string>path</string>
                             <string>permission</string>
                             <string>_getattr_</string>
+                            <string>container</string>
+                            <string>cache</string>
+                            <string>_getitem_</string>
+                            <string>script</string>
+                            <string>KeyError</string>
+                            <string>False</string>
+                            <string>allowed</string>
                             <string>context</string>
                             <string>portal</string>
                             <string>None</string>
                             <string>ob</string>
+                            <string>_write_</string>
                           </tuple>
                         </value>
                     </item>

Modified: erp5/trunk/products/ERP5/bootstrap/erp5_core/bt/revision
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/bootstrap/erp5_core/bt/revision?rev=32602&r1=32601&r2=32602&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/bootstrap/erp5_core/bt/revision [utf8] (original)
+++ erp5/trunk/products/ERP5/bootstrap/erp5_core/bt/revision [utf8] Tue Feb 16 12:25:18 2010
@@ -1,1 +1,1 @@
-1474
+1475




More information about the Erp5-report mailing list