provide report and view for all qualifications

This commit is contained in:
Helmut Merz 2014-04-29 10:36:22 +02:00
parent 21ac74f764
commit 0dee3c28aa
2 changed files with 25 additions and 5 deletions

View file

@ -26,6 +26,7 @@
<div metal:define-macro="results">
<br />
<table class="report"
tal:define="results reportView/results">
<tr>
@ -34,7 +35,8 @@
tal:attributes="class col/cssClass"
i18n:translate="" />
</tr>
<tr tal:repeat="row results">
<tr tal:repeat="row results"
tal:attributes="class python:(repeat['row'].index() % 2) and 'even' or 'odd'">
<td tal:repeat="col results/displayedColumns"
tal:attributes="class col/cssClass">
<metal:column use-macro="python:

View file

@ -20,11 +20,14 @@
Qualification management report definitions.
"""
from zope.cachedescriptors.property import Lazy
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 workTitle, workDescription
from loops import util
class QualificationOverview(ReportInstance):
@ -34,10 +37,25 @@ class QualificationOverview(ReportInstance):
rowFactory = WorkRow
fields = Jeep((day, deadline, party, task, workTitle, state))
fields = Jeep((task, party, workTitle, day, state)) # +deadline?
taskTypeNames = ('folder','query', 'competence',)
defaultOutputFields = fields
def getTasks(self, parts):
return []
def getOptions(self, option):
return self.view.options(option)
@Lazy
def states(self):
return self.getOptions('report_select_state' or ('planned',))
def selectObjects(self, parts):
result = []
workItems = self.recordManager['work']
pred = self.conceptManager['querytarget']
types = self.view.context.getChildren([pred])
for t in types:
for c in t.getChildren([self.view.typePredicate]):
uid = util.getUidForObject(c)
for wi in workItems.query(taskId=uid, state=self.states):
result.append(wi)
return result