diff --git a/l10n_es_partner/README.rst b/l10n_es_partner/README.rst index 101f2712507..a66457cb7ba 100644 --- a/l10n_es_partner/README.rst +++ b/l10n_es_partner/README.rst @@ -36,7 +36,8 @@ Incluye la siguiente funcionalidad: el nombre comercial de la empresa. - Añade los campos nombre largo, NIF y web a los bancos. - Añade los datos de los bancos españoles extraídos del registro - oficial del Banco de España (http://goo.gl/mtx6ic). El asistente + oficial del Banco de España + (`http://goo.gl/mtx6ic `__). El asistente realiza la descarga automática de Internet, pero si por cualquier razón hay algún problema, existe una copia local cuya última actualización fue el 26/10/2017. @@ -50,7 +51,8 @@ Installation ============ Este módulo depende de *base_bank_from_iban* que se encuentra en el -repositorio https://github.com/OCA/community-data-files +repositorio +`https://github.com/OCA/community-data-files `__ Configuration ============= @@ -72,7 +74,8 @@ para nombre comercial. Known issues / Roadmap ====================== -- Take BICs from https://github.com/PeterNotenboom/SwiftCodes. +- Take BICs from + `https://github.com/PeterNotenboom/SwiftCodes `__. Bug Tracker =========== @@ -108,6 +111,10 @@ Contributors - Javier Antó +- `Dixmit `__: + + - Enric Tobella + Maintainers ----------- diff --git a/l10n_es_partner/models/res_partner.py b/l10n_es_partner/models/res_partner.py index 25f7dd1fb50..686b97daccc 100644 --- a/l10n_es_partner/models/res_partner.py +++ b/l10n_es_partner/models/res_partner.py @@ -15,21 +15,33 @@ class ResPartner(models.Model): @api.depends("comercial") @api.depends_context("no_display_commercial") def _compute_display_name(self): - name_pattern = ( - self.env["ir.config_parameter"] - .sudo() - .get_param("l10n_es_partner.name_pattern", default="") - ) - no_display_commercial = self.env.context.get("no_display_commercial") - for partner in self: - if no_display_commercial or not name_pattern or not partner.comercial: - super(ResPartner, partner)._compute_display_name() - else: - partner.display_name = name_pattern % { - "name": partner.complete_name, - "comercial_name": partner.comercial, + """ + We are enforcing the new context, + because complete name field will remove the context + """ + return super( + ResPartner, + self.with_context( + display_commercial=not self.env.context.get( + "no_display_commercial", False + ) + ), + )._compute_display_name() + + def _get_complete_name(self): + name = super()._get_complete_name() + if self.env.context.get("display_commercial") and self.comercial: + name_pattern = ( + self.env["ir.config_parameter"] + .sudo() + .get_param("l10n_es_partner.name_pattern", default="") + ) + if name_pattern: + name = name_pattern % { + "name": name, + "comercial_name": self.comercial, } - return True + return name @api.model def _commercial_fields(self): diff --git a/l10n_es_partner/readme/CONTRIBUTORS.md b/l10n_es_partner/readme/CONTRIBUTORS.md index 58e05fe3ca9..426c2101aa5 100644 --- a/l10n_es_partner/readme/CONTRIBUTORS.md +++ b/l10n_es_partner/readme/CONTRIBUTORS.md @@ -7,3 +7,5 @@ - Manuel Regidor \<\> - [APSL](https://apsl.tech): - Javier Antó \<\> +- [Dixmit](https://www.dixmit.com): + - Enric Tobella diff --git a/l10n_es_partner/static/description/index.html b/l10n_es_partner/static/description/index.html index 747ea1965c5..72a5b5817f7 100644 --- a/l10n_es_partner/static/description/index.html +++ b/l10n_es_partner/static/description/index.html @@ -8,10 +8,11 @@ /* :Author: David Goodger (goodger@python.org) -:Id: $Id: html4css1.css 8954 2022-01-20 10:10:25Z milde $ +:Id: $Id: html4css1.css 9511 2024-01-13 09:50:07Z milde $ :Copyright: This stylesheet has been placed in the public domain. Default cascading style sheet for the HTML output of Docutils. +Despite the name, some widely supported CSS2 features are used. See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to customize this style sheet. @@ -274,7 +275,7 @@ margin-left: 2em ; margin-right: 2em } -pre.code .ln { color: grey; } /* line numbers */ +pre.code .ln { color: gray; } /* line numbers */ pre.code, code { background-color: #eeeeee } pre.code .comment, code .comment { color: #5C6576 } pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold } @@ -300,7 +301,7 @@ span.pre { white-space: pre } -span.problematic { +span.problematic, pre.problematic { color: red } span.section-subtitle { @@ -377,7 +378,8 @@

Adaptación de los clientes, proveedores y bancos para España el nombre comercial de la empresa.
  • Añade los campos nombre largo, NIF y web a los bancos.
  • Añade los datos de los bancos españoles extraídos del registro -oficial del Banco de España (http://goo.gl/mtx6ic). El asistente +oficial del Banco de España +(http://goo.gl/mtx6ic). El asistente realiza la descarga automática de Internet, pero si por cualquier razón hay algún problema, existe una copia local cuya última actualización fue el 26/10/2017.
  • @@ -400,7 +402,8 @@

    Adaptación de los clientes, proveedores y bancos para España

    Installation

    Este módulo depende de base_bank_from_iban que se encuentra en el -repositorio https://github.com/OCA/community-data-files

    +repositorio +https://github.com/OCA/community-data-files

    Configuration

    @@ -419,7 +422,8 @@

    Configuration

    @@ -454,12 +458,18 @@

    Contributors

  • Javier Antó <janto@apsl.net>
  • +
  • Dixmit:
      +
    • Enric Tobella
    • +
    +
  • Maintainers

    This module is maintained by the OCA.

    -Odoo Community Association + +Odoo Community Association +

    OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.

    diff --git a/l10n_es_partner/tests/test_l10n_es_partner.py b/l10n_es_partner/tests/test_l10n_es_partner.py index 98ff9f3c9c2..b4dfadc76b5 100644 --- a/l10n_es_partner/tests/test_l10n_es_partner.py +++ b/l10n_es_partner/tests/test_l10n_es_partner.py @@ -65,9 +65,23 @@ def test_name(self): "l10n_es_partner.name_pattern", "%(comercial_name)s (%(name)s)" ) partner2 = self.env["res.partner"].create( - {"name": "Empresa de prueba", "comercial": "Nombre comercial"} + { + "name": "Empresa de prueba", + "comercial": "Nombre comercial", + "street": "My street", + } ) self.assertEqual(partner2.display_name, "Nombre comercial (Empresa de prueba)") + self.assertEqual(partner2.complete_name, "Empresa de prueba") + self.assertEqual( + partner2.with_context(show_address=True).display_name, + "Nombre comercial (Empresa de prueba)\nMy street", + ) + # We will enforce the computation, but nothing should change + partner2.with_context( + show_address=True, display_commercial=True + )._compute_complete_name() + self.assertEqual(partner2.complete_name, "Empresa de prueba") partner2.write({"comercial": "Nuevo nombre"}) self.assertEqual(partner2.display_name, "Nuevo nombre (Empresa de prueba)") names = dict(