work in progress: meeting minutes: selection and output working

This commit is contained in:
Helmut Merz 2012-05-04 16:13:02 +02:00
parent 17ccce90ce
commit 058de979d8
3 changed files with 26 additions and 4 deletions

View file

@ -104,5 +104,5 @@ class ResultsView(NodeView):
def displayedColumns(self): def displayedColumns(self):
return self.reportInstance.getActiveOutputFields() return self.reportInstance.getActiveOutputFields()
def getColumnRenderer(self, name): def getColumnRenderer(self, col):
return self.result_macros[name] return self.result_macros[col.renderer]

View file

@ -194,6 +194,7 @@ class SubReportField(Field):
baseReport = row.parent.context baseReport = row.parent.context
instance = self.reportFactory(baseReport.context) instance = self.reportFactory(baseReport.context)
instance.view = baseReport.view instance.view = baseReport.view
instance.parentRow = row
return instance return instance
def getValue(self, row): def getValue(self, row):

View file

@ -33,7 +33,8 @@ from cybertools.util.date import timeStamp2Date
from cybertools.util.format import formatDate from cybertools.util.format import formatDate
from cybertools.util.jeep import Jeep from cybertools.util.jeep import Jeep
from loops.common import adapted, baseObject from loops.common import adapted, baseObject
from loops.expert.field import TargetField, TextField, UrlField, SubReportField from loops.expert.field import TargetField, TextField, UrlField
from loops.expert.field import SubReport, SubReportField
from loops.expert.report import ReportInstance from loops.expert.report import ReportInstance
from loops import util from loops import util
@ -237,6 +238,25 @@ class WorkReportInstance(ReportInstance):
# meeting minutes # meeting minutes
class MeetingMinutesWorkRow(WorkRow):
pass
class MeetingMinutesWork(WorkReportInstance, SubReport):
rowFactory = MeetingMinutesWorkRow
states = ('planned',)
def selectObjects(self, parts):
parts.pop('tasks', None)
t = self.parentRow.context
if t is not None:
return self.selectWorkItems(t, parts)
return []
taskTitle = UrlField('title', u'Title', taskTitle = UrlField('title', u'Title',
description=u'The short description of the task.', description=u'The short description of the task.',
executionSteps=['output']) executionSteps=['output'])
@ -245,7 +265,7 @@ taskDescription = TextField('description', u'Description',
executionSteps=['output']) executionSteps=['output'])
workItems = SubReportField('workItems', u'Work Items', workItems = SubReportField('workItems', u'Work Items',
description=u'A list of work items belonging to the task.', description=u'A list of work items belonging to the task.',
reportFactory=WorkReportInstance, reportFactory=MeetingMinutesWork,
executionSteps=['output']) executionSteps=['output'])
@ -274,3 +294,4 @@ class MeetingMinutes(WorkReportInstance):
def selectObjects(self, parts): def selectObjects(self, parts):
return self.getTasks(parts)[1:] return self.getTasks(parts)[1:]