From 79e51a1b2cc1606fb95ed4dc5407e446c5f8cb54 Mon Sep 17 00:00:00 2001 From: Alexis de Lattre Date: Tue, 25 Feb 2025 12:02:17 +0100 Subject: [PATCH] [FIX] base_partner_ref: display_name was not computed any more --- base_partner_ref/models/res_partner.py | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/base_partner_ref/models/res_partner.py b/base_partner_ref/models/res_partner.py index b295846..bbd95c9 100644 --- a/base_partner_ref/models/res_partner.py +++ b/base_partner_ref/models/res_partner.py @@ -3,23 +3,14 @@ # @author: Alexis de Lattre # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -from openerp.osv import orm, fields -from openerp import api +from openerp import models, fields, api -class ResPartner(orm.Model): +class ResPartner(models.Model): _inherit = 'res.partner' + display_name = fields.Char(compute="_compute_display_name", store=True, string="Name") # copy=False on 'ref' is already in base_usability - _columns = { - # in v8, display_name is stored field - # so, when we inherit name_get() and use additionnal fields, we - # have to update the code for invalidation - 'display_name': fields.char(store={ - 'res.partner': (lambda self, cr, uid, ids, context=None: self.search(cr, uid, [('id', 'child_of', ids)], context=dict(active_test=False)), - ['parent_id', 'is_company', 'name', 'ref'], 10) - }), - } _sql_constraints = [( 'ref_unique', @@ -27,6 +18,13 @@ class ResPartner(orm.Model): 'A partner already exists with this internal reference!' )] + # inspired by _display_name_compute from base module + @api.multi + @api.depends('parent_id', 'is_company', 'name', 'ref') + def _compute_display_name(self): + for partner in self: + partner.display_name = partner.with_context(show_address=False, show_address_only=False, show_email=False).name_get()[0][1] + def name_get(self, cr, uid, ids, context=None): if context is None: context = {} @@ -45,8 +43,8 @@ class ResPartner(orm.Model): name = self._display_address(cr, uid, record, without_company=True, context=context) if context.get('show_address'): name = name + "\n" + self._display_address(cr, uid, record, without_company=True, context=context) - name = name.replace('\n\n','\n') - name = name.replace('\n\n','\n') + name = name.replace('\n\n', '\n') + name = name.replace('\n\n', '\n') if context.get('show_email') and record.email: name = "%s <%s>" % (name, record.email) res.append((record.id, name))