[FIX] account: allows duplication of account
authormtr <mtr@mtr>
Fri, 28 Jan 2011 11:44:50 +0000 (17:14 +0530)
committermtr <mtr@mtr>
Fri, 28 Jan 2011 11:44:50 +0000 (17:14 +0530)
lp bug: https://launchpad.net/bugs/708603 fixed

bzr revid: mtr@mtr-20110128114450-998ho3olsdfno7yw

addons/account/account.py

index 3abbe4c..bd08392 100644 (file)
@@ -300,11 +300,13 @@ class account_account(osv.osv):
                 brs.pop(0)
                 for fn in field_names:
                     sums.setdefault(current.id, {})[fn] = accounts.get(current.id, {}).get(fn, 0.0)
-                    for child in current.child_id:
-                        if child.company_id.currency_id.id == current.company_id.currency_id.id:
-                            sums[current.id][fn] += sums[child.id][fn]
-                        else:
-                            sums[current.id][fn] += currency_obj.compute(cr, uid, child.company_id.currency_id.id, current.company_id.currency_id.id, sums[child.id][fn], context=context)
+                    if current.child_id:
+                        for child in current.child_id:
+                            if child.company_id.currency_id.id == current.company_id.currency_id.id:
+                                if sums.get(child.id):
+                                    sums[current.id][fn] += sums[child.id][fn]
+                            else:
+                                sums[current.id][fn] += currency_obj.compute(cr, uid, child.company_id.currency_id.id, current.company_id.currency_id.id, sums[child.id][fn], context=context)
             res = {}
             null_result = dict((fn, 0.0) for fn in field_names)
             for id in ids: