[Zope-Checkins] CVS: Zope3/lib/python/Zope/App/OFS/Container/Find/Views/Browser - Find.py:1.1.2.2.4.1 browser.zcml:1.1.2.1.4.1
Jim Fulton
jim@zope.com
Fri, 26 Apr 2002 14:23:14 -0400
Update of /cvs-repository/Zope3/lib/python/Zope/App/OFS/Container/Find/Views/Browser
In directory cvs.zope.org:/tmp/cvs-serv26237/lib/python/Zope/App/OFS/Container/Find/Views/Browser
Modified Files:
Tag: SecurityProxy-branch
Find.py browser.zcml
Log Message:
Changed security code to use security proxies and name-based
security. This has pretty far-reaching implications:
- You now protect names/operations, *not* values. This means it's as
easy yo protect data attributes that have simple values as it is to
protect methods.
- There is no longer a __permissions__ attribute. :)
- There is no longer a validate method in either security managers or
policies.
- No more need to have a special compiler for restricted code.
In exchange, lots of objects are proxies and code sometimes needs to
be prepared to remove proxies.
In addition:
- Basic objects (None, strings, numbers, etc.) are not wrapped in
context wrappers.
- There is a test that fails unless Python 2.3 is used.
=== Zope3/lib/python/Zope/App/OFS/Container/Find/Views/Browser/Find.py 1.1.2.2 => 1.1.2.2.4.1 ===
return result
-from Zope.ContextWrapper import getdict
+from Zope.Proxy.ContextWrapper import getWrapperData
# XXX get the id of an object (should be imported from somewhere)
def getId(object):
- dict = getdict(object)
+ dict = getWrapperData(object)
if dict:
return dict.get('name')
return None
=== Zope3/lib/python/Zope/App/OFS/Container/Find/Views/Browser/browser.zcml 1.1.2.1 => 1.1.2.1.4.1 ===
name=".Find."
permission_id="Zope.ManageContent"
- methods="index, findByIds" />
+ names="index, findByIds" />
<browser:view for="Zope.App.OFS.Container.IContainer.IReadContainer"
name="find" factory=".Find." />
-</zopeConfigure>
\ No newline at end of file
+</zopeConfigure>