From 654507e5bc02f9318777c77877ecbe0f67aa0236 Mon Sep 17 00:00:00 2001 From: pinky <> Date: Tue, 2 Jan 2007 12:03:48 +0000 Subject: [PATCH] Project numbers bzr revid: pinky-6f68e63616750764c4fbc2d2801812d1e1497e3b --- addons/account/project/project.py | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/addons/account/project/project.py b/addons/account/project/project.py index 497588b0157..f5eb08b0653 100644 --- a/addons/account/project/project.py +++ b/addons/account/project/project.py @@ -148,18 +148,14 @@ class account_analytic_account(osv.osv): return res def name_search(self, cr, uid, name, args=[], operator='ilike', context={}): - codes = name.split('.') - codes.reverse() - parent_code = False - while codes: - current_code = codes.pop() - account = self.search(cr, uid, [('parent_id', '=', parent_code), ('code', '=', current_code)]+args) - if account: - parent_code = account[0] - else: - account = self.search(cr, uid, [('name', 'ilike', '%%%s%%' % name)]+args) - break - return self.name_get(cr, uid, account) + account = self.search(cr, uid, [('code', '=', name)]+args) + if not account: + account = self.search(cr, uid, [('name', 'ilike', '%%%s%%' % name)]+args) + newacc = account + while newacc: + newacc = self.search(cr, uid, [('parent_id', 'in', newacc)]+args) + account+=newacc + return self.name_get(cr, uid, account, context=context) account_analytic_account()