provide variant of report view that shows results only after query parameters have been entered

This commit is contained in:
Helmut Merz 2014-09-15 19:36:50 +02:00
parent acbb1aa944
commit 8fff0330d3
2 changed files with 29 additions and 2 deletions

View file

@ -5,8 +5,28 @@
<div tal:define="report item/reportInstance; <div tal:define="report item/reportInstance;
reportView nocall:item" reportView nocall:item"
tal:attributes="class string:content-$level;"> tal:attributes="class string:content-$level;">
<div metal:use-macro="item/report_macros/header" />
<div metal:use-macro="item/resultsRenderer" />
</div>
</div>
<div metal:define-macro="main_params">
<div tal:define="report item/reportInstance;
reportView nocall:item"
tal:attributes="class string:content-$level;">
<div metal:use-macro="item/report_macros/header" />
<tal:results condition="request/show_results|nothing">
<div metal:use-macro="item/resultsRenderer" />
</tal:results>
</div>
</div>
<div metal:define-macro="header">
<metal:block use-macro="view/concept_macros/concepttitle" /> <metal:block use-macro="view/concept_macros/concepttitle" />
<form method="post" name="report_data" class="report-meta"> <form method="post" name="report_data" class="report-meta">
<input type="hidden" name="show_results" value="True" />
<tal:hidden define="params item/dynamicParams" <tal:hidden define="params item/dynamicParams"
tal:condition="nothing"> tal:condition="nothing">
<input type="hidden" <input type="hidden"
@ -26,8 +46,6 @@
</div> </div>
<br /> <br />
</form> </form>
<div metal:use-macro="item/resultsRenderer" />
</div>
</div> </div>

View file

@ -226,3 +226,12 @@ class ReportConceptView(ResultsConceptView, ReportView):
if ri.userSettings: if ri.userSettings:
return [f for f in qf if f in ri.userSettings] return [f for f in qf if f in ri.userSettings]
return qf return qf
class ReportParamsView(ReportConceptView):
""" Report view allowing to enter parameters before executing the report.
"""
@Lazy
def macro(self):
return self.report_macros['main_params']