From 66087e14dc8313a70f815010ca230e43bfece69f Mon Sep 17 00:00:00 2001 From: hplattner Date: Fri, 30 Mar 2012 08:36:23 +0200 Subject: [PATCH] add: CombinedResultSet --- composer/report/field.py | 1 + composer/report/result.py | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/composer/report/field.py b/composer/report/field.py index 5241e87..4ce0c01 100644 --- a/composer/report/field.py +++ b/composer/report/field.py @@ -46,6 +46,7 @@ class Field(Component): operator = 'in' showTitle = True colspan=1 + colheaderspan=1 colwidth='auto' coltextalign='left' colbordertop='1px solid #000' diff --git a/composer/report/result.py b/composer/report/result.py index 6b010cc..0a93113 100644 --- a/composer/report/result.py +++ b/composer/report/result.py @@ -106,3 +106,22 @@ class ResultSet(object): def categoryColumns(self): return self.context.getCategoryFields() + +class CombinedResultSet(ResultSet): + + def __init__(self, context, categorySet, resultSet): + self.context = context + self.categorySet = categorySet + self.resultSet = resultSet + self.totals = BaseRow(None, self) + + def getResult(self): + result = [] + for row in self.categorySet: + result.append(row) + for res in self.resultSet: + for f in self.categoryColumns: + if res.getRawValue(f.__name__) == row.getRawValue(f.__name__): + result.append(res) + return result + \ No newline at end of file