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 tal:define="report item/reportInstance;
|
||||
reportView nocall:item"
|
||||
reportView nocall:item;
|
||||
renderer item/resultsRenderer"
|
||||
tal:attributes="class string:content-$level;">
|
||||
<metal:block use-macro="view/concept_macros/concepttitle" />
|
||||
<form method="post" name="report_data">
|
||||
|
@ -20,7 +21,12 @@
|
|||
i18n:attributes="value" />
|
||||
</div>
|
||||
</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>
|
||||
|
||||
|
|
|
@ -45,6 +45,8 @@ class ReportView(ConceptView):
|
|||
""" A view for defining (editing) a report.
|
||||
"""
|
||||
|
||||
resultsRenderer = None # to be defined by subclass
|
||||
|
||||
@Lazy
|
||||
def report_macros(self):
|
||||
return self.controller.getTemplateMacros('report', report_template)
|
||||
|
@ -57,6 +59,25 @@ class ReportView(ConceptView):
|
|||
def dynamicParams(self):
|
||||
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):
|
||||
|
||||
|
@ -105,13 +126,6 @@ class ResultsView(NodeView):
|
|||
def report(self):
|
||||
return adapted(self.virtualTargetObject)
|
||||
|
||||
@Lazy
|
||||
def reportInstance(self):
|
||||
instance = component.getAdapter(self.report, IReportInstance,
|
||||
name=self.report.reportType)
|
||||
instance.view = self
|
||||
return instance
|
||||
|
||||
#@Lazy
|
||||
def results(self):
|
||||
return self.reportInstance.getResults(self.params)
|
||||
|
@ -221,11 +235,3 @@ class ReportConceptView(ResultsConceptView, ReportView):
|
|||
@Lazy
|
||||
def macro(self):
|
||||
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