allow viewing report 'as such' (without results, but children)
This commit is contained in:
		
							parent
							
								
									4c449d5dc4
								
							
						
					
					
						commit
						ef61a836a4
					
				
					 2 changed files with 29 additions and 17 deletions
				
			
		|  | @ -3,7 +3,8 @@ | ||||||
| 
 | 
 | ||||||
| <div metal:define-macro="main"> | <div metal:define-macro="main"> | ||||||
|   <div tal:define="report item/reportInstance; |   <div tal:define="report item/reportInstance; | ||||||
|                    reportView nocall:item" |                    reportView nocall:item; | ||||||
|  |                    renderer item/resultsRenderer" | ||||||
|        tal:attributes="class string:content-$level;"> |        tal:attributes="class string:content-$level;"> | ||||||
|       <metal:block use-macro="view/concept_macros/concepttitle" /> |       <metal:block use-macro="view/concept_macros/concepttitle" /> | ||||||
|       <form method="post" name="report_data"> |       <form method="post" name="report_data"> | ||||||
|  | @ -20,7 +21,12 @@ | ||||||
|                  i18n:attributes="value" /> |                  i18n:attributes="value" /> | ||||||
|         </div> |         </div> | ||||||
|       </form> |       </form> | ||||||
|     <div metal:use-macro="item/resultsRenderer" /> |     <tal:list condition="renderer"> | ||||||
|  |       <div metal:use-macro="renderer" /> | ||||||
|  |     </tal:list> | ||||||
|  |     <tal:list condition="not:renderer"> | ||||||
|  |       <div metal:use-macro="view/concept_macros/conceptchildren" /> | ||||||
|  |     </tal:list> | ||||||
|   </div> |   </div> | ||||||
| </div> | </div> | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -45,6 +45,8 @@ class ReportView(ConceptView): | ||||||
|     """ A view for defining (editing) a report. |     """ A view for defining (editing) a report. | ||||||
|     """ |     """ | ||||||
| 
 | 
 | ||||||
|  |     resultsRenderer = None  # to be defined by subclass | ||||||
|  | 
 | ||||||
|     @Lazy |     @Lazy | ||||||
|     def report_macros(self): |     def report_macros(self): | ||||||
|         return self.controller.getTemplateMacros('report', report_template) |         return self.controller.getTemplateMacros('report', report_template) | ||||||
|  | @ -57,6 +59,25 @@ class ReportView(ConceptView): | ||||||
|     def dynamicParams(self): |     def dynamicParams(self): | ||||||
|         return self.request.form |         return self.request.form | ||||||
| 
 | 
 | ||||||
|  |     @Lazy | ||||||
|  |     def report(self): | ||||||
|  |         return self.adapted | ||||||
|  | 
 | ||||||
|  |     @Lazy | ||||||
|  |     def reportInstance(self): | ||||||
|  |         instance = component.getAdapter(self.report, IReportInstance, | ||||||
|  |                                         name=self.report.reportType) | ||||||
|  |         instance.view = self | ||||||
|  |         return instance | ||||||
|  | 
 | ||||||
|  |     @Lazy | ||||||
|  |     def queryFields(self): | ||||||
|  |         ri = self.reportInstance | ||||||
|  |         qf = ri.getAllQueryFields() | ||||||
|  |         if ri.userSettings: | ||||||
|  |             return [f for f in qf if f in ri.userSettings] | ||||||
|  |         return qf | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
| class ResultsView(NodeView): | class ResultsView(NodeView): | ||||||
| 
 | 
 | ||||||
|  | @ -105,13 +126,6 @@ class ResultsView(NodeView): | ||||||
|     def report(self): |     def report(self): | ||||||
|         return adapted(self.virtualTargetObject) |         return adapted(self.virtualTargetObject) | ||||||
| 
 | 
 | ||||||
|     @Lazy |  | ||||||
|     def reportInstance(self): |  | ||||||
|         instance = component.getAdapter(self.report, IReportInstance, |  | ||||||
|                                         name=self.report.reportType) |  | ||||||
|         instance.view = self |  | ||||||
|         return instance |  | ||||||
| 
 |  | ||||||
|     #@Lazy |     #@Lazy | ||||||
|     def results(self): |     def results(self): | ||||||
|         return self.reportInstance.getResults(self.params) |         return self.reportInstance.getResults(self.params) | ||||||
|  | @ -221,11 +235,3 @@ class ReportConceptView(ResultsConceptView, ReportView): | ||||||
|     @Lazy |     @Lazy | ||||||
|     def macro(self): |     def macro(self): | ||||||
|         return self.report_macros['main'] |         return self.report_macros['main'] | ||||||
| 
 |  | ||||||
|     @Lazy |  | ||||||
|     def queryFields(self): |  | ||||||
|         ri = self.reportInstance |  | ||||||
|         qf = ri.getAllQueryFields() |  | ||||||
|         if ri.userSettings: |  | ||||||
|             return [f for f in qf if f in ri.userSettings] |  | ||||||
|         return qf |  | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue