[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