suppress controller setup for target in create forms
This commit is contained in:
parent
b7f1115536
commit
6cf01f6431
2 changed files with 17 additions and 8 deletions
|
@ -269,6 +269,7 @@ class CreateObjectForm(ObjectForm):
|
||||||
defaultTitle = u'Create Resource, Type = '
|
defaultTitle = u'Create Resource, Type = '
|
||||||
form_action = 'create_resource'
|
form_action = 'create_resource'
|
||||||
dialog_name = 'create'
|
dialog_name = 'create'
|
||||||
|
setupTarget = False
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def macro(self): return self.template.macros['create']
|
def macro(self): return self.template.macros['create']
|
||||||
|
|
|
@ -75,6 +75,7 @@ class NodeView(BaseView):
|
||||||
_itemNum = 0
|
_itemNum = 0
|
||||||
template = node_macros
|
template = node_macros
|
||||||
nextUrl = None
|
nextUrl = None
|
||||||
|
setupTarget = True
|
||||||
|
|
||||||
def __init__(self, context, request):
|
def __init__(self, context, request):
|
||||||
super(NodeView, self).__init__(context, request)
|
super(NodeView, self).__init__(context, request)
|
||||||
|
@ -191,8 +192,9 @@ class NodeView(BaseView):
|
||||||
cm.register('portlet_left', 'calendar', title=_(u'Calendar'),
|
cm.register('portlet_left', 'calendar', title=_(u'Calendar'),
|
||||||
subMacro=calendar_macros.macros['main'],
|
subMacro=calendar_macros.macros['main'],
|
||||||
priority=90)
|
priority=90)
|
||||||
# force early portlet registrations by target by setting up target view
|
if self.setupTarget:
|
||||||
self.virtualTarget
|
# force early portlet registrations by target
|
||||||
|
self.virtualTarget
|
||||||
|
|
||||||
@Lazy
|
@Lazy
|
||||||
def usersPresent(self):
|
def usersPresent(self):
|
||||||
|
@ -482,7 +484,8 @@ class NodeView(BaseView):
|
||||||
tv = self.viewAnnotations.get('targetView')
|
tv = self.viewAnnotations.get('targetView')
|
||||||
if tv is not None:
|
if tv is not None:
|
||||||
return tv
|
return tv
|
||||||
return self.getViewForTarget(self.virtualTargetObject)
|
setup = self.setupTarget
|
||||||
|
return self.getViewForTarget(self.virtualTargetObject, setup=setup)
|
||||||
|
|
||||||
@Lazy
|
@Lazy
|
||||||
def targetId(self):
|
def targetId(self):
|
||||||
|
@ -538,13 +541,18 @@ class NodeView(BaseView):
|
||||||
#self.registerDojo()
|
#self.registerDojo()
|
||||||
self.registerDojoFormAll()
|
self.registerDojoFormAll()
|
||||||
if target is None:
|
if target is None:
|
||||||
target = self.virtualTarget
|
#target = self.virtualTarget
|
||||||
|
target = self.getViewForTarget(self.virtualTargetObject,
|
||||||
|
setup=False)
|
||||||
if category in self.actions:
|
if category in self.actions:
|
||||||
actions.extend(self.actions[category](self, target=target))
|
actions.extend(self.actions[category](self, target=target))
|
||||||
if target is not None:
|
if target is not None and self.setupTarget:
|
||||||
actions.extend(target.getActions(category, page=self, target=target))
|
actions.extend(target.getActions(
|
||||||
if target != self.virtualTarget: # self view must be used directly for target
|
category, page=self, target=target))
|
||||||
actions.extend(self.view.getAdditionalActions(category, self, target))
|
if target is not None and target.context != self.virtualTargetObject:
|
||||||
|
# self view must be used directly for target
|
||||||
|
actions.extend(self.view.getAdditionalActions(
|
||||||
|
category, self, target))
|
||||||
return actions
|
return actions
|
||||||
|
|
||||||
def getPortletActions(self, target=None):
|
def getPortletActions(self, target=None):
|
||||||
|
|
Loading…
Add table
Reference in a new issue