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 = ' | ||||
|     form_action = 'create_resource' | ||||
|     dialog_name = 'create' | ||||
|     setupTarget = False | ||||
| 
 | ||||
|     @property | ||||
|     def macro(self): return self.template.macros['create'] | ||||
|  |  | |||
|  | @ -75,6 +75,7 @@ class NodeView(BaseView): | |||
|     _itemNum = 0 | ||||
|     template = node_macros | ||||
|     nextUrl = None | ||||
|     setupTarget = True | ||||
| 
 | ||||
|     def __init__(self, context, request): | ||||
|         super(NodeView, self).__init__(context, request) | ||||
|  | @ -191,7 +192,8 @@ class NodeView(BaseView): | |||
|             cm.register('portlet_left', 'calendar', title=_(u'Calendar'), | ||||
|                         subMacro=calendar_macros.macros['main'], | ||||
|                         priority=90) | ||||
|         # force early portlet registrations by target by setting up target view | ||||
|         if self.setupTarget: | ||||
|             # force early portlet registrations by target | ||||
|             self.virtualTarget | ||||
| 
 | ||||
|     @Lazy | ||||
|  | @ -482,7 +484,8 @@ class NodeView(BaseView): | |||
|         tv = self.viewAnnotations.get('targetView') | ||||
|         if tv is not None: | ||||
|             return tv | ||||
|         return self.getViewForTarget(self.virtualTargetObject) | ||||
|         setup = self.setupTarget | ||||
|         return self.getViewForTarget(self.virtualTargetObject, setup=setup) | ||||
| 
 | ||||
|     @Lazy | ||||
|     def targetId(self): | ||||
|  | @ -538,13 +541,18 @@ class NodeView(BaseView): | |||
|         #self.registerDojo() | ||||
|         self.registerDojoFormAll() | ||||
|         if target is None: | ||||
|             target = self.virtualTarget | ||||
|             #target = self.virtualTarget | ||||
|             target = self.getViewForTarget(self.virtualTargetObject,  | ||||
|                                            setup=False) | ||||
|         if category in self.actions: | ||||
|             actions.extend(self.actions[category](self, target=target)) | ||||
|         if target is not None: | ||||
|             actions.extend(target.getActions(category, page=self, target=target)) | ||||
|         if target != self.virtualTarget:  # self view must be used directly for target | ||||
|             actions.extend(self.view.getAdditionalActions(category, self, target)) | ||||
|         if target is not None and self.setupTarget: | ||||
|             actions.extend(target.getActions( | ||||
|                                     category, page=self, target=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 | ||||
| 
 | ||||
|     def getPortletActions(self, target=None): | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue