From 5ce7ed3fe79277f9e03f8479e069ee62352c10a4 Mon Sep 17 00:00:00 2001 From: Alexis de Lattre Date: Tue, 26 Mar 2024 22:33:02 +0100 Subject: [PATCH] [IMP] base_usability: improve report header methods on res.company --- base_usability/i18n/base_usability.pot | 64 ++++++++++++++++++++-- base_usability/i18n/fr.po | 74 +++++++++++++++++++++++--- base_usability/models/res_company.py | 59 +++++++++++++++++--- 3 files changed, 179 insertions(+), 18 deletions(-) diff --git a/base_usability/i18n/base_usability.pot b/base_usability/i18n/base_usability.pot index 97db020..1c8a50e 100644 --- a/base_usability/i18n/base_usability.pot +++ b/base_usability/i18n/base_usability.pot @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-07-01 10:02+0000\n" -"PO-Revision-Date: 2021-07-01 10:02+0000\n" +"POT-Creation-Date: 2024-03-26 21:27+0000\n" +"PO-Revision-Date: 2024-03-26 21:27+0000\n" "Last-Translator: \n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -15,6 +15,18 @@ msgstr "" "Content-Transfer-Encoding: \n" "Plural-Forms: \n" +#. module: base_usability +#: code:addons/base_usability/models/res_company.py:0 +#, python-format +msgid "%s with a capital of" +msgstr "" + +#. module: base_usability +#: code:addons/base_usability/models/res_company.py:0 +#, python-format +msgid "APE:" +msgstr "" + #. module: base_usability #: model:ir.model,name:base_usability.model_res_partner_bank msgid "Bank Accounts" @@ -25,11 +37,22 @@ msgstr "" msgid "Bank Name" msgstr "" +#. module: base_usability +#: code:addons/base_usability/models/res_company.py:0 +#, python-format +msgid "Capital:" +msgstr "" + #. module: base_usability #: model:ir.model,name:base_usability.model_res_company msgid "Companies" msgstr "" +#. module: base_usability +#: model_terms:ir.ui.view,arch_db:base_usability.ir_property_view_search +msgid "Company" +msgstr "" + #. module: base_usability #: model:ir.model,name:base_usability.model_res_partner msgid "Contact" @@ -48,6 +71,7 @@ msgid "Customer Number:" msgstr "" #. module: base_usability +#: model:ir.model.fields,field_description:base_usability.field_ir_actions_report__display_name #: model:ir.model.fields,field_description:base_usability.field_ir_mail_server__display_name #: model:ir.model.fields,field_description:base_usability.field_ir_model__display_name #: model:ir.model.fields,field_description:base_usability.field_res_company__display_name @@ -65,12 +89,24 @@ msgstr "" msgid "E-mail:" msgstr "" +#. module: base_usability +#: code:addons/base_usability/models/res_company.py:0 +#, python-format +msgid "EORI:" +msgstr "" + +#. module: base_usability +#: model_terms:ir.ui.view,arch_db:base_usability.ir_property_view_search +msgid "Field" +msgstr "" + #. module: base_usability #: model_terms:ir.ui.view,arch_db:base_usability.res_country_search msgid "Group By" msgstr "" #. module: base_usability +#: model:ir.model.fields,field_description:base_usability.field_ir_actions_report__id #: model:ir.model.fields,field_description:base_usability.field_ir_mail_server__id #: model:ir.model.fields,field_description:base_usability.field_ir_model__id #: model:ir.model.fields,field_description:base_usability.field_res_company__id @@ -87,6 +123,7 @@ msgid "Installable" msgstr "" #. module: base_usability +#: model:ir.model.fields,field_description:base_usability.field_ir_actions_report____last_update #: model:ir.model.fields,field_description:base_usability.field_ir_mail_server____last_update #: model:ir.model.fields,field_description:base_usability.field_ir_model____last_update #: model:ir.model.fields,field_description:base_usability.field_res_company____last_update @@ -139,6 +176,11 @@ msgstr "" msgid "Partner Tags" msgstr "" +#. module: base_usability +#: model:ir.model.fields,field_description:base_usability.field_ir_actions_report__print_report_name +msgid "Printed Report Name" +msgstr "" + #. module: base_usability #: model:ir.model.fields,field_description:base_usability.field_res_partner__ref #: model:ir.model.fields,field_description:base_usability.field_res_users__ref @@ -146,8 +188,14 @@ msgid "Reference" msgstr "" #. module: base_usability -#: model_terms:ir.ui.view,arch_db:base_usability.res_country_search -msgid "Search Countries" +#: model:ir.model,name:base_usability.model_ir_actions_report +msgid "Report Action" +msgstr "" + +#. module: base_usability +#: code:addons/base_usability/models/res_company.py:0 +#, python-format +msgid "SIRET:" msgstr "" #. module: base_usability @@ -169,6 +217,14 @@ msgstr "" msgid "Tel:" msgstr "" +#. module: base_usability +#: model:ir.model.fields,help:base_usability.field_ir_actions_report__print_report_name +msgid "" +"This is the filename of the report going to download. Keep empty to not " +"change the report filename. You can use a python expression with the " +"'object' and 'time' variables." +msgstr "" + #. module: base_usability #: model:ir.model,name:base_usability.model_res_users msgid "Users" diff --git a/base_usability/i18n/fr.po b/base_usability/i18n/fr.po index 79a1579..660d4c2 100644 --- a/base_usability/i18n/fr.po +++ b/base_usability/i18n/fr.po @@ -6,15 +6,27 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-07-01 10:02+0000\n" -"PO-Revision-Date: 2021-07-01 12:15+0200\n" -"Last-Translator: Alexis de Lattre \n" +"POT-Creation-Date: 2024-03-26 21:27+0000\n" +"PO-Revision-Date: 2024-03-26 21:27+0000\n" +"Last-Translator: \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" "Plural-Forms: \n" +#. module: base_usability +#: code:addons/base_usability/models/res_company.py:0 +#, python-format +msgid "%s with a capital of" +msgstr "%s au capital de" + +#. module: base_usability +#: code:addons/base_usability/models/res_company.py:0 +#, python-format +msgid "APE:" +msgstr "APE :" + #. module: base_usability #: model:ir.model,name:base_usability.model_res_partner_bank msgid "Bank Accounts" @@ -25,11 +37,22 @@ msgstr "Comptes bancaires" msgid "Bank Name" msgstr "Nom de la banque" +#. module: base_usability +#: code:addons/base_usability/models/res_company.py:0 +#, python-format +msgid "Capital:" +msgstr "Capital : " + #. module: base_usability #: model:ir.model,name:base_usability.model_res_company msgid "Companies" msgstr "Sociétés" +#. module: base_usability +#: model_terms:ir.ui.view,arch_db:base_usability.ir_property_view_search +msgid "Company" +msgstr "Société" + #. module: base_usability #: model:ir.model,name:base_usability.model_res_partner msgid "Contact" @@ -42,11 +65,13 @@ msgstr "Devise" #. module: base_usability #: code:addons/base_usability/models/res_partner.py:0 +#: code:addons/base_usability/models/res_partner.py:0 #, python-format msgid "Customer Number:" msgstr "N° client :" #. module: base_usability +#: model:ir.model.fields,field_description:base_usability.field_ir_actions_report__display_name #: model:ir.model.fields,field_description:base_usability.field_ir_mail_server__display_name #: model:ir.model.fields,field_description:base_usability.field_ir_model__display_name #: model:ir.model.fields,field_description:base_usability.field_res_company__display_name @@ -64,12 +89,24 @@ msgstr "Nom affiché" msgid "E-mail:" msgstr "E-mail :" +#. module: base_usability +#: code:addons/base_usability/models/res_company.py:0 +#, python-format +msgid "EORI:" +msgstr "EORI :" + +#. module: base_usability +#: model_terms:ir.ui.view,arch_db:base_usability.ir_property_view_search +msgid "Field" +msgstr "Champ" + #. module: base_usability #: model_terms:ir.ui.view,arch_db:base_usability.res_country_search msgid "Group By" msgstr "Grouper par" #. module: base_usability +#: model:ir.model.fields,field_description:base_usability.field_ir_actions_report__id #: model:ir.model.fields,field_description:base_usability.field_ir_mail_server__id #: model:ir.model.fields,field_description:base_usability.field_ir_model__id #: model:ir.model.fields,field_description:base_usability.field_res_company__id @@ -78,7 +115,7 @@ msgstr "Grouper par" #: model:ir.model.fields,field_description:base_usability.field_res_partner_category__id #: model:ir.model.fields,field_description:base_usability.field_res_users__id msgid "ID" -msgstr "ID" +msgstr "" #. module: base_usability #: model_terms:ir.ui.view,arch_db:base_usability.view_module_filter @@ -86,6 +123,7 @@ msgid "Installable" msgstr "Installable" #. module: base_usability +#: model:ir.model.fields,field_description:base_usability.field_ir_actions_report____last_update #: model:ir.model.fields,field_description:base_usability.field_ir_mail_server____last_update #: model:ir.model.fields,field_description:base_usability.field_ir_model____last_update #: model:ir.model.fields,field_description:base_usability.field_res_company____last_update @@ -136,7 +174,12 @@ msgstr "Personne (utilisé pour cacher des entrées de menu natifs)" #. module: base_usability #: model:ir.model,name:base_usability.model_res_partner_category msgid "Partner Tags" -msgstr "Étiquettes du partenaire" +msgstr "Étiquettes contact" + +#. module: base_usability +#: model:ir.model.fields,field_description:base_usability.field_ir_actions_report__print_report_name +msgid "Printed Report Name" +msgstr "Nom du rapport imprimé" #. module: base_usability #: model:ir.model.fields,field_description:base_usability.field_res_partner__ref @@ -145,11 +188,18 @@ msgid "Reference" msgstr "Référence" #. module: base_usability -#: model_terms:ir.ui.view,arch_db:base_usability.res_country_search -msgid "Search Countries" +#: model:ir.model,name:base_usability.model_ir_actions_report +msgid "Report Action" msgstr "" #. module: base_usability +#: code:addons/base_usability/models/res_company.py:0 +#, python-format +msgid "SIRET:" +msgstr "SIRET :" + +#. module: base_usability +#: code:addons/base_usability/models/res_partner.py:0 #: code:addons/base_usability/models/res_partner.py:0 #, python-format msgid "Supplier Number:" @@ -158,7 +208,7 @@ msgstr "N° fournisseur :" #. module: base_usability #: model:ir.model.fields,field_description:base_usability.field_res_partner_category__name msgid "Tag Name" -msgstr "Nom de l'étiquette" +msgstr "Libellé de l'étiquette" #. module: base_usability #: code:addons/base_usability/models/res_company.py:0 @@ -167,6 +217,14 @@ msgstr "Nom de l'étiquette" msgid "Tel:" msgstr "Tél :" +#. module: base_usability +#: model:ir.model.fields,help:base_usability.field_ir_actions_report__print_report_name +msgid "" +"This is the filename of the report going to download. Keep empty to not " +"change the report filename. You can use a python expression with the " +"'object' and 'time' variables." +msgstr "" + #. module: base_usability #: model:ir.model,name:base_usability.model_res_users msgid "Users" diff --git a/base_usability/models/res_company.py b/base_usability/models/res_company.py index eef598a..f6415d7 100644 --- a/base_usability/models/res_company.py +++ b/base_usability/models/res_company.py @@ -3,6 +3,7 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). from odoo import api, models, _ +from odoo.tools.misc import format_amount class ResCompany(models.Model): @@ -39,32 +40,78 @@ class ResCompany(models.Model): 'value': self.phone, # http://www.fileformat.info/info/unicode/char/1f4de/index.htm 'icon': '\U0001F4DE', - 'label': _('Tel:')}, + 'label': _('Tel:'), + }, 'email': { 'value': self.email, # http://www.fileformat.info/info/unicode/char/2709/index.htm 'icon': '\u2709', - 'label': _('E-mail:')}, + 'label': _('E-mail:'), + }, 'website': { 'value': self.website, 'icon': '\U0001f310', - 'label': _('Website:')}, + 'label': _('Website:'), + }, 'vat': { 'value': self.vat, - 'label': _('VAT:')}, + 'label': _('VAT:'), + }, + 'ape': { + 'value': hasattr(self, 'ape') and self.ape or False, + 'label': _('APE:'), + }, + 'siret': { + 'value': hasattr(self, 'siret') and self.siret or False, + 'label': _('SIRET:'), + }, + 'siren': { + 'value': hasattr(self, 'siren') and self.siren or False, + 'label': _('SIREN:'), + }, + 'eori': { + 'value': self._get_eori(), + 'label': _('EORI:'), + }, + 'capital': { + # 'capital_amount' added by base_company_extension + 'value': hasattr(self, 'capital_amount') and self.capital_amount and format_amount(self.env, self.capital_amount, self.currency_id) or False, + 'label': _('Capital:'), + } } + # 'legal_type' added by base_company_extension + if hasattr(self, 'legal_type') and self.legal_type: + options['capital']['label'] = _('%s with a capital of') % self.legal_type return options + def _get_eori(self): + eori = False + if self.partner_id.country_id.code == 'FR' and hasattr(self, 'siret') and self.siret: + # Currently migrating from EORI-SIRET to EORI-SIREN : + # https://www.pwcavocats.com/fr/ealertes/ealertes-france/2023/avril/reforme-numero-eori-siren-siret.html + # But, for the moment, we continue to use EORI-SIRET + eori = f'FR{self.siret}' + return eori + def _report_company_legal_name(self): '''Method inherited in the module base_company_extension''' self.ensure_one() return self.name + def _report_header_line_details(self): + """This method is designed to be inherited""" + # I decided not to put email in the default header because only a few very small + # companies have a generic company email address + line_details = [['phone', 'website', 'capital'], ['vat', 'siret', 'eori', 'ape']] + return line_details + # for reports def _display_report_header( - self, line_details=[['phone', 'website'], ['vat']], - icon=True, line_separator=' - '): + self, line_details=None, icon=True, line_separator=' - '): self.ensure_one() + if line_details is None: + line_details = self._report_header_line_details() + res = '' address = self.partner_id._display_address(without_company=True) address = address.replace('\n', ' - ')