diff --git a/contract/i18n/contract.pot b/contract/i18n/contract.pot index aa97a0a5b4..8f969ffda1 100644 --- a/contract/i18n/contract.pot +++ b/contract/i18n/contract.pot @@ -6,6 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 17.0\n" "Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-09-03 19:17+0000\n" +"PO-Revision-Date: 2024-09-03 19:17+0000\n" "Last-Translator: \n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -13,6 +15,13 @@ msgstr "" "Content-Transfer-Encoding: \n" "Plural-Forms: \n" +#. module: contract +#. odoo-python +#: code:addons/contract/models/contract.py:0 +#, python-format +msgid "%(msg)s by contract: %(contract_link)s" +msgstr "" + #. module: contract #: model:mail.template,body_html:contract.email_contract_template msgid "" @@ -718,9 +727,7 @@ msgstr "" #. odoo-python #: code:addons/contract/models/contract.py:0 #, python-format -msgid "" -"Contract manually invoiced: Invoice" +msgid "Contract manually invoiced: %(invoice_link)s" msgstr "" #. module: contract @@ -1395,6 +1402,11 @@ msgstr "" msgid "Name" msgstr "" +#. module: contract +#: model:ir.model.fields,field_description:contract.field_contract_contract__activity_calendar_event_id +msgid "Next Activity Calendar Event" +msgstr "" + #. module: contract #: model:ir.model.fields,field_description:contract.field_contract_contract__activity_date_deadline msgid "Next Activity Deadline" diff --git a/contract/i18n/es.po b/contract/i18n/es.po index 20b250798d..fbb353a652 100644 --- a/contract/i18n/es.po +++ b/contract/i18n/es.po @@ -9,16 +9,23 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 11.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-12-31 14:54+0000\n" -"PO-Revision-Date: 2024-08-12 13:51+0000\n" -"Last-Translator: \"Pedro M. Baeza\" \n" +"POT-Creation-Date: 2024-09-03 19:17+0000\n" +"PO-Revision-Date: 2024-09-03 21:25+0200\n" +"Last-Translator: Sergio Teruel \n" "Language-Team: Spanish (https://www.transifex.com/oca/teams/23907/es/)\n" "Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 5.6.2\n" +"X-Generator: Poedit 3.0.1\n" + +#. module: contract +#. odoo-python +#: code:addons/contract/models/contract.py:0 +#, python-format +msgid "%(msg)s by contract: %(contract_link)s" +msgstr "%(msg)s por el contrato: %(contract_link)s" #. module: contract #: model:mail.template,body_html:contract.email_contract_template @@ -875,12 +882,8 @@ msgstr "Líneas de contrato (fijo)" #. odoo-python #: code:addons/contract/models/contract.py:0 #, python-format -msgid "" -"Contract manually invoiced: Invoice" -msgstr "" -"Contrato facturado manualmente: Factura" +msgid "Contract manually invoiced: %(invoice_link)s" +msgstr "Contrato facturado manualmente: %(invoice_link)s" #. module: contract #: model:mail.message.subtype,name:contract.mail_message_subtype_contract_modification @@ -1576,6 +1579,13 @@ msgstr "Fecha límite de mi actividad" msgid "Name" msgstr "Nombre" +#. module: contract +#: model:ir.model.fields,field_description:contract.field_contract_contract__activity_calendar_event_id +#, fuzzy +#| msgid "Next Activity Deadline" +msgid "Next Activity Calendar Event" +msgstr "Fecha límite de la siguiente actividad" + #. module: contract #: model:ir.model.fields,field_description:contract.field_contract_contract__activity_date_deadline msgid "Next Activity Deadline" @@ -2416,483 +2426,3 @@ msgid "" msgstr "" "{{ object.company_id.name }} Contrato (Ref {{ object.name or 'n/a' }}) - " "Modificaciones" - -#~ msgid "SMS Delivery error" -#~ msgstr "Error de entrega de SMS" - -#~ msgid "" -#~ "\n" -#~ " contract to invoice\n" -#~ " \n" -#~ " \n" -#~ " contrato a facturar\n" -#~ " \n" -#~ " \n" -#~ "

Hello ,\n" -#~ "

A new contract has been created:

\n" -#~ "\n" -#~ "

\n" -#~ "   REFERENCES
\n" -#~ "   Contract:
\n" -#~ " \n" -#~ "   Contract Date Start:
\n" -#~ "
\n" -#~ "\n" -#~ " \n" -#~ " \n" -#~ "   Your Contact: \n" -#~ " \n" -#~ " \n" -#~ "   Your Contact: \n" -#~ " \n" -#~ " \n" -#~ "

\n" -#~ "\n" -#~ "
\n" -#~ "

If you have any questions, do not hesitate to contact " -#~ "us.

\n" -#~ "

Thank you for choosing !

\n" -#~ "
\n" -#~ "
\n" -#~ "
\n" -#~ "

\n" -#~ "

\n" -#~ "
\n" -#~ "
\n" -#~ "
\n" -#~ "
View contract\n" -#~ " \n" -#~ " " -#~ msgstr "" -#~ "\n" -#~ " " - -#~ msgid "Analytic Tags" -#~ msgstr "Etiquetas Analíticas" - -#~ msgid "Number of unread messages" -#~ msgstr "Número de mensajes no leídos" - -#~ msgid "Unread Messages" -#~ msgstr "Mensajes no leídos" - -#~ msgid "Unread Messages Counter" -#~ msgstr "Número de mensajes no leídos" - -#~ msgid "" -#~ "\n" -#~ "

Hello

\n" -#~ "

We have modifications on the contract that we want to " -#~ "notify you.

\n" -#~ " " -#~ msgstr "" -#~ "\n" -#~ "

Hola

\n" -#~ "

Tenemos modificaciones en el contrato que queremos " -#~ "notificarle.

\n" -#~ " " - -#~ msgid "" -#~ "\n" -#~ "
\n" -#~ "

Hello ${object.partner_id.name or ''},

\n" -#~ "

A new contract has been created:

\n" -#~ "\n" -#~ "

\n" -#~ "   REFERENCES
\n" -#~ "   Contract: ${object.name}
\n" -#~ " % if object.date_start:\n" -#~ "   Contract Date Start: ${object.date_start or ''}
\n" -#~ " % endif\n" -#~ "\n" -#~ " % if object.user_id:\n" -#~ " % if object.user_id.email:\n" -#~ "   Your Contact: ${object.user_id.name}\n" -#~ " % else:\n" -#~ "   Your Contact: ${object.user_id.name}\n" -#~ " % endif\n" -#~ " % endif\n" -#~ "

\n" -#~ "\n" -#~ "
\n" -#~ "

If you have any questions, do not hesitate to contact us.

\n" -#~ "

Thank you for choosing ${object.company_id.name or 'us'}!

\n" -#~ "
\n" -#~ "
\n" -#~ "
\n" -#~ "

\n" -#~ " ${object." -#~ "company_id.name}

\n" -#~ "
\n" -#~ "
\n" -#~ " \n" -#~ " ${object.company_id.partner_id.sudo()." -#~ "with_context(show_address=True, html_format=True).name_get()[0][1] | " -#~ "safe}\n" -#~ " \n" -#~ " % if object.company_id.phone:\n" -#~ "
\n" -#~ " Phone: ${object.company_id.phone}\n" -#~ "
\n" -#~ " % endif\n" -#~ " % if object.company_id.website:\n" -#~ "
\n" -#~ " Web: ${object." -#~ "company_id.website}\n" -#~ "
\n" -#~ " %endif\n" -#~ "

\n" -#~ "
\n" -#~ "

\n" -#~ " View " -#~ "contract\n" -#~ "
\n" -#~ " " -#~ msgstr "" -#~ "\n" -#~ "
\n" -#~ "

Hola ${object.partner_id.name or ''},

\n" -#~ "

Se ha creado un nuevo contrato:

\n" -#~ "\n" -#~ "

\n" -#~ "   REFERENCIAS
\n" -#~ "   Contrato: ${object.name}
\n" -#~ " % if object.date_start:\n" -#~ "   Fecha inicio contrato: ${object.date_start or ''}
\n" -#~ " % endif\n" -#~ "\n" -#~ " % if object.user_id:\n" -#~ " % if object.user_id.email:\n" -#~ "   Su contacto: ${object.user_id.name}\n" -#~ " % else:\n" -#~ "   Su contacto: ${object.user_id.name}\n" -#~ " % endif\n" -#~ " % endif\n" -#~ "

\n" -#~ "\n" -#~ "
\n" -#~ "

Si tiene alguna pregunta, no dude en contactarnos.

\n" -#~ "

Gracias por elegir a ${object.company_id.name or 'nosotros'}!

\n" -#~ "
\n" -#~ "
\n" -#~ "
\n" -#~ "

\n" -#~ " ${object." -#~ "company_id.name}

\n" -#~ "
\n" -#~ "
\n" -#~ " \n" -#~ " ${object.company_id.partner_id.sudo()." -#~ "with_context(show_address=True, html_format=True).name_get()[0][1] | " -#~ "safe}\n" -#~ " \n" -#~ " % if object.company_id.phone:\n" -#~ "
\n" -#~ " Teléfono: ${object.company_id.phone}\n" -#~ "
\n" -#~ " % endif\n" -#~ " % if object.company_id.website:\n" -#~ "
\n" -#~ " Web: ${object." -#~ "company_id.website}\n" -#~ "
\n" -#~ " %endif\n" -#~ "

\n" -#~ "
\n" -#~ "

\n" -#~ " Ver " -#~ "contrato\n" -#~ "
\n" -#~ " " - -#~ msgid "${object.company_id.name} Contract (Ref ${object.name or 'n/a'})" -#~ msgstr "${object.company_id.name} Contrato (Ref ${object.name or 'n/a'})" - -#~ msgid "" -#~ "${object.company_id.name} Contract (Ref ${object.name or 'n/a'}) - " -#~ "Modifications" -#~ msgstr "" -#~ "${object.company_id.name} Contrato (Ref ${object.name or 'n/a'}) - " -#~ "Modificaciones" - -#~ msgid "Contract line Un-canceled: %s
- " -#~ msgstr "Línea de contrato no cancelada: %s
- " - -#~ msgid "Contract line canceled: %s
- " -#~ msgstr "Línea de contrato cancelada: %s
- " - -#~ msgid "" -#~ "Contract line for {product}\n" -#~ " stopped:
\n" -#~ " - End: {old_end} -- " -#~ "{new_end}\n" -#~ " " -#~ msgstr "" -#~ "Línea de contrato para {product}\n" -#~ " detenida:
\n" -#~ " - Fin: {old_end} -- " -#~ "{new_end}\n" -#~ " " - -#~ msgid "" -#~ "Contract line for {product}\n" -#~ " planned a successor:
\n" -#~ " - Start: {new_date_start}\n" -#~ "
\n" -#~ " - End: {new_date_end}\n" -#~ " " -#~ msgstr "" -#~ "Línea de contrato para {product}\n" -#~ " planeó un sucesor:
\n" -#~ " - Inicio: {new_date_start}\n" -#~ "
\n" -#~ " - Fin: {new_date_end}\n" -#~ " " - -#~ msgid "" -#~ "Contract line for {product}\n" -#~ " renewed:
\n" -#~ " - Start: {new_date_start}\n" -#~ "
\n" -#~ " - End: {new_date_end}\n" -#~ " " -#~ msgstr "" -#~ "Línea de contrato para {product}\n" -#~ " renovado:
\n" -#~ " - Inicio: {new_date_start}\n" -#~ "
\n" -#~ " - Fin: {new_date_end}\n" -#~ " " - -#~ msgid "" -#~ "Contract line for {product}\n" -#~ " suspended:
\n" -#~ " - Suspension Start: {new_date_start}\n" -#~ "
\n" -#~ " - Suspension End: {new_date_end}\n" -#~ " " -#~ msgstr "" -#~ "Línea de contrato para {product}\n" -#~ " suspendida:
\n" -#~ " - Inicio Suspensión: {new_date_start}\n" -#~ "
\n" -#~ " - Fin Suspensión: {new_date_end}\n" -#~ " " - -#~ msgid "" -#~ "Contract manually invoiced: Invoice" -#~ msgstr "" -#~ "Contratos facturados manualmente: Factura" - -#~ msgid "Followers (Channels)" -#~ msgstr "Seguimiento (Canales)" - -#~ msgid "Manual renew needed" -#~ msgstr "Renovación manual necesaria" - -#~ msgid "Please define a %s journal for the company '%s'." -#~ msgstr "Por favor defina un diario de %s para la compañía '%s'." - -#~ msgid "Termination notice date" -#~ msgstr "Fecha de aviso de terminación" - -#~ msgid "" -#~ "\n" -#~ " contract to invoice\n" -#~ " \n" -#~ " \n" -#~ " contracts to invoice\n" -#~ " " -#~ msgstr "" -#~ "\n" -#~ " contrato a facturar\n" -#~ " \n" -#~ " \n" -#~ " contracts to invoice\n" -#~ " " - -#~ msgid "Journal Entries" -#~ msgstr "Asientos contables" - -#~ msgid "Last date invoice" -#~ msgstr "Última fecha de factura" - -#~ msgid "Contract Order -" -#~ msgstr "Pedido de contrato -" diff --git a/contract/models/contract.py b/contract/models/contract.py index bf6bd890f8..7208e276b4 100644 --- a/contract/models/contract.py +++ b/contract/models/contract.py @@ -8,6 +8,8 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). import logging +from markupsafe import Markup + from odoo import Command, api, fields, models from odoo.exceptions import UserError, ValidationError from odoo.osv import expression @@ -587,20 +589,10 @@ def recurring_create_invoice(self): """ invoices = self._recurring_create_invoice() for invoice in invoices: - self.message_post( - body=_( - "Contract manually invoiced: " - "Invoice" - "" - ) - % { - "model_name": invoice._name, - "rec_id": invoice.id, - } - ) + body = Markup(_("Contract manually invoiced: %(invoice_link)s")) % { + "invoice_link": invoice._get_html_link(title=invoice.name) + } + self.message_post(body=body) return invoices @api.model @@ -621,20 +613,11 @@ def _invoice_followers(self, invoices): def _add_contract_origin(self, invoices): for item in self: for move in invoices & item._get_related_invoices(): - move.message_post( - body=( - _( - ( - "%(msg)s by contract %(contract)s." - ), - msg=move._creation_message(), - contract_id=item.id, - contract=item.display_name, - ) - ) - ) + body = Markup(_("%(msg)s by contract: %(contract_link)s")) % { + "msg": move._creation_message(), + "contract_link": move._get_html_link(title=item.display_name), + } + move.message_post(body=body) def _recurring_create_invoice(self, date_ref=False): invoices_values = self._prepare_recurring_invoices_values(date_ref)