On Tue, 2006-06-13 at 08:26 +0200, Marco Mariani wrote:
> Thierry FLORAC wrote:
> >   <page
> >     name="images.html"
> >     for=".interfaces.IGalleryFolder"
> >     allowed_interface=".interfaces.IGalleryPhoto"
> >     template="folder_images.pt"
> >     permission="zope.View"
> >     class=".folder.FolderInfo"
> >     menu="zmi_views" title="Images" />
> >
> > But when trying to display the view, a ForbiddenAttribute exception is
> > raised :
> >   File ".../browser/folder.py", line 39, in getImages
> >     result.sort (lambda x,y:
> >                  cmp(IGalleryPhoto(x).name,IGalleryPhoto(y).name))
> >   ForbiddenAttribute:('sort',[<GalleryPhoto object at 0xa5b378ac>,...] 
> >
> > So the forbidden attribute seems to be the "sort" method of the
> > resulting array, which of course isn't part of any of my interfaces.
> >
> > In such a case, I solved the problem by moving the "getSortedImages" to
> > the folder interface and content class.
> >   
> You have to define an empty getImages method on the interface.

"getImages()" is already defined into IPhotoFolder interface. But Philip
already sent a reply with a full and clear explanation of my problem...


> > But that may not always be possible, so how can I get access to such
> > methods ??
> >   
> Why should it not be possible? After all, you defined the FolderInfo
> view for the IGalleryFolder _Interface_, not the GalleryFolder class.

What I just mean (but perhaps I'm wrong) is that in my use case, the
"getSortedImages()" method is only used for presentation purpose in a
specific context, a specific browser view.
I think this kind of method shouldn't have to be defined in an interface
which main goal is to define generic content handling methods...
I don't know if my explanation is clear :-(

  Thierry




-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.

_______________________________________________
Zope3-users mailing list
Zope3-users@zope.org
http://mail.zope.org/mailman/listinfo/zope3-users

Reply via email to