From 882d068f1afb9297c5b97280b0749ca64e874cbc Mon Sep 17 00:00:00 2001 From: Alexis de Lattre Date: Thu, 18 Nov 2021 16:20:49 +0100 Subject: [PATCH] [MIG] base_partner_ref from v12 to v14 --- base_partner_ref/__init__.py | 2 +- base_partner_ref/__manifest__.py | 8 ++++---- base_partner_ref/models/__init__.py | 1 + .../{partner.py => models/res_partner.py} | 17 ++++++++++------- .../{partner_view.xml => views/res_partner.xml} | 11 ++++++++--- base_usability/views/res_partner.xml | 3 +++ 6 files changed, 27 insertions(+), 15 deletions(-) create mode 100644 base_partner_ref/models/__init__.py rename base_partner_ref/{partner.py => models/res_partner.py} (80%) rename base_partner_ref/{partner_view.xml => views/res_partner.xml} (83%) diff --git a/base_partner_ref/__init__.py b/base_partner_ref/__init__.py index 4da81fa..0650744 100644 --- a/base_partner_ref/__init__.py +++ b/base_partner_ref/__init__.py @@ -1 +1 @@ -from . import partner +from . import models diff --git a/base_partner_ref/__manifest__.py b/base_partner_ref/__manifest__.py index 8e303bf..dcf9a36 100644 --- a/base_partner_ref/__manifest__.py +++ b/base_partner_ref/__manifest__.py @@ -1,10 +1,10 @@ -# Copyright 2017-2019 Akretion (http://www.akretion.com) +# Copyright 2017-2021 Akretion (http://www.akretion.com) # @author Alexis de Lattre # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). { 'name': 'Base Partner Reference', - 'version': '12.0.1.0.0', + 'version': '14.0.1.0.0', 'category': 'Partner', 'license': 'AGPL-3', 'summary': "Improve usage of partner's Internal Reference", @@ -21,6 +21,6 @@ Base Partner Reference 'author': 'Akretion', 'website': 'http://www.akretion.com', 'depends': ['base'], - 'data': ['partner_view.xml'], - 'installable': False, + 'data': ['views/res_partner.xml'], + 'installable': True, } diff --git a/base_partner_ref/models/__init__.py b/base_partner_ref/models/__init__.py new file mode 100644 index 0000000..91fed54 --- /dev/null +++ b/base_partner_ref/models/__init__.py @@ -0,0 +1 @@ +from . import res_partner diff --git a/base_partner_ref/partner.py b/base_partner_ref/models/res_partner.py similarity index 80% rename from base_partner_ref/partner.py rename to base_partner_ref/models/res_partner.py index 4ada8b3..2460c27 100644 --- a/base_partner_ref/partner.py +++ b/base_partner_ref/models/res_partner.py @@ -1,4 +1,4 @@ -# Copyright 2017-2019 Akretion +# Copyright 2017-2021 Akretion # @author: Alexis de Lattre # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). @@ -18,9 +18,9 @@ class ResPartner(models.Model): )] # add 'ref' in depends - @api.depends('is_company', 'name', 'parent_id.name', 'type', 'company_name', 'ref', 'invalidate_display_name') + @api.depends('ref', 'invalidate_display_name') def _compute_display_name(self): - super(ResPartner, self)._compute_display_name() + super()._compute_display_name() def _get_name(self): partner = self @@ -32,12 +32,13 @@ class ResPartner(models.Model): # END modif of native method if partner.company_name or partner.parent_id: if not name and partner.type in ['invoice', 'delivery', 'other']: - name = dict(self.fields_get(['type'])['type']['selection'])[partner.type] + name = dict(self.fields_get( + ['type'])['type']['selection'])[partner.type] if not partner.is_company: # START modif of native name_get() method company_name = partner.commercial_company_name or partner.parent_id.name if partner.parent_id.ref: - company_name = u"[%s] %s" % (partner.parent_id.ref, company_name) + company_name = "[%s] %s" % (partner.parent_id.ref, company_name) name = "%s, %s" % (company_name, name) # END modif of native name_get() method if self._context.get('show_address_only'): @@ -47,7 +48,8 @@ class ResPartner(models.Model): name = name.replace('\n\n', '\n') name = name.replace('\n\n', '\n') if self._context.get('address_inline'): - name = name.replace('\n', ', ') + splitted_names = name.split("\n") + name = ", ".join([n for n in splitted_names if n.strip()]) if self._context.get('show_email') and partner.email: name = "%s <%s>" % (name, partner.email) if self._context.get('html_format'): @@ -63,5 +65,6 @@ class ResPartner(models.Model): if name and operator == 'ilike': recs = self.search([('ref', '=', name)] + args, limit=limit) if recs: - return recs.name_get() + rec_childs = self.search([('id', 'child_of', recs.ids)]) + return rec_childs.name_get() return super().name_search(name=name, args=args, operator=operator, limit=limit) diff --git a/base_partner_ref/partner_view.xml b/base_partner_ref/views/res_partner.xml similarity index 83% rename from base_partner_ref/partner_view.xml rename to base_partner_ref/views/res_partner.xml index c18af95..6f5daa8 100644 --- a/base_partner_ref/partner_view.xml +++ b/base_partner_ref/views/res_partner.xml @@ -11,29 +11,34 @@ Move ref in partner form to make it more visible res.partner + 1000 - + + 1 + + + - + 1 +--> Add ref in partner kanban view diff --git a/base_usability/views/res_partner.xml b/base_usability/views/res_partner.xml index 37c9510..829560b 100644 --- a/base_usability/views/res_partner.xml +++ b/base_usability/views/res_partner.xml @@ -39,6 +39,9 @@ res.partner + + +