diff options
Diffstat (limited to 'addons/analytic')
| -rw-r--r-- | addons/analytic/analytic.py | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/addons/analytic/analytic.py b/addons/analytic/analytic.py index 1ce483a26cd..5ea8c59b848 100644 --- a/addons/analytic/analytic.py +++ b/addons/analytic/analytic.py @@ -255,27 +255,27 @@ class account_analytic_account(osv.osv): if context is None: context={} if context.get('current_model') == 'project.project': - cr.execute("select analytic_account_id from project_project") - project_ids = [x[0] for x in cr.fetchall()] + project_obj = self.pool.get("account.analytic.account") + project_ids = project_obj.search(cr, uid, args) return self.name_get(cr, uid, project_ids, context=context) if name: - account = self.search(cr, uid, [('code', '=', name)] + args, limit=limit, context=context) - if not account: + account_ids = self.search(cr, uid, [('code', '=', name)] + args, limit=limit, context=context) + if not account_ids: names=map(lambda i : i.strip(),name.split('/')) for i in range(len(names)): dom=[('name', operator, names[i])] if i>0: - dom+=[('id','child_of',account)] - account = self.search(cr, uid, dom, limit=limit, context=context) - newacc = account + dom+=[('id','child_of',account_ids)] + account_ids = self.search(cr, uid, dom, limit=limit, context=context) + newacc = account_ids while newacc: newacc = self.search(cr, uid, [('parent_id', 'in', newacc)], limit=limit, context=context) - account += newacc + account_ids += newacc if args: - account = self.search(cr, uid, [('id', 'in', account)] + args, limit=limit, context=context) + account_ids = self.search(cr, uid, [('id', 'in', account_ids)] + args, limit=limit, context=context) else: - account = self.search(cr, uid, args, limit=limit, context=context) - return self.name_get(cr, uid, account, context=context) + account_ids = self.search(cr, uid, args, limit=limit, context=context) + return self.name_get(cr, uid, account_ids, context=context) def create(self, cr, uid, vals, context=None): contract = super(account_analytic_account, self).create(cr, uid, vals, context=context) |
