From e5ea66f472ff7e5d15302b4a3832599530e1f633 Mon Sep 17 00:00:00 2001 From: Fabien Pinckaers Date: Mon, 1 Oct 2007 20:44:03 +0000 Subject: [PATCH] Modifs bzr revid: fp@tinyerp.com-8870fe275d582ac457654fef6c456d888c6b9658 --- .../report_analytic_planning.py | 20 +++++++++++++++++-- .../report_analytic_planning_view.xml | 6 ++++-- 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/addons/report_analytic_planning/report_analytic_planning.py b/addons/report_analytic_planning/report_analytic_planning.py index 75c0169b8fa..d1df6ed6003 100644 --- a/addons/report_analytic_planning/report_analytic_planning.py +++ b/addons/report_analytic_planning/report_analytic_planning.py @@ -75,10 +75,17 @@ class report_account_analytic_planning_stat_account(osv.osv): _rec_name = 'account_id' _auto = False _log_access = False + def _sum_amount_real(self, cr, uid, ids, name, args, context): + result = {} + for line in self.browse(cr, uid, ids, context): + cr.execute('select sum(unit_amount) from account_analytic_line where account_id=%d and date>=%s and date<=%s', (line.account_id.id,line.planning_id.date_from,line.planning_id.date_to)) + result[line.id] = cr.fetchone()[0] + return result _columns = { 'planning_id': fields.many2one('report_account_analytic.planning', 'Planning'), 'account_id': fields.many2one('account.analytic.account', 'Analytic Account', required=True), - 'quantity': fields.float('Quantity', required=True) + 'quantity': fields.float('Planned', required=True), + 'sum_amount_real': fields.function(_sum_amount_real, method=True, string='Timesheet'), } def init(self, cr): cr.execute(""" @@ -172,10 +179,19 @@ class report_account_analytic_planning_stat_user(osv.osv): _rec_name = 'user_id' _auto = False _log_access = False + def _sum_amount_real(self, cr, uid, ids, name, args, context): + result = {} + for line in self.browse(cr, uid, ids, context): + result[line.id] = 0.0 + if line.user_id: + cr.execute('select sum(unit_amount) from account_analytic_line where user_id=%d and date>=%s and date<=%s', (line.user_id.id,line.planning_id.date_from,line.planning_id.date_to)) + result[line.id] = cr.fetchone()[0] + return result _columns = { 'planning_id': fields.many2one('report_account_analytic.planning', 'Planning', required=True), 'user_id': fields.many2one('res.users', 'User'), - 'quantity': fields.float('Quantity', required=True) + 'quantity': fields.float('Planned', required=True), + 'sum_amount_real': fields.function(_sum_amount_real, method=True, string='Timesheet'), } def init(self, cr): cr.execute(""" diff --git a/addons/report_analytic_planning/report_analytic_planning_view.xml b/addons/report_analytic_planning/report_analytic_planning_view.xml index 7b9d5031ec8..30de54b6dad 100644 --- a/addons/report_analytic_planning/report_analytic_planning_view.xml +++ b/addons/report_analytic_planning/report_analytic_planning_view.xml @@ -49,14 +49,16 @@ - + + - + +