bugfix
authorFabien Pinckaers <fp@tinyerp.com>
Fri, 9 Jan 2009 06:34:31 +0000 (07:34 +0100)
committerFabien Pinckaers <fp@tinyerp.com>
Fri, 9 Jan 2009 06:34:31 +0000 (07:34 +0100)
bzr revid: fp@tinyerp.com-20090109063431-pzzbjcsymkucist2

1  2 
addons/account/account.py

@@@ -166,15 -166,15 +166,14 @@@ class account_account(osv.osv)
  
      def _get_children_and_consol(self, cr, uid, ids, context={}):
          #this function search for all the children and all consolidated children (recursively) of the given account ids
--        res = self.search(cr, uid, [('parent_id', 'child_of', ids)])
--        for id in res:
--            this = self.browse(cr, uid, id, context)
--            for child in this.child_consol_ids:
--                if child.id not in res:
--                    res.append(child.id)
--        if len(res) != len(ids):
--            return self._get_children_and_consol(cr, uid, res, context)
--        return res
++        ids2 = self.search(cr, uid, [('parent_id', 'child_of', ids)], context=context)
++        ids3 = []
++        for rec in self.browse(cr, uid, ids2, context=context):
++            for child in rec.child_consol_ids:
++                ids3.append[child.id]
++        if ids3:
++            ids3 = self._get_children_and_consol(cr, uid, ids3, context)
++        return ids2+ids3
  
      def __compute(self, cr, uid, ids, field_names, arg, context={}, query=''):
          #compute the balance/debit/credit accordingly to the value of field_name for the given account ids