[FIX] contract: Invoice creation message translatable

As it was, the text to translate is not correctly extracted, so it's
not translated, creating a mix of languages, as `_creation_message`
is returning a translated sentence.

We take also the opportunity to change the way the sentence is built
for having as translatable only the "by contract" words, to avoid
possible errors in translations due to the placeholders.
This commit is contained in:
Pedro M. Baeza
2025-02-01 11:23:25 +01:00
parent aae77dfdd9
commit 895cc4b4de
3 changed files with 18 additions and 9 deletions

View File

@@ -2334,6 +2334,13 @@ msgstr ""
msgid "You must supply a date of next invoice for contract line '%s'" msgid "You must supply a date of next invoice for contract line '%s'"
msgstr "" msgstr ""
#. module: contract
#. odoo-python
#: code:addons/contract/models/contract.py:0
#, python-format
msgid "by contract"
msgstr ""
#. module: contract #. module: contract
#: model_terms:ir.ui.view,arch_db:contract.contract_contract_form_view #: model_terms:ir.ui.view,arch_db:contract.contract_contract_form_view
msgid "e.g. Contract XYZ" msgid "e.g. Contract XYZ"

View File

@@ -2543,6 +2543,13 @@ msgstr ""
"Debe proporcionar la fecha de la próxima factura para la línea del contrato " "Debe proporcionar la fecha de la próxima factura para la línea del contrato "
"'%s'" "'%s'"
#. module: contract
#. odoo-python
#: code:addons/contract/models/contract.py:0
#, python-format
msgid "by contract"
msgstr "por el contrato"
#. module: contract #. module: contract
#: model_terms:ir.ui.view,arch_db:contract.contract_contract_form_view #: model_terms:ir.ui.view,arch_db:contract.contract_contract_form_view
msgid "e.g. Contract XYZ" msgid "e.g. Contract XYZ"

View File

@@ -619,17 +619,12 @@ class ContractContract(models.Model):
def _add_contract_origin(self, invoices): def _add_contract_origin(self, invoices):
for item in self: for item in self:
for move in invoices & item._get_related_invoices(): for move in invoices & item._get_related_invoices():
translation = _("by contract")
move.message_post( move.message_post(
body=( body=(
_( f"{move._creation_message()} {translation} "
( f"<a href=# data-oe-model=contract.contract"
"%(msg)s by contract <a href=# data-oe-model=contract.contract" f" data-oe-id={item.id}>{item.display_name}</a>."
" data-oe-id=%(contract_id)d>%(contract)s</a>."
),
msg=move._creation_message(),
contract_id=item.id,
contract=item.display_name,
)
) )
) )