include fields for start and end dates on work statement report

This commit is contained in:
Helmut Merz 2014-07-08 07:59:28 +02:00
parent e20feb5851
commit 527c2f445d
3 changed files with 20 additions and 3 deletions

View file

@ -26,6 +26,7 @@ from cybertools.util.jeep import Jeep
from loops.expert.report import ReportInstance
from loops.organize.work.report import WorkRow
from loops.organize.work.report import deadline, day, task, party, state
from loops.organize.work.report import dayStart, dayEnd
from loops.organize.work.report import workTitle, workDescription
from loops import util
@ -37,7 +38,7 @@ class QualificationOverview(ReportInstance):
rowFactory = WorkRow
fields = Jeep((task, party, workTitle, day, state)) # +deadline?
fields = Jeep((task, party, workTitle, dayStart, dayEnd, state)) # +deadline?
defaultOutputFields = fields

View file

@ -97,7 +97,7 @@
<browser:page
name="work.html"
for="loops.organize.interfaces.ITask"
for="loops.organize.interfaces.IConceptSchema"
class="loops.organize.work.report.WorkStatementView"
permission="zope.View" />

View file

@ -98,6 +98,14 @@ day = TrackDateField('day', u'Day',
description=u'The day the work was done.',
cssClass='center',
executionSteps=['sort', 'output'])
dayStart = TrackDateField('dayStart', u'Start Day',
description=u'The day the unit of work was started.',
cssClass='center',
executionSteps=['sort', 'output'])
dayEnd = TrackDateField('dayEnd', u'End Day',
description=u'The day the unit of work was finished.',
cssClass='center',
executionSteps=['sort', 'output'])
timeStart = TrackTimeField('start', u'Start',
description=u'The time the unit of work was started.',
executionSteps=['sort', 'output'])
@ -145,6 +153,12 @@ class WorkRow(BaseRow):
def getDay(self, attr):
return self.context.timeStamp
def getStart(self, attr):
return self.context.start
def getEnd(self, attr):
return self.context.end
def getDuration(self, attr):
value = self.context.data.get('duration')
if value is None:
@ -157,7 +171,9 @@ class WorkRow(BaseRow):
value = self.getDuration(attr)
return value
attributeHandlers = dict(day=getDay, dayFrom=getDay, dayTo=getDay,
attributeHandlers = dict(day=getDay,
dayStart=getStart, dayEnd=getEnd,
dayFrom=getDay, dayTo=getDay,
duration=getDuration, effort=getEffort)