From 2436f08db2fdfdeb985de34b510156284c8e1bd9 Mon Sep 17 00:00:00 2001 From: Quentin De Paoli Date: Tue, 27 Oct 2009 12:17:05 +0100 Subject: [PATCH] [FIX] report_analytic_planning: view report_account_analytic_planning_account was wrongly computing 'plan_open' field bzr revid: qdp@cyan-20091027111705-1jgm1h7u1jkermya --- .../report_analytic_planning.py | 54 ++++++++++--------- 1 file changed, 30 insertions(+), 24 deletions(-) diff --git a/addons/report_analytic_planning/report_analytic_planning.py b/addons/report_analytic_planning/report_analytic_planning.py index 0fbc58eb275..509f2250f85 100644 --- a/addons/report_analytic_planning/report_analytic_planning.py +++ b/addons/report_analytic_planning/report_analytic_planning.py @@ -322,11 +322,7 @@ Business Days - (Time Allocation of Tasks + Time Allocation without Tasks + Holi FROM report_account_analytic_planning planning LEFT JOIN report_account_analytic_planning_line line ON (line.planning_id = planning.id), res_users users - - WHERE users.active = True GROUP BY planning.id, planning.business_days, users.id, planning.date_from, planning.date_to - - UNION @@ -350,7 +346,6 @@ Business Days - (Time Allocation of Tasks + Time Allocation without Tasks + Holi INNER JOIN report_account_analytic_planning_line line ON line.planning_id = planning.id AND line.user_id IS NULL GROUP BY planning.id, planning.business_days, line.user_id, planning.date_from, planning.date_to - ) """) @@ -415,25 +410,36 @@ class report_account_analytic_planning_account(osv.osv): } def init(self, cr): - cr.execute(""" create or replace view report_account_analytic_planning_account as ( - select - min(l.id) as id, - l.account_id as account_id, - sum(l.amount) as quantity, - l.planning_id as planning_id, - (Select sum(line1.amount_in_base_uom) from report_account_analytic_planning_line line1 - where (select count(1) from project_task task where task.planning_line_id = line1.id) > 0 - and l.account_id = line1.account_id - and l.planning_id = line1.planning_id - ) as plan_tasks, - (Select sum(line1.amount_in_base_uom) from report_account_analytic_planning_line line1 - where (select count(1) from project_task task where task.planning_line_id = line1.id) = 0 and l.account_id = line1.account_id - and planning.id=l.planning_id - ) as plan_open - from report_account_analytic_planning_line l - inner join report_account_analytic_planning planning on planning.id=l.planning_id - group by l.account_id, l.planning_id, planning.date_from, planning.date_to, planning.id - ) + cr.execute(""" CREATE OR REPLACE VIEW report_account_analytic_planning_account AS ( + SELECT + MIN(l.id) AS id, + l.account_id AS account_id, + SUM(l.amount) AS quantity, + l.planning_id AS planning_id, + ( SELECT SUM(line1.amount_in_base_uom) + FROM report_account_analytic_planning_line line1 + WHERE + ( SELECT COUNT(1) + FROM project_task task + WHERE task.planning_line_id = line1.id + ) > 0 + AND l.account_id = line1.account_id + AND l.planning_id = line1.planning_id + ) AS plan_tasks, + ( SELECT SUM(line1.amount_in_base_uom) + FROM report_account_analytic_planning_line line1 + WHERE + ( SELECT COUNT(1) + FROM project_task task + WHERE task.planning_line_id = line1.id + ) = 0 + AND l.account_id = line1.account_id + AND planning.id = line1.planning_id + ) AS plan_open + FROM report_account_analytic_planning_line l + INNER JOIN report_account_analytic_planning planning ON planning.id=l.planning_id + GROUP BY l.account_id, l.planning_id, planning.date_from, planning.date_to, planning.id + ) """)