Commit cd0f5591 authored by Jérome Perrin's avatar Jérome Perrin

use a request cache

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@32602 20353a03-c40f-0410-a6d1-a30d3c3de9de
parent 65f37cc5
......@@ -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 @@ return 0\n
<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>
......
1474
\ No newline at end of file
1475
\ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment