From 1ab9b0449383741c5d3c837b8f1091d2a64a32c2 Mon Sep 17 00:00:00 2001 From: Antonin Bourguignon Date: Wed, 24 Oct 2012 19:06:01 +0200 Subject: [PATCH] [FIX] the full name building of analytic accounts bzr revid: abo@openerp.com-20121024170601-ccjc2mrhmgn8ydxy --- addons/analytic/analytic.py | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/addons/analytic/analytic.py b/addons/analytic/analytic.py index 5ea8c59b848..11634dc4fb7 100644 --- a/addons/analytic/analytic.py +++ b/addons/analytic/analytic.py @@ -96,9 +96,22 @@ class account_analytic_account(osv.osv): res[row['id']][field] = row[field] return self._compute_level_tree(cr, uid, ids, child_ids, res, fields, context) - def _complete_name_calc(self, cr, uid, ids, prop, unknow_none, unknow_dict): - res = self.name_get(cr, uid, ids) - return dict(res) + def _get_full_name(self, cr, uid, ids, name=None, args=None, context=None): + if context == None: + context = {} + res = {} + for m in self.browse(cr, uid, ids, context=context): + res[m.id] = self._get_one_full_name(m) + return res + + def _get_one_full_name(self, menu, level=6): + if level<=0: + return '...' + if menu.parent_id: + parent_path = self._get_one_full_name(menu.parent_id, level-1) + "/" + else: + parent_path = '' + return parent_path + menu.name def _child_compute(self, cr, uid, ids, name, arg, context=None): result = {} @@ -139,7 +152,7 @@ class account_analytic_account(osv.osv): _columns = { 'name': fields.char('Account/Contract Name', size=128, required=True), - 'complete_name': fields.function(_complete_name_calc, type='char', string='Full Account Name'), + 'complete_name': fields.function(_get_full_name, type='char', string='Full Account Name'), 'code': fields.char('Reference', size=24, select=True), 'type': fields.selection([('view','Analytic View'), ('normal','Analytic Account'),('contract','Contract or Project'),('template','Template of Project')], 'Type of Account', required=True, help="If you select the View Type, it means you won\'t allow to create journal entries using that account.\n"\