1
def _progress_rate(self, cr, uid, ids, names, arg, context=None):
2
"""As OpenERP SA made a query for this function field (perf. reason obviously),
3
I must overide it all."""
4
result = {}.fromkeys(ids, 0.0)
8
cr.execute('''SELECT project_id,
9
sum(planned_hours) as sum_planned_hours,
10
sum(total_hours) as sum_total_hours,
11
sum(effective_hours) as sum_effective_hours,
12
sum(remaining_hours) as remaining_hours,
13
sum(deduced_hours) as deduced_hours
15
WHERE project_id in %s
16
AND state<>'cancelled'
17
GROUP BY project_id''', (tuple(ids),))
19
res = cr.dictfetchall()
21
project = self.browse(cr, uid, res['project_id'], context=context)
22
progr = (stat['sum_planned_hours'] and
23
round(100.0 * stat['sum_total_hours'] / stat['sum_planned_hours'], 2) or 0.0),
24
result[project.id] = {'planned_hours': stat['sum_planned_hours'],
25
'effective_hours': stat['sum_effective_hours'],
26
'total_hours': stat['sum_total_hours'],
27
'progress_rate': progr,
28
'deduced_hours': stat['sum_deduced_hours']}
b'\\ No newline at end of file'