From: Benoît Pin Date: Wed, 2 Apr 2014 09:04:14 +0000 (+0200) Subject: getattr -> restrictedTraverse : si on utilise geattr au lieu de restrictedTraverse... X-Git-Url: https://scm.cri.mines-paristech.fr/git/Portfolio.git/commitdiff_plain/b7206bf3b2e6b8d380e30e646c366beed91b88b2?ds=inline;hp=0971623cf1c52edd330de6dd62a455be497f4ac6 getattr -> restrictedTraverse : si on utilise geattr au lieu de restrictedTraverse, alors la variable globale « request » dans une zpt est la chaîne de caractère "Special Object Used to Force Acquisition" au lieu d'être une instance de HTTPRequest :-/. --- diff --git a/skins/selectioncontext.py b/skins/selectioncontext.py index 36727f6..8539a4e 100644 --- a/skins/selectioncontext.py +++ b/skins/selectioncontext.py @@ -60,7 +60,8 @@ if ajax == True : photoPath = list(photo.getPhysicalPath()) photoPath.insert(portalDepth, 'selectioncontext') options['lastBcUrl'] = toUrl(photoPath) - meth = getattr(photo, 'photo_view_ajax_template') + app = context.restrictedTraverse('/') + meth = app.restrictedTraverse(photo.getPhysicalPath() + ('photo_view_ajax_template',)) return meth(req, resp, **options) @@ -134,5 +135,6 @@ options['breadcrumbs'] = breadcrumbs ti = photo.getTypeInfo() method_id = ti.queryMethodID('view', context=photo) -meth = getattr(photo, method_id) +app = context.restrictedTraverse('/') +meth = app.restrictedTraverse(photo.getPhysicalPath() + (method_id,)) return meth(req, resp, **options)