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