From be1c272063e3a1f139ae5aeaa5d35b30bb2507b5 Mon Sep 17 00:00:00 2001 From: helmutm Date: Mon, 26 Apr 2010 11:48:11 +0000 Subject: [PATCH] work in progress: reporting with generic criteria definition git-svn-id: svn://svn.cy55.de/Zope3/src/cybertools/trunk@3821 fd906abe-77d9-0310-91a1-e0d9ade77398 --- composer/report/base.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/composer/report/base.py b/composer/report/base.py index 5b28c18..0cd8052 100644 --- a/composer/report/base.py +++ b/composer/report/base.py @@ -28,6 +28,7 @@ from cybertools.composer.base import Component, Element, Compound from cybertools.composer.base import Template from cybertools.composer.report import field from cybertools.composer.report.interfaces import IReportManager, IReport +from cybertools.composer.report.interfaces import ILeafQueryCriteria from cybertools.util.jeep import Jeep from cybertools.util.randomname import generateName @@ -78,6 +79,8 @@ class Report(Template): sortSpec = () outputFields = () + queryCriteria = None + def __init__(self, name): self.name = name @@ -104,3 +107,22 @@ class Report(Template): def getPresentationFormats(self): return [dict(renderer='default', title='Default')] + + +class LeafQueryCriteria(Element): + + implements(ILeafQueryCriteria) + + def __init__(self, name, operator, comparisonValue): + self.name = name + self.operator = operator + self.comparisonValue = comparisonValue + + +class CompoundQueryCriteria(Compound): + + logicalOperator = 'and' + + def __init__(self, parts): + self.parts = Jeep(parts) +