Hi finally, I understood my mistake. I was accessing the search.html page through a z3c.layer.pagelet.IPageletBrowserLayer (following P. Carduner's tutorial) without including in configure.zcml: <include package="z3c.pagelet" file="meta.zcml" /> <include package="z3c.pagelet" /> <include package="z3c.layer.pagelet" /> <include package="zope.contentprovider" />
The z3c unauthorized view is defined in: z3c.layer.pagelet/trunk/src/z3c/layer/pagelet/browser/__init__.py. I needed also to define a layout template for the unauthorized view. So, I added the following in browser/configure.zcml: <z3c:layout for="*" layer="cdcadama.layer.ICdcadamaBrowserLayer" template="unauthorized.pt" /> where unauthorized.pt is a copy of z3c.layer.pagelet/trunk/src/z3c/layer/pagelet/browser/unauthorized.pt. And for the moment, it seems ok. Regards, Simon On Mon, Jun 15, 2009 at 6:02 PM, Simon Elbaz <elbazsim...@gmail.com> wrote: > Hi, > I have added : > > <include package="zope.app.exception.browser" /> in the file > browser/configure.zcml and the result is the same. > > I have identified the function that makes the difference, it is: > > > /home/simon/.buildout/eggs/zope.interface-3.5.1-py2.5-linux-i686.egg/zope/interface/adapter.py(478)queryMultiAdapter() > -> factory = self.lookup(map(providedBy, objects), provided, name) > > where > (Pdb) print objects > (Unauthorized(<zope.app.publisher.browser.viewmeta.SearchAddForm object at > 0x9b503cc>, 'browserDefault', 'zope.View'), > <zope.publisher.browser.BrowserRequest instance URL= > http://localhost:9030/++skin++Login/@@search.html>) > (Pdb) print provided > <InterfaceClass zope.interface.Interface> > (Pdb) print name > index.html > > I am a little bit stuck ... > > Regards > Simon > > > > > On Sun, Jun 14, 2009 at 1:27 AM, Simon Elbaz <elbazsim...@gmail.com>wrote: > >> Hi, >> I am trying to set a SessionCredentialsPlugin in a application. >> >> When I try to access the following URL >> http://localhost:9030/++skin++Login/@@search.html, the result of the >> call: >> > >> /home/simon/.buildout/eggs/zope.app.publication-3.7.0-py2.5.egg/zope/app/publication/zopepublication.py(322)handleException() >> -> view = zope.component.queryMultiAdapter( >> (exception, request), name=name) >> (Pdb) print view.__init__ >> <bound method Unauthorized.__init__ of >> <*zope.app.http.exception.unauthorized.Unauthorized >> *object at 0x97faa6c>> >> >> where exception=(<zope.app.publisher.browser.viewmeta.Contents object at >> 0x89ad5ec>, 'browserDefault', 'zope.View') >> >> >> When I try to access the following URL http://localhost:9030/, the result >> of the call: >> > >> /home/simon/.buildout/eggs/zope.app.publication-3.7.0-py2.5.egg/zope/app/publication/zopepublication.py(322)handleException() >> -> view = zope.component.queryMultiAdapter((exception, request), >> name=name) >> (Pdb) print view.__init__ >> <bound method Unauthorized.__init__ of <* >> zope.app.publisher.browser.viewmeta.Unauthorized* object at 0x8badd6c>> >> >> where exception is (<zope.app.publisher.browser.viewmeta.SearchAddForm >> object at 0x89ad3ec>, 'browserDefault', 'cdcadama.View'). >> >> Could someone explain me why the result is different ? >> >> Thanks >> Simon >> >> >> >
_______________________________________________ Zope3-users mailing list Zope3-users@zope.org http://mail.zope.org/mailman/listinfo/zope3-users