bug fix for getting resource view

git-svn-id: svn://svn.cy55.de/Zope3/src/loops/trunk@2461 fd906abe-77d9-0310-91a1-e0d9ade77398
This commit is contained in:
helmutm 2008-03-17 14:28:16 +00:00
parent 5240ff1ba6
commit cd2e534cb3

View file

@ -50,6 +50,7 @@ from cybertools.browser.view import GenericView
from cybertools.typology.interfaces import IType, ITypeManager from cybertools.typology.interfaces import IType, ITypeManager
from cybertools.xedit.browser import ExternalEditorView from cybertools.xedit.browser import ExternalEditorView
from loops.browser.action import DialogAction from loops.browser.action import DialogAction
from loops.common import adapted
from loops.i18n.browser import i18n_macros from loops.i18n.browser import i18n_macros
from loops.interfaces import IConcept, IResource, IDocument, IMediaAsset, INode from loops.interfaces import IConcept, IResource, IDocument, IMediaAsset, INode
from loops.interfaces import IViewConfiguratorSchema from loops.interfaces import IViewConfiguratorSchema
@ -308,7 +309,7 @@ class NodeView(BaseView):
print '***', name, params print '***', name, params
target = self.virtualTargetObject target = self.virtualTargetObject
if target is not None: if target is not None:
ti = IType(target).typeInterface #ti = IType(target).typeInterface
#targetView = None #targetView = None
#if ti is not None: #if ti is not None:
# adapted = ti(target) # adapted = ti(target)
@ -317,9 +318,11 @@ class NodeView(BaseView):
#if targetView is None: #if targetView is None:
# targetView = component.getMultiAdapter((target, self.request), # targetView = component.getMultiAdapter((target, self.request),
# name=name) # name=name)
target = adapted(target) targetView = component.queryMultiAdapter(
targetView = component.getMultiAdapter((target, self.request), (adapted(target), self.request), name=name)
name=name) if targetView is None:
targetView = component.getMultiAdapter(
(target, self.request), name=name)
if name == 'index.html' and hasattr(targetView, 'show'): if name == 'index.html' and hasattr(targetView, 'show'):
return targetView.show() return targetView.show()
method = getattr(targetView, methodName, None) method = getattr(targetView, methodName, None)