[Zope3-Users] __setitem__ works, __delitem__ fails on custom site

Roy Mathew roymathew at bellsouth.net
Mon Jan 22 10:02:00 EST 2007


Thanks, David - that did the trick. 

I changed the decl:
  class IQSite(IPossibleSite):
to:
  class IQSite(IFolder):

and had to remove the IWriteContainer and IReadContainer perm decls to
avoid a conflict.

I am still not sure why that would make the difference - since QSite
extended Folder to begin with, wasn't it also of type IFolder?

Roy.

David Johnson writes:
 >  From my experience I find it better to derive from IFolder for the  
 > interface and Folder for the class.   I can then set which objects  
 > are allowed or not allowed to be added based on the standard  
 > preconditions/IContained lines in the interface definitions.  I set  
 > the schema to the primary interface of my class.
 > 
 > 
 > On Jan 22, 2007, at 1:06 AM, Roy Mathew wrote:
 > 
 > > Hi Folks,
 > >
 > > I am trying to create a custom Site object, using the below
 > > declarations; all goes well when addding an object O1 to the QSite,
 > > but when trying to delete object O1, I get:
 > >
 > >   ForbiddenAttribute: ('__delitem__', <...QSite object at 0xa61dcd6c>)
 > >
 > > The code:
 > >
 > >   class IQSite(IPossibleSite):
 > >     "custom site"
 > >
 > >   class QSite(Folder, site.SiteManagerContainer):
 > >     implements(IQSite)
 > >     ...
 > >
 > >   <class class=".qtmodule.QSite">
 > >      <require permission="zope.View"
 > >         interface="zope.app.container.interfaces.IReadContainer" />
 > >      <require permission="zope.ManageContent"
 > >         set_schema="zope.app.container.interfaces.IWriteContainer" />
 > >
 > >      <require permission="zope.Public"  
 > > interface=".interfaces.IQSite" />
 > >      <require permission="zope.ManageContent"  
 > > set_schema=".interfaces.IQSite" />
 > >   </class>
 > >
 > > Since both __setitem__ and __getitem__ belong to the same interface,
 > > I am baffled - what gives?
 > >
 > > -- 
 > > Thanks,
 > > Roy Mathew.
 > > _______________________________________________
 > > Zope3-users mailing list
 > > Zope3-users at zope.org
 > > http://mail.zope.org/mailman/listinfo/zope3-users
 > >
 > 


More information about the Zope3-users mailing list