What mechanism maps __guarded_setitem to the [key] syntax? I removed __setitem__ from my formulator field class and replaced it with the add_guarded_writes attribute and this method (note the absence of security.declareProtected()) add_guarded_writes = 1 def __guarded_setitem__(self, index, value): if getSecurityManager().checkPermission( 'Access contents information', self): self[index] = value else: raise Unauthorized('__setitem__') But I don't seem to have it hooked up right...
import Zope, Products, ZEO, ZODB storage = ZEO.ClientStorage.ClientStorage(('localhost', 8800)) db = ZODB.DB(storage) conn = db.open() dbroot = conn.root() app = dbroot.get('Application') app.Formulator.form3.str1['required'] = 0 Traceback (most recent call last): File "<interactive input>", line 1, in ? AttributeError: __setitem__