more on breadcrumbs: for resources; get view for breadcrumbs parent via new standard NodeView method
This commit is contained in:
		
							parent
							
								
									a86c8afcfa
								
							
						
					
					
						commit
						3dd1698b80
					
				
					 2 changed files with 19 additions and 8 deletions
				
			
		|  | @ -444,9 +444,7 @@ class NodeView(BaseView): | ||||||
|     def targetRender(self): |     def targetRender(self): | ||||||
|         return u'<div>%s</div>' % self.targetView('download.html', 'show') |         return u'<div>%s</div>' % self.targetView('download.html', 'show') | ||||||
| 
 | 
 | ||||||
|     @Lazy |     def getViewForTarget(self, obj): | ||||||
|     def virtualTarget(self): |  | ||||||
|         obj = self.virtualTargetObject |  | ||||||
|         if obj is not None: |         if obj is not None: | ||||||
|             basicView = component.getMultiAdapter((obj, self.request)) |             basicView = component.getMultiAdapter((obj, self.request)) | ||||||
|             if obj == self.targetObject: |             if obj == self.targetObject: | ||||||
|  | @ -456,6 +454,10 @@ class NodeView(BaseView): | ||||||
|             if hasattr(basicView, 'view'): |             if hasattr(basicView, 'view'): | ||||||
|                 return basicView.view |                 return basicView.view | ||||||
| 
 | 
 | ||||||
|  |     @Lazy | ||||||
|  |     def virtualTarget(self): | ||||||
|  |         return self.getViewForTarget(self.virtualTargetObject) | ||||||
|  | 
 | ||||||
|     @Lazy |     @Lazy | ||||||
|     def targetId(self): |     def targetId(self): | ||||||
|         target = self.virtualTargetObject |         target = self.virtualTargetObject | ||||||
|  |  | ||||||
|  | @ -18,8 +18,6 @@ | ||||||
| 
 | 
 | ||||||
| """ | """ | ||||||
| View class for resource objects. | View class for resource objects. | ||||||
| 
 |  | ||||||
| $Id$ |  | ||||||
| """ | """ | ||||||
| 
 | 
 | ||||||
| import urllib | import urllib | ||||||
|  | @ -134,9 +132,6 @@ class ResourceView(BaseView): | ||||||
|         else: |         else: | ||||||
|             return self.template.macros['download'] |             return self.template.macros['download'] | ||||||
| 
 | 
 | ||||||
|     #def __init__(self, context, request): |  | ||||||
|     #    super(ResourceView, self).__init__(context, request) |  | ||||||
| 
 |  | ||||||
|     def setupController(self): |     def setupController(self): | ||||||
|         cont = self.controller |         cont = self.controller | ||||||
|         if cont is None: |         if cont is None: | ||||||
|  | @ -157,6 +152,20 @@ class ResourceView(BaseView): | ||||||
|                             subMacro=version_macros.macros['portlet_versions'], |                             subMacro=version_macros.macros['portlet_versions'], | ||||||
|                             priority=25, info=self) |                             priority=25, info=self) | ||||||
| 
 | 
 | ||||||
|  |     def breadcrumbs(self): | ||||||
|  |         data = [] | ||||||
|  |         if self.breadcrumbsParent is not None: | ||||||
|  |             data.extend(self.breadcrumbsParent.breadcrumbs()) | ||||||
|  |         if self.context != self.nodeView.targetObject: | ||||||
|  |             data.append(dict(label=self.title, | ||||||
|  |                              url=self.nodeView.getUrlForTarget(self.context))) | ||||||
|  |         return data | ||||||
|  | 
 | ||||||
|  |     @Lazy | ||||||
|  |     def breadcrumbsParent(self): | ||||||
|  |         for c in self.context.getConcepts([self.defaultPredicate]): | ||||||
|  |             return self.nodeView.getViewForTarget(c) | ||||||
|  | 
 | ||||||
|     @Lazy |     @Lazy | ||||||
|     def view(self): |     def view(self): | ||||||
|         context = self.context |         context = self.context | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue