summaryrefslogtreecommitdiff
path: root/addons/analytic/analytic.py
diff options
context:
space:
mode:
authorDBR (OpenERP) <dbr@tinyerp.com>2011-09-20 12:15:50 +0530
committerDBR (OpenERP) <dbr@tinyerp.com>2011-09-20 12:15:50 +0530
commitfa577c8a15ad327d77d4e9e24d5e0ea27ca3e613 (patch)
tree96cfa22a87945b37b853b3e10b3a0f1944204666 /addons/analytic/analytic.py
parent2380552cb493040b22e61f8e4209cc6df8edc912 (diff)
parentf2f072e2e3c9a273a050d6f2277beb64b1671e18 (diff)
[Merge]with: lp:openobject-addons
bzr revid: dbr@tinyerp.com-20110920064550-v90yjoblpzp5ebiq
Diffstat (limited to 'addons/analytic/analytic.py')
-rw-r--r--addons/analytic/analytic.py22
1 files changed, 11 insertions, 11 deletions
diff --git a/addons/analytic/analytic.py b/addons/analytic/analytic.py
index a155352adf8..d60efd20144 100644
--- a/addons/analytic/analytic.py
+++ b/addons/analytic/analytic.py
@@ -30,22 +30,22 @@ class account_analytic_account(osv.osv):
_description = 'Analytic Account'
def _compute_level_tree(self, cr, uid, ids, child_ids, res, field_names, context=None):
- def recursive_computation(account_id, res):
- currency_obj = self.pool.get('res.currency')
- account = self.browse(cr, uid, account_id)
+ currency_obj = self.pool.get('res.currency')
+ recres = {}
+ def recursive_computation(account):
+ result2 = res[account.id].copy()
for son in account.child_ids:
- res = recursive_computation(son.id, res)
+ result = recursive_computation(son)
for field in field_names:
- if account.currency_id.id == son.currency_id.id or field=='quantity':
- res[account.id][field] += res[son.id][field]
- else:
- res[account.id][field] += currency_obj.compute(cr, uid, son.currency_id.id, account.currency_id.id, res[son.id][field], context=context)
- return res
+ if (account.currency_id.id != son.currency_id.id) and (field!='quantity'):
+ result[field] = currency_obj.compute(cr, uid, son.currency_id.id, account.currency_id.id, result[field], context=context)
+ result2[field] += result[field]
+ return result2
for account in self.browse(cr, uid, ids, context=context):
if account.id not in child_ids:
continue
- res = recursive_computation(account.id, res)
- return res
+ recres[account.id] = recursive_computation(account)
+ return recres
def _debit_credit_bal_qtty(self, cr, uid, ids, name, arg, context=None):
res = {}