add qualification report for person; sorting; add action 'start' to work item type 'checkup'

This commit is contained in:
Helmut Merz 2014-07-11 11:23:06 +02:00
parent 50b45b2c56
commit d5c851a5de
4 changed files with 38 additions and 1 deletions

View file

@ -216,6 +216,12 @@ class RelationField(Field):
class TargetField(RelationField):
def getSortValue(self, row):
value = self.getRawValue(row)
if value is not None:
value = util.getObjectForUid(value)
return value.title
def getValue(self, row):
value = self.getRawValue(row)
if value is None:

View file

@ -49,4 +49,16 @@
set_schema="loops.expert.report.IReportInstance" />
</zope:class>
<zope:adapter
name="person_qualifications"
factory="loops.knowledge.qualification.report.PersonQualifications"
provides="loops.expert.report.IReportInstance"
trusted="True" />
<zope:class class="loops.knowledge.qualification.report.PersonQualifications">
<require permission="zope.View"
interface="loops.expert.report.IReportInstance" />
<require permission="zope.ManageContent"
set_schema="loops.expert.report.IReportInstance" />
</zope:class>
</configure>

View file

@ -41,6 +41,8 @@ class QualificationOverview(ReportInstance):
fields = Jeep((task, party, workTitle, dayStart, dayEnd, state)) # +deadline?
defaultOutputFields = fields
defaultSortCriteria = (party, task,)
def getOptions(self, option):
return self.view.options(option)
@ -97,3 +99,20 @@ class Qualifications(QualificationOverview):
for name in self.taskTypeNames]
if c is not None]
class PersonQualifications(QualificationOverview):
type = 'person_qualifications'
label = u'Qualifications for Person'
defaultSortCriteria = (task,)
def getOptions(self, option):
return self.view.typeOptions(option)
def selectObjects(self, parts):
workItems = self.recordManager['work']
person = self.view.context
uid = util.getUidForObject(person)
return workItems.query(userName=uid, state=self.states)

View file

@ -114,7 +114,7 @@ timeEnd = TrackTimeField('end', u'End',
executionSteps=['output'])
task = TargetField('taskId', u'Task',
description=u'The task to which work items belong.',
executionSteps=['output'])
executionSteps=['sort', 'output'])
party = TargetField('userName', u'Party',
description=u'The party (usually a person) who did the work.',
fieldType='selection',