add qualification report for person; sorting; add action 'start' to work item type 'checkup'
This commit is contained in:
parent
50b45b2c56
commit
d5c851a5de
4 changed files with 38 additions and 1 deletions
|
@ -216,6 +216,12 @@ class RelationField(Field):
|
||||||
|
|
||||||
class TargetField(RelationField):
|
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):
|
def getValue(self, row):
|
||||||
value = self.getRawValue(row)
|
value = self.getRawValue(row)
|
||||||
if value is None:
|
if value is None:
|
||||||
|
|
|
@ -49,4 +49,16 @@
|
||||||
set_schema="loops.expert.report.IReportInstance" />
|
set_schema="loops.expert.report.IReportInstance" />
|
||||||
</zope:class>
|
</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>
|
</configure>
|
||||||
|
|
|
@ -41,6 +41,8 @@ class QualificationOverview(ReportInstance):
|
||||||
fields = Jeep((task, party, workTitle, dayStart, dayEnd, state)) # +deadline?
|
fields = Jeep((task, party, workTitle, dayStart, dayEnd, state)) # +deadline?
|
||||||
|
|
||||||
defaultOutputFields = fields
|
defaultOutputFields = fields
|
||||||
|
defaultSortCriteria = (party, task,)
|
||||||
|
|
||||||
|
|
||||||
def getOptions(self, option):
|
def getOptions(self, option):
|
||||||
return self.view.options(option)
|
return self.view.options(option)
|
||||||
|
@ -97,3 +99,20 @@ class Qualifications(QualificationOverview):
|
||||||
for name in self.taskTypeNames]
|
for name in self.taskTypeNames]
|
||||||
if c is not None]
|
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)
|
||||||
|
|
||||||
|
|
|
@ -114,7 +114,7 @@ timeEnd = TrackTimeField('end', u'End',
|
||||||
executionSteps=['output'])
|
executionSteps=['output'])
|
||||||
task = TargetField('taskId', u'Task',
|
task = TargetField('taskId', u'Task',
|
||||||
description=u'The task to which work items belong.',
|
description=u'The task to which work items belong.',
|
||||||
executionSteps=['output'])
|
executionSteps=['sort', 'output'])
|
||||||
party = TargetField('userName', u'Party',
|
party = TargetField('userName', u'Party',
|
||||||
description=u'The party (usually a person) who did the work.',
|
description=u'The party (usually a person) who did the work.',
|
||||||
fieldType='selection',
|
fieldType='selection',
|
||||||
|
|
Loading…
Add table
Reference in a new issue