diff --git a/expert/browser/report.pt b/expert/browser/report.pt
index 15caa68..94c6966 100644
--- a/expert/browser/report.pt
+++ b/expert/browser/report.pt
@@ -3,7 +3,8 @@
diff --git a/expert/browser/report.py b/expert/browser/report.py
index b8e1216..c3e1456 100644
--- a/expert/browser/report.py
+++ b/expert/browser/report.py
@@ -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