diff --git a/expert/field.py b/expert/field.py index 8b0d6f8..4be4f20 100644 --- a/expert/field.py +++ b/expert/field.py @@ -205,5 +205,10 @@ class SubReportField(Field): def getCategoryValue(self, row): ri = self.getReportInstance(row) - return ri.getCategoryResults() + return ri.getCategories() + + def getCombinedValue(self, row): + ri = self.getReportInstance(row) + return ri.getCombinedResults() + \ No newline at end of file diff --git a/expert/report.py b/expert/report.py index e12bec2..6aca624 100644 --- a/expert/report.py +++ b/expert/report.py @@ -30,7 +30,7 @@ from cybertools.composer.report.base import Report as BaseReport from cybertools.composer.report.base import LeafQueryCriteria, CompoundQueryCriteria from cybertools.composer.report.interfaces import IReport as IBaseReport from cybertools.composer.report.interfaces import IReportParams -from cybertools.composer.report.result import ResultSet, Row +from cybertools.composer.report.result import CombinedResultSet, ResultSet, Row from cybertools.util.jeep import Jeep from loops.common import AdapterBase from loops.interfaces import ILoopsAdapter @@ -104,10 +104,14 @@ class ReportInstance(BaseReport): return ResultSet(self, result, rowFactory=self.rowFactory, sortCriteria=self.getSortCriteria(), queryCriteria=qc) - def getCategoryResults(self): + def getCategories(self): result = list(self.selectObjects(None)) return ResultSet(self, result, rowFactory=self.categoryRowFactory, filterDublicate=True) + + def getCombinedResults(self): + return CombinedResultSet(self, self.getCategories(), self.getResults()) + def selectObjects(self, parts): # to be implemented by subclass