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"\