From 4156bd7dfb0f85a5971c0e95aa023d8ec57752d8 Mon Sep 17 00:00:00 2001 From: Dennis Sluijk Date: Thu, 25 Apr 2019 18:14:42 +0200 Subject: [PATCH 01/21] [ADD] mail_template_attachment_i18n: Mail Template Language Dependent Attachments (#1367) --- mail_template_attachment_per_lang/README.rst | 99 +++++++++++++++++++ mail_template_attachment_per_lang/__init__.py | 1 + .../__manifest__.py | 18 ++++ .../models/__init__.py | 2 + .../models/ir_attachment_language.py | 28 ++++++ .../models/mail_template.py | 44 +++++++++ .../readme/CONFIGURE.rst | 6 ++ .../readme/CONTRIBUTORS.rst | 1 + .../readme/DESCRIPTION.rst | 3 + .../readme/USAGE.rst | 10 ++ .../security/ir.model.access.csv | 3 + .../views/mail_template_view.xml | 23 +++++ 12 files changed, 238 insertions(+) create mode 100644 mail_template_attachment_per_lang/README.rst create mode 100644 mail_template_attachment_per_lang/__init__.py create mode 100644 mail_template_attachment_per_lang/__manifest__.py create mode 100644 mail_template_attachment_per_lang/models/__init__.py create mode 100644 mail_template_attachment_per_lang/models/ir_attachment_language.py create mode 100644 mail_template_attachment_per_lang/models/mail_template.py create mode 100644 mail_template_attachment_per_lang/readme/CONFIGURE.rst create mode 100644 mail_template_attachment_per_lang/readme/CONTRIBUTORS.rst create mode 100644 mail_template_attachment_per_lang/readme/DESCRIPTION.rst create mode 100644 mail_template_attachment_per_lang/readme/USAGE.rst create mode 100644 mail_template_attachment_per_lang/security/ir.model.access.csv create mode 100644 mail_template_attachment_per_lang/views/mail_template_view.xml diff --git a/mail_template_attachment_per_lang/README.rst b/mail_template_attachment_per_lang/README.rst new file mode 100644 index 00000000000..e49229353a6 --- /dev/null +++ b/mail_template_attachment_per_lang/README.rst @@ -0,0 +1,99 @@ +=========================================== +Mail Template Language Specific Attachments +=========================================== + +.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fserver--tools-lightgray.png?logo=github + :target: https://github.com/OCA/server-tools/tree/11.0/mail_template_attachment_i18n + :alt: OCA/server-tools +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/server-tools-11-0/server-tools-11-0-mail_template_attachment_i18n + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png + :target: https://runbot.odoo-community.org/runbot/149/11.0 + :alt: Try me on Runbot + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module extends the functionality of mail templates. +It allows you to configure attachments based on the language of the partner. +For example you can use it to localize your company's terms of agreements. + +**Table of contents** + +.. contents:: + :local: + +Configuration +============= + +To configure a language dependent attachment: + +#. Activate the developer mode; +#. go to *Settings > Technical > Email > Templates*; +#. go to the form view of the template you want to change; +#. change the field *Language Dependent Attachments* to what you want. + +Usage +===== + +When a template is selected in the mail composer, the attachments will be automatically added based on the recipients language. +The language of the recipients can be configured on the Partner form view. +When partners with different languages are selected all attachments of the partners languages will be added. + +To use the functionality: + +#. Configure a template (e.g. the sale order mail template) +#. go to a sale order; +#. click *Send by Email*; +#. the attachments are added based on the customer's language. + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us smashing it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +~~~~~~~ + +* Onestein + +Contributors +~~~~~~~~~~~~ + +* Dennis Sluijk + +Maintainers +~~~~~~~~~~~ + +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +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. + +This module is part of the `OCA/server-tools `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/mail_template_attachment_per_lang/__init__.py b/mail_template_attachment_per_lang/__init__.py new file mode 100644 index 00000000000..0650744f6bc --- /dev/null +++ b/mail_template_attachment_per_lang/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/mail_template_attachment_per_lang/__manifest__.py b/mail_template_attachment_per_lang/__manifest__.py new file mode 100644 index 00000000000..95c8f7228cf --- /dev/null +++ b/mail_template_attachment_per_lang/__manifest__.py @@ -0,0 +1,18 @@ +{ + 'name': 'Mail Template Language Specific Attachments', + 'summary': 'Set language specific attachments on mail templates.', + 'author': 'Onestein,Odoo Community Association (OCA)', + 'website': 'https://github.com/oca/server-tools', + 'category': 'Localization', + 'version': '11.0.1.0.0', + 'license': 'AGPL-3', + 'depends': [ + 'mail' + ], + 'data': [ + 'views/mail_template_view.xml', + + 'security/ir.model.access.csv' + ], + 'installable': True, +} diff --git a/mail_template_attachment_per_lang/models/__init__.py b/mail_template_attachment_per_lang/models/__init__.py new file mode 100644 index 00000000000..3c0a006aade --- /dev/null +++ b/mail_template_attachment_per_lang/models/__init__.py @@ -0,0 +1,2 @@ +from . import ir_attachment_language +from . import mail_template diff --git a/mail_template_attachment_per_lang/models/ir_attachment_language.py b/mail_template_attachment_per_lang/models/ir_attachment_language.py new file mode 100644 index 00000000000..cd9575f7e16 --- /dev/null +++ b/mail_template_attachment_per_lang/models/ir_attachment_language.py @@ -0,0 +1,28 @@ +# Copyright 2018 Onestein +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import fields, models + + +class IrAttachmentLanguage(models.Model): + _name = 'ir.attachment.language' + + mail_template_id = fields.Many2one( + comodel_name='mail.template', + string='Template', + required=True, + ondelete='cascade', + ) + + lang = fields.Selection( + selection=lambda self: self.env['res.lang'].get_installed(), + string='Language', + required=True, + ) + + attachment_id = fields.Many2one( + comodel_name='ir.attachment', + string='Attachment', + required=True, + ondelete='cascade', + ) diff --git a/mail_template_attachment_per_lang/models/mail_template.py b/mail_template_attachment_per_lang/models/mail_template.py new file mode 100644 index 00000000000..4072704a4c6 --- /dev/null +++ b/mail_template_attachment_per_lang/models/mail_template.py @@ -0,0 +1,44 @@ +# Copyright 2018 Onestein +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import api, fields, models + + +class MailTemplate(models.Model): + _inherit = 'mail.template' + + ir_attachment_language_ids = fields.One2many( + string='Language Dependent Attachments', + comodel_name='ir.attachment.language', + inverse_name='mail_template_id', + ) + + @api.multi + def generate_email(self, res_ids, fields=None): + self.ensure_one() + multi = True + if isinstance(res_ids, int): + res_ids = [res_ids] + multi = False + res = super().generate_email( + res_ids, fields + ) + attached = [] + for res_id in res.keys(): + mail = res[res_id] + partner_ids = 'partner_ids' in mail and \ + mail['partner_ids'] or False + if not partner_ids: + continue + for partner in self.env['res.partner'].browse(partner_ids): + for lang_attach in self.ir_attachment_language_ids.filtered( + lambda a: a.lang == partner.lang): + if lang_attach.attachment_id.id in attached: + continue + if not res[res_id].get('attachments'): + res[res_id]['attachments'] = [] + res[res_id]['attachments'].append(( + lang_attach.attachment_id.name, + lang_attach.attachment_id.datas)) + attached.append(lang_attach.id) + return multi and res or res[res_ids[0]] diff --git a/mail_template_attachment_per_lang/readme/CONFIGURE.rst b/mail_template_attachment_per_lang/readme/CONFIGURE.rst new file mode 100644 index 00000000000..61d9eb9dc33 --- /dev/null +++ b/mail_template_attachment_per_lang/readme/CONFIGURE.rst @@ -0,0 +1,6 @@ +To configure a language dependent attachment: + +#. Activate the developer mode; +#. go to *Settings > Technical > Email > Templates*; +#. go to the form view of the template you want to change; +#. change the field *Language Dependent Attachments* to what you want. diff --git a/mail_template_attachment_per_lang/readme/CONTRIBUTORS.rst b/mail_template_attachment_per_lang/readme/CONTRIBUTORS.rst new file mode 100644 index 00000000000..47b6403d06d --- /dev/null +++ b/mail_template_attachment_per_lang/readme/CONTRIBUTORS.rst @@ -0,0 +1 @@ +* Dennis Sluijk diff --git a/mail_template_attachment_per_lang/readme/DESCRIPTION.rst b/mail_template_attachment_per_lang/readme/DESCRIPTION.rst new file mode 100644 index 00000000000..93cc3f8c025 --- /dev/null +++ b/mail_template_attachment_per_lang/readme/DESCRIPTION.rst @@ -0,0 +1,3 @@ +This module extends the functionality of mail templates. +It allows you to configure attachments based on the language of the partner. +For example you can use it to localize your company's terms of agreements. diff --git a/mail_template_attachment_per_lang/readme/USAGE.rst b/mail_template_attachment_per_lang/readme/USAGE.rst new file mode 100644 index 00000000000..79c37e656e6 --- /dev/null +++ b/mail_template_attachment_per_lang/readme/USAGE.rst @@ -0,0 +1,10 @@ +When a template is selected in the mail composer, the attachments will be automatically added based on the recipients language. +The language of the recipients can be configured on the Partner form view. +When partners with different languages are selected all attachments of the partners languages will be added. + +To use the functionality: + +#. Configure a template (e.g. the sale order mail template) +#. go to a sale order; +#. click *Send by Email*; +#. the attachments are added based on the customer's language. diff --git a/mail_template_attachment_per_lang/security/ir.model.access.csv b/mail_template_attachment_per_lang/security/ir.model.access.csv new file mode 100644 index 00000000000..04a776e37d9 --- /dev/null +++ b/mail_template_attachment_per_lang/security/ir.model.access.csv @@ -0,0 +1,3 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_attachment_language_admin,ir.attachment.language admin,model_ir_attachment_language,base.group_no_one,1,1,1,1 +access_attachment_language_everyone,ir.attachment.language everyone,model_ir_attachment_language,,1,0,0,0 diff --git a/mail_template_attachment_per_lang/views/mail_template_view.xml b/mail_template_attachment_per_lang/views/mail_template_view.xml new file mode 100644 index 00000000000..e9e301dc6b5 --- /dev/null +++ b/mail_template_attachment_per_lang/views/mail_template_view.xml @@ -0,0 +1,23 @@ + + + + + + mail.template.form + mail.template + + + + + + + + + + + + + + + From 08ce8a04166538e36f0a7c7ed3d07e663d28407e Mon Sep 17 00:00:00 2001 From: oca-travis Date: Thu, 25 Apr 2019 16:20:17 +0000 Subject: [PATCH 02/21] [UPD] Update mail_template_attachment_i18n.pot --- .../i18n/mail_template_attachment_i18n.pot | 81 +++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 mail_template_attachment_per_lang/i18n/mail_template_attachment_i18n.pot diff --git a/mail_template_attachment_per_lang/i18n/mail_template_attachment_i18n.pot b/mail_template_attachment_per_lang/i18n/mail_template_attachment_i18n.pot new file mode 100644 index 00000000000..990b681aea9 --- /dev/null +++ b/mail_template_attachment_per_lang/i18n/mail_template_attachment_i18n.pot @@ -0,0 +1,81 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mail_template_attachment_i18n +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 11.0\n" +"Report-Msgid-Bugs-To: \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: mail_template_attachment_i18n +#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language_attachment_id +msgid "Attachment" +msgstr "" + +#. module: mail_template_attachment_i18n +#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language_create_uid +msgid "Created by" +msgstr "" + +#. module: mail_template_attachment_i18n +#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language_create_date +msgid "Created on" +msgstr "" + +#. module: mail_template_attachment_i18n +#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language_display_name +msgid "Display Name" +msgstr "" + +#. module: mail_template_attachment_i18n +#: model:ir.model,name:mail_template_attachment_i18n.model_mail_template +msgid "Email Templates" +msgstr "" + +#. module: mail_template_attachment_i18n +#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language_id +msgid "ID" +msgstr "" + +#. module: mail_template_attachment_i18n +#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language_lang +msgid "Language" +msgstr "" + +#. module: mail_template_attachment_i18n +#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_email_template_preview_ir_attachment_language_ids +#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_mail_template_ir_attachment_language_ids +msgid "Language Dependent Attachments" +msgstr "" + +#. module: mail_template_attachment_i18n +#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language___last_update +msgid "Last Modified on" +msgstr "" + +#. module: mail_template_attachment_i18n +#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language_write_uid +msgid "Last Updated by" +msgstr "" + +#. module: mail_template_attachment_i18n +#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language_write_date +msgid "Last Updated on" +msgstr "" + +#. module: mail_template_attachment_i18n +#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language_mail_template_id +msgid "Template" +msgstr "" + +#. module: mail_template_attachment_i18n +#: model:ir.model,name:mail_template_attachment_i18n.model_ir_attachment_language +msgid "ir.attachment.language" +msgstr "" + From ebb279c48dec5a2313f3ac3ccd78bd030b3bba13 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Sat, 11 May 2019 10:52:49 +0000 Subject: [PATCH 03/21] [UPD] README.rst --- .../static/description/index.html | 446 ++++++++++++++++++ 1 file changed, 446 insertions(+) create mode 100644 mail_template_attachment_per_lang/static/description/index.html diff --git a/mail_template_attachment_per_lang/static/description/index.html b/mail_template_attachment_per_lang/static/description/index.html new file mode 100644 index 00000000000..d11ff506669 --- /dev/null +++ b/mail_template_attachment_per_lang/static/description/index.html @@ -0,0 +1,446 @@ + + + + + + +Mail Template Language Specific Attachments + + + +
+

Mail Template Language Specific Attachments

+ + +

Beta License: AGPL-3 OCA/server-tools Translate me on Weblate Try me on Runbot

+

This module extends the functionality of mail templates. +It allows you to configure attachments based on the language of the partner. +For example you can use it to localize your company’s terms of agreements.

+

Table of contents

+ +
+

Configuration

+

To configure a language dependent attachment:

+
    +
  1. Activate the developer mode;
  2. +
  3. go to Settings > Technical > Email > Templates;
  4. +
  5. go to the form view of the template you want to change;
  6. +
  7. change the field Language Dependent Attachments to what you want.
  8. +
+
+
+

Usage

+

When a template is selected in the mail composer, the attachments will be automatically added based on the recipients language. +The language of the recipients can be configured on the Partner form view. +When partners with different languages are selected all attachments of the partners languages will be added.

+

To use the functionality:

+
    +
  1. Configure a template (e.g. the sale order mail template)
  2. +
  3. go to a sale order;
  4. +
  5. click Send by Email;
  6. +
  7. the attachments are added based on the customer’s language.
  8. +
+
+
+

Bug Tracker

+

Bugs are tracked on GitHub Issues. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us smashing it by providing a detailed and welcomed +feedback.

+

Do not contact contributors directly about support or help with technical issues.

+
+
+

Credits

+
+

Authors

+
    +
  • Onestein
  • +
+
+
+

Contributors

+ +
+
+

Maintainers

+

This module is maintained by the OCA.

+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.

+

This module is part of the OCA/server-tools project on GitHub.

+

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

+
+
+
+ + From 114c395e8d42a2346c97b7abd7cf75f4c2d4e97b Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Sat, 11 May 2019 10:52:49 +0000 Subject: [PATCH 04/21] [ADD] icon.png --- .../static/description/icon.png | Bin 0 -> 9455 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 mail_template_attachment_per_lang/static/description/icon.png diff --git a/mail_template_attachment_per_lang/static/description/icon.png b/mail_template_attachment_per_lang/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d GIT binary patch literal 9455 zcmW++2RxMjAAjx~&dlBk9S+%}OXg)AGE&Cb*&}d0jUxM@u(PQx^-s)697TX`ehR4?GS^qbkof1cslKgkU)h65qZ9Oc=ml_0temigYLJfnz{IDzUf>bGs4N!v3=Z3jMq&A#7%rM5eQ#dc?k~! zVpnB`o+K7|Al`Q_U;eD$B zfJtP*jH`siUq~{KE)`jP2|#TUEFGRryE2`i0**z#*^6~AI|YzIWy$Cu#CSLW3q=GA z6`?GZymC;dCPk~rBS%eCb`5OLr;RUZ;D`}um=H)BfVIq%7VhiMr)_#G0N#zrNH|__ zc+blN2UAB0=617@>_u;MPHN;P;N#YoE=)R#i$k_`UAA>WWCcEVMh~L_ zj--gtp&|K1#58Yz*AHCTMziU1Jzt_jG0I@qAOHsk$2}yTmVkBp_eHuY$A9)>P6o~I z%aQ?!(GqeQ-Y+b0I(m9pwgi(IIZZzsbMv+9w{PFtd_<_(LA~0H(xz{=FhLB@(1&qHA5EJw1>>=%q2f&^X>IQ{!GJ4e9U z&KlB)z(84HmNgm2hg2C0>WM{E(DdPr+EeU_N@57;PC2&DmGFW_9kP&%?X4}+xWi)( z;)z%wI5>D4a*5XwD)P--sPkoY(a~WBw;E~AW`Yue4kFa^LM3X`8x|}ZUeMnqr}>kH zG%WWW>3ml$Yez?i%)2pbKPI7?5o?hydokgQyZsNEr{a|mLdt;X2TX(#B1j35xPnPW z*bMSSOauW>o;*=kO8ojw91VX!qoOQb)zHJ!odWB}d+*K?#sY_jqPdg{Sm2HdYzdEx zOGVPhVRTGPtv0o}RfVP;Nd(|CB)I;*t&QO8h zFfekr30S!-LHmV_Su-W+rEwYXJ^;6&3|L$mMC8*bQptyOo9;>Qb9Q9`ySe3%V$A*9 zeKEe+b0{#KWGp$F+tga)0RtI)nhMa-K@JS}2krK~n8vJ=Ngm?R!9G<~RyuU0d?nz# z-5EK$o(!F?hmX*2Yt6+coY`6jGbb7tF#6nHA zuKk=GGJ;ZwON1iAfG$E#Y7MnZVmrY|j0eVI(DN_MNFJmyZ|;w4tf@=CCDZ#5N_0K= z$;R~bbk?}TpfDjfB&aiQ$VA}s?P}xPERJG{kxk5~R`iRS(SK5d+Xs9swCozZISbnS zk!)I0>t=A<-^z(cmSFz3=jZ23u13X><0b)P)^1T_))Kr`e!-pb#q&J*Q`p+B6la%C zuVl&0duN<;uOsB3%T9Fp8t{ED108<+W(nOZd?gDnfNBC3>M8WE61$So|P zVvqH0SNtDTcsUdzaMDpT=Ty0pDHHNL@Z0w$Y`XO z2M-_r1S+GaH%pz#Uy0*w$Vdl=X=rQXEzO}d6J^R6zjM1u&c9vYLvLp?W7w(?np9x1 zE_0JSAJCPB%i7p*Wvg)pn5T`8k3-uR?*NT|J`eS#_#54p>!p(mLDvmc-3o0mX*mp_ zN*AeS<>#^-{S%W<*mz^!X$w_2dHWpcJ6^j64qFBft-o}o_Vx80o0>}Du;>kLts;$8 zC`7q$QI(dKYG`Wa8#wl@V4jVWBRGQ@1dr-hstpQL)Tl+aqVpGpbSfN>5i&QMXfiZ> zaA?T1VGe?rpQ@;+pkrVdd{klI&jVS@I5_iz!=UMpTsa~mBga?1r}aRBm1WS;TT*s0f0lY=JBl66Upy)-k4J}lh=P^8(SXk~0xW=T9v*B|gzIhN z>qsO7dFd~mgxAy4V?&)=5ieYq?zi?ZEoj)&2o)RLy=@hbCRcfT5jigwtQGE{L*8<@Yd{zg;CsL5mvzfDY}P-wos_6PfprFVaeqNE%h zKZhLtcQld;ZD+>=nqN~>GvROfueSzJD&BE*}XfU|H&(FssBqY=hPCt`d zH?@s2>I(|;fcW&YM6#V#!kUIP8$Nkdh0A(bEVj``-AAyYgwY~jB zT|I7Bf@%;7aL7Wf4dZ%VqF$eiaC38OV6oy3Z#TER2G+fOCd9Iaoy6aLYbPTN{XRPz z;U!V|vBf%H!}52L2gH_+j;`bTcQRXB+y9onc^wLm5wi3-Be}U>k_u>2Eg$=k!(l@I zcCg+flakT2Nej3i0yn+g+}%NYb?ta;R?(g5SnwsQ49U8Wng8d|{B+lyRcEDvR3+`O{zfmrmvFrL6acVP%yG98X zo&+VBg@px@i)%o?dG(`T;n*$S5*rnyiR#=wW}}GsAcfyQpE|>a{=$Hjg=-*_K;UtD z#z-)AXwSRY?OPefw^iI+ z)AXz#PfEjlwTes|_{sB?4(O@fg0AJ^g8gP}ex9Ucf*@_^J(s_5jJV}c)s$`Myn|Kd z$6>}#q^n{4vN@+Os$m7KV+`}c%4)4pv@06af4-x5#wj!KKb%caK{A&Y#Rfs z-po?Dcb1({W=6FKIUirH&(yg=*6aLCekcKwyfK^JN5{wcA3nhO(o}SK#!CINhI`-I z1)6&n7O&ZmyFMuNwvEic#IiOAwNkR=u5it{B9n2sAJV5pNhar=j5`*N!Na;c7g!l$ z3aYBqUkqqTJ=Re-;)s!EOeij=7SQZ3Hq}ZRds%IM*PtM$wV z@;rlc*NRK7i3y5BETSKuumEN`Xu_8GP1Ri=OKQ$@I^ko8>H6)4rjiG5{VBM>B|%`&&s^)jS|-_95&yc=GqjNo{zFkw%%HHhS~e=s zD#sfS+-?*t|J!+ozP6KvtOl!R)@@-z24}`9{QaVLD^9VCSR2b`b!KC#o;Ki<+wXB6 zx3&O0LOWcg4&rv4QG0)4yb}7BFSEg~=IR5#ZRj8kg}dS7_V&^%#Do==#`u zpy6{ox?jWuR(;pg+f@mT>#HGWHAJRRDDDv~@(IDw&R>9643kK#HN`!1vBJHnC+RM&yIh8{gG2q zA%e*U3|N0XSRa~oX-3EAneep)@{h2vvd3Xvy$7og(sayr@95+e6~Xvi1tUqnIxoIH zVWo*OwYElb#uyW{Imam6f2rGbjR!Y3`#gPqkv57dB6K^wRGxc9B(t|aYDGS=m$&S!NmCtrMMaUg(c zc2qC=2Z`EEFMW-me5B)24AqF*bV5Dr-M5ig(l-WPS%CgaPzs6p_gnCIvTJ=Y<6!gT zVt@AfYCzjjsMEGi=rDQHo0yc;HqoRNnNFeWZgcm?f;cp(6CNylj36DoL(?TS7eU#+ z7&mfr#y))+CJOXQKUMZ7QIdS9@#-}7y2K1{8)cCt0~-X0O!O?Qx#E4Og+;A2SjalQ zs7r?qn0H044=sDN$SRG$arw~n=+T_DNdSrarmu)V6@|?1-ZB#hRn`uilTGPJ@fqEy zGt(f0B+^JDP&f=r{#Y_wi#AVDf-y!RIXU^0jXsFpf>=Ji*TeqSY!H~AMbJdCGLhC) zn7Rx+sXw6uYj;WRYrLd^5IZq@6JI1C^YkgnedZEYy<&4(z%Q$5yv#Boo{AH8n$a zhb4Y3PWdr269&?V%uI$xMcUrMzl=;w<_nm*qr=c3Rl@i5wWB;e-`t7D&c-mcQl7x! zZWB`UGcw=Y2=}~wzrfLx=uet<;m3~=8I~ZRuzvMQUQdr+yTV|ATf1Uuomr__nDf=X zZ3WYJtHp_ri(}SQAPjv+Y+0=fH4krOP@S&=zZ-t1jW1o@}z;xk8 z(Nz1co&El^HK^NrhVHa-_;&88vTU>_J33=%{if;BEY*J#1n59=07jrGQ#IP>@u#3A z;!q+E1Rj3ZJ+!4bq9F8PXJ@yMgZL;>&gYA0%_Kbi8?S=XGM~dnQZQ!yBSgcZhY96H zrWnU;k)qy`rX&&xlDyA%(a1Hhi5CWkmg(`Gb%m(HKi-7Z!LKGRP_B8@`7&hdDy5n= z`OIxqxiVfX@OX1p(mQu>0Ai*v_cTMiw4qRt3~NBvr9oBy0)r>w3p~V0SCm=An6@3n)>@z!|o-$HvDK z|3D2ZMJkLE5loMKl6R^ez@Zz%S$&mbeoqH5`Bb){Ei21q&VP)hWS2tjShfFtGE+$z zzCR$P#uktu+#!w)cX!lWN1XU%K-r=s{|j?)Akf@q#3b#{6cZCuJ~gCxuMXRmI$nGtnH+-h z+GEi!*X=AP<|fG`1>MBdTb?28JYc=fGvAi2I<$B(rs$;eoJCyR6_bc~p!XR@O-+sD z=eH`-ye})I5ic1eL~TDmtfJ|8`0VJ*Yr=hNCd)G1p2MMz4C3^Mj?7;!w|Ly%JqmuW zlIEW^Ft%z?*|fpXda>Jr^1noFZEwFgVV%|*XhH@acv8rdGxeEX{M$(vG{Zw+x(ei@ zmfXb22}8-?Fi`vo-YVrTH*C?a8%M=Hv9MqVH7H^J$KsD?>!SFZ;ZsvnHr_gn=7acz z#W?0eCdVhVMWN12VV^$>WlQ?f;P^{(&pYTops|btm6aj>_Uz+hqpGwB)vWp0Cf5y< zft8-je~nn?W11plq}N)4A{l8I7$!ks_x$PXW-2XaRFswX_BnF{R#6YIwMhAgd5F9X zGmwdadS6(a^fjHtXg8=l?Rc0Sm%hk6E9!5cLVloEy4eh(=FwgP`)~I^5~pBEWo+F6 zSf2ncyMurJN91#cJTy_u8Y}@%!bq1RkGC~-bV@SXRd4F{R-*V`bS+6;W5vZ(&+I<9$;-V|eNfLa5n-6% z2(}&uGRF;p92eS*sE*oR$@pexaqr*meB)VhmIg@h{uzkk$9~qh#cHhw#>O%)b@+(| z^IQgqzuj~Sk(J;swEM-3TrJAPCq9k^^^`q{IItKBRXYe}e0Tdr=Huf7da3$l4PdpwWDop%^}n;dD#K4s#DYA8SHZ z&1!riV4W4R7R#C))JH1~axJ)RYnM$$lIR%6fIVA@zV{XVyx}C+a-Dt8Y9M)^KU0+H zR4IUb2CJ{Hg>CuaXtD50jB(_Tcx=Z$^WYu2u5kubqmwp%drJ6 z?Fo40g!Qd<-l=TQxqHEOuPX0;^z7iX?Ke^a%XT<13TA^5`4Xcw6D@Ur&VT&CUe0d} z1GjOVF1^L@>O)l@?bD~$wzgf(nxX1OGD8fEV?TdJcZc2KoUe|oP1#=$$7ee|xbY)A zDZq+cuTpc(fFdj^=!;{k03C69lMQ(|>uhRfRu%+!k&YOi-3|1QKB z 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 Xviia!U7SGha1wx#SCgwmn*{w2TRX*I literal 0 HcmV?d00001 From fb175aea14e4412e9d1797ca6741afe52b22af6f Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Mon, 29 Jul 2019 03:39:00 +0000 Subject: [PATCH 05/21] [UPD] README.rst --- mail_template_attachment_per_lang/static/description/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mail_template_attachment_per_lang/static/description/index.html b/mail_template_attachment_per_lang/static/description/index.html index d11ff506669..f3b3621c7d4 100644 --- a/mail_template_attachment_per_lang/static/description/index.html +++ b/mail_template_attachment_per_lang/static/description/index.html @@ -3,7 +3,7 @@ - + Mail Template Language Specific Attachments -
-

Mail Template Language Specific Attachments

+
+ + +Odoo Community Association + +
+

Mail Template Language Specific Attachments

-

Beta License: AGPL-3 OCA/server-tools Translate me on Weblate Try me on Runbot

-

This module extends the functionality of mail templates. -It allows you to configure attachments based on the language of the partner. -For example you can use it to localize your company’s terms of agreements.

+

Beta License: AGPL-3 OCA/server-tools Translate me on Weblate Try me on Runboat

+

This module extends the functionality of mail templates.

+

It allows you to configure attachments based on the language of the partner +or the language configured in the mail template (which is some times different +from the partner’s language).

+
    +
  • The email template’s language could be {{ object.partner_id.lang }} or +{{ object.user_id.lang }}, where in the first case we want to send the +email in the partner’s language and in the second case we want to send the +email in the user’s language.
  • +
+

For example you can use it to localize your company’s terms of agreements.

Table of contents

-

Configuration

+

Configuration

To configure a language dependent attachment:

  1. Activate the developer mode;
  2. go to Settings > Technical > Email > Templates;
  3. go to the form view of the template you want to change;
  4. +
  5. choose the Language Attachment Method you want to use;
  6. change the field Language Dependent Attachments to what you want.
-

Usage

+

Usage

When a template is selected in the mail composer, the attachments will be automatically added based on the recipients language. The language of the recipients can be configured on the Partner form view. When partners with different languages are selected all attachments of the partners languages will be added.

@@ -405,42 +421,47 @@

Usage

  • Configure a template (e.g. the sale order mail template)
  • go to a sale order;
  • click Send by Email;
  • -
  • the attachments are added based on the customer’s language.
  • +
  • the attachments are added based on the email’s language or the customer’s +language (which might not be the same), depending on the configuration of +the template.
  • -

    Bug Tracker

    +

    Bug Tracker

    Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. -If you spotted it first, help us smashing it by providing a detailed and welcomed -feedback.

    +If you spotted it first, help us to smash it by providing a detailed and welcomed +feedback.

    Do not contact contributors directly about support or help with technical issues.

    -

    Credits

    +

    Credits

    -

    Authors

    +

    Authors

    • Onestein
    -

    Maintainers

    +

    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.

    -

    This module is part of the OCA/server-tools project on GitHub.

    +

    This module is part of the OCA/server-tools project on GitHub.

    You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

    +
    From 6c4f3bcb5559e1f5aaae63acd2b735d1deb5bae9 Mon Sep 17 00:00:00 2001 From: mymage Date: Mon, 26 Jan 2026 07:08:10 +0000 Subject: [PATCH 11/21] Added translation using Weblate (Italian) --- mail_template_attachment_per_lang/i18n/it.po | 171 +++++++++++++++++++ 1 file changed, 171 insertions(+) create mode 100644 mail_template_attachment_per_lang/i18n/it.po diff --git a/mail_template_attachment_per_lang/i18n/it.po b/mail_template_attachment_per_lang/i18n/it.po new file mode 100644 index 00000000000..a770ff9f692 --- /dev/null +++ b/mail_template_attachment_per_lang/i18n/it.po @@ -0,0 +1,171 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mail_template_attachment_i18n +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#. module: mail_template_attachment_i18n +#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language__assigned_attachment_ids +#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_mail_template__assigned_attachment_ids +msgid "Assigned Attachments" +msgstr "" + +#. module: mail_template_attachment_i18n +#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language__attachment_id +msgid "Attachment" +msgstr "" + +#. module: mail_template_attachment_i18n +#: model:ir.model,name:mail_template_attachment_i18n.model_ir_attachment_language +msgid "Attachment Language" +msgstr "" + +#. module: mail_template_attachment_i18n +#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language__changeset_change_ids +#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_mail_template__changeset_change_ids +msgid "Changeset Changes" +msgstr "" + +#. module: mail_template_attachment_i18n +#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language__changeset_ids +#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_mail_template__changeset_ids +msgid "Changesets" +msgstr "" + +#. module: mail_template_attachment_i18n +#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language__count_changesets +#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_mail_template__count_changesets +msgid "Count Changesets" +msgstr "" + +#. module: mail_template_attachment_i18n +#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language__count_pending_changeset_changes +#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_mail_template__count_pending_changeset_changes +msgid "Count Pending Changeset Changes" +msgstr "" + +#. module: mail_template_attachment_i18n +#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language__count_pending_changesets +#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_mail_template__count_pending_changesets +msgid "Count Pending Changesets" +msgstr "" + +#. module: mail_template_attachment_i18n +#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language__create_uid +msgid "Created by" +msgstr "" + +#. module: mail_template_attachment_i18n +#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language__create_date +msgid "Created on" +msgstr "" + +#. module: mail_template_attachment_i18n +#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language__display_name +msgid "Display Name" +msgstr "" + +#. module: mail_template_attachment_i18n +#: model:ir.model,name:mail_template_attachment_i18n.model_mail_template +msgid "Email Templates" +msgstr "" + +#. module: mail_template_attachment_i18n +#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language__id +msgid "ID" +msgstr "" + +#. module: mail_template_attachment_i18n +#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language__lang +msgid "Language" +msgstr "" + +#. module: mail_template_attachment_i18n +#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_mail_template__ir_attachment_language_method +msgid "Language Attachment Method" +msgstr "" + +#. module: mail_template_attachment_i18n +#: model_terms:ir.ui.view,arch_db:mail_template_attachment_i18n.mail_template_form +msgid "Language Attachments" +msgstr "" + +#. module: mail_template_attachment_i18n +#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_mail_template__ir_attachment_language_ids +msgid "Language Dependent Attachments" +msgstr "" + +#. module: mail_template_attachment_i18n +#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language____last_update +msgid "Last Modified on" +msgstr "" + +#. module: mail_template_attachment_i18n +#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: mail_template_attachment_i18n +#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language__write_date +msgid "Last Updated on" +msgstr "" + +#. module: mail_template_attachment_i18n +#: model_terms:ir.ui.view,arch_db:mail_template_attachment_i18n.mail_template_form +msgid "Method" +msgstr "" + +#. module: mail_template_attachment_i18n +#: model:ir.model.fields.selection,name:mail_template_attachment_i18n.selection__mail_template__ir_attachment_language_method__partner_lang +msgid "Partner Language" +msgstr "" + +#. module: mail_template_attachment_i18n +#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language__smart_search +#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_mail_template__smart_search +msgid "Smart Search" +msgstr "" + +#. module: mail_template_attachment_i18n +#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language__mail_template_id +msgid "Template" +msgstr "" + +#. module: mail_template_attachment_i18n +#: model:ir.model.fields.selection,name:mail_template_attachment_i18n.selection__mail_template__ir_attachment_language_method__template_lang +msgid "Template Language" +msgstr "" + +#. module: mail_template_attachment_i18n +#: model:ir.model.fields,help:mail_template_attachment_i18n.field_ir_attachment_language__count_pending_changeset_changes +#: model:ir.model.fields,help:mail_template_attachment_i18n.field_mail_template__count_pending_changeset_changes +msgid "The number of pending changes of this record" +msgstr "" + +#. module: mail_template_attachment_i18n +#: model:ir.model.fields,help:mail_template_attachment_i18n.field_ir_attachment_language__count_pending_changesets +#: model:ir.model.fields,help:mail_template_attachment_i18n.field_mail_template__count_pending_changesets +msgid "The number of pending changesets of this record" +msgstr "" + +#. module: mail_template_attachment_i18n +#: model:ir.model.fields,help:mail_template_attachment_i18n.field_ir_attachment_language__count_changesets +#: model:ir.model.fields,help:mail_template_attachment_i18n.field_mail_template__count_changesets +msgid "The overall number of changesets of this record" +msgstr "" + +#. module: mail_template_attachment_i18n +#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language__user_can_see_changeset +#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_mail_template__user_can_see_changeset +msgid "User Can See Changeset" +msgstr "" From ac6f3b0f19ef5159b70e2232977f535e6d90f3e1 Mon Sep 17 00:00:00 2001 From: mymage Date: Wed, 4 Feb 2026 15:48:53 +0000 Subject: [PATCH 12/21] Translated using Weblate (Italian) Currently translated at 100.0% (29 of 29 strings) Translation: server-tools-16.0/server-tools-16.0-mail_template_attachment_i18n Translate-URL: https://translation.odoo-community.org/projects/server-tools-16-0/server-tools-16-0-mail_template_attachment_i18n/it/ --- mail_template_attachment_per_lang/i18n/it.po | 62 ++++++++++---------- 1 file changed, 32 insertions(+), 30 deletions(-) diff --git a/mail_template_attachment_per_lang/i18n/it.po b/mail_template_attachment_per_lang/i18n/it.po index a770ff9f692..775341ca9a6 100644 --- a/mail_template_attachment_per_lang/i18n/it.po +++ b/mail_template_attachment_per_lang/i18n/it.po @@ -6,166 +6,168 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 16.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: Automatically generated\n" +"PO-Revision-Date: 2026-02-04 18:09+0000\n" +"Last-Translator: mymage \n" "Language-Team: none\n" "Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" "Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.15.2\n" #. module: mail_template_attachment_i18n #: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language__assigned_attachment_ids #: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_mail_template__assigned_attachment_ids msgid "Assigned Attachments" -msgstr "" +msgstr "Allegati assegnati" #. module: mail_template_attachment_i18n #: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language__attachment_id msgid "Attachment" -msgstr "" +msgstr "Allegato" #. module: mail_template_attachment_i18n #: model:ir.model,name:mail_template_attachment_i18n.model_ir_attachment_language msgid "Attachment Language" -msgstr "" +msgstr "Lingua allegato" #. module: mail_template_attachment_i18n #: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language__changeset_change_ids #: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_mail_template__changeset_change_ids msgid "Changeset Changes" -msgstr "" +msgstr "Modifiche dell'insieme di modifiche" #. module: mail_template_attachment_i18n #: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language__changeset_ids #: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_mail_template__changeset_ids msgid "Changesets" -msgstr "" +msgstr "Insieme di modifiche" #. module: mail_template_attachment_i18n #: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language__count_changesets #: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_mail_template__count_changesets msgid "Count Changesets" -msgstr "" +msgstr "Conteggio insieme di modifiche" #. module: mail_template_attachment_i18n #: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language__count_pending_changeset_changes #: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_mail_template__count_pending_changeset_changes msgid "Count Pending Changeset Changes" -msgstr "" +msgstr "Conteggio modifiche dell'insieme di modifiche in attesa" #. module: mail_template_attachment_i18n #: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language__count_pending_changesets #: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_mail_template__count_pending_changesets msgid "Count Pending Changesets" -msgstr "" +msgstr "Conteggio insieme di modifiche in attesa" #. module: mail_template_attachment_i18n #: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language__create_uid msgid "Created by" -msgstr "" +msgstr "Creata da" #. module: mail_template_attachment_i18n #: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language__create_date msgid "Created on" -msgstr "" +msgstr "Creato il" #. module: mail_template_attachment_i18n #: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language__display_name msgid "Display Name" -msgstr "" +msgstr "Nome visualizzato" #. module: mail_template_attachment_i18n #: model:ir.model,name:mail_template_attachment_i18n.model_mail_template msgid "Email Templates" -msgstr "" +msgstr "Modelli e-mail" #. module: mail_template_attachment_i18n #: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language__id msgid "ID" -msgstr "" +msgstr "ID" #. module: mail_template_attachment_i18n #: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language__lang msgid "Language" -msgstr "" +msgstr "Lingua" #. module: mail_template_attachment_i18n #: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_mail_template__ir_attachment_language_method msgid "Language Attachment Method" -msgstr "" +msgstr "Metodo allegato lingua" #. module: mail_template_attachment_i18n #: model_terms:ir.ui.view,arch_db:mail_template_attachment_i18n.mail_template_form msgid "Language Attachments" -msgstr "" +msgstr "Allegati lingua" #. module: mail_template_attachment_i18n #: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_mail_template__ir_attachment_language_ids msgid "Language Dependent Attachments" -msgstr "" +msgstr "Allegati dipendenti dalla lingua" #. module: mail_template_attachment_i18n #: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language____last_update msgid "Last Modified on" -msgstr "" +msgstr "Ultima modifica il" #. module: mail_template_attachment_i18n #: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language__write_uid msgid "Last Updated by" -msgstr "" +msgstr "Ultimo aggiornamento di" #. module: mail_template_attachment_i18n #: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language__write_date msgid "Last Updated on" -msgstr "" +msgstr "Ultimo aggiornamento il" #. module: mail_template_attachment_i18n #: model_terms:ir.ui.view,arch_db:mail_template_attachment_i18n.mail_template_form msgid "Method" -msgstr "" +msgstr "Metodo" #. module: mail_template_attachment_i18n #: model:ir.model.fields.selection,name:mail_template_attachment_i18n.selection__mail_template__ir_attachment_language_method__partner_lang msgid "Partner Language" -msgstr "" +msgstr "Lingua del partner" #. module: mail_template_attachment_i18n #: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language__smart_search #: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_mail_template__smart_search msgid "Smart Search" -msgstr "" +msgstr "Ricerca intelligente" #. module: mail_template_attachment_i18n #: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language__mail_template_id msgid "Template" -msgstr "" +msgstr "Modello" #. module: mail_template_attachment_i18n #: model:ir.model.fields.selection,name:mail_template_attachment_i18n.selection__mail_template__ir_attachment_language_method__template_lang msgid "Template Language" -msgstr "" +msgstr "Lingua del modello" #. module: mail_template_attachment_i18n #: model:ir.model.fields,help:mail_template_attachment_i18n.field_ir_attachment_language__count_pending_changeset_changes #: model:ir.model.fields,help:mail_template_attachment_i18n.field_mail_template__count_pending_changeset_changes msgid "The number of pending changes of this record" -msgstr "" +msgstr "Numero di modifiche di questo record in attesa" #. module: mail_template_attachment_i18n #: model:ir.model.fields,help:mail_template_attachment_i18n.field_ir_attachment_language__count_pending_changesets #: model:ir.model.fields,help:mail_template_attachment_i18n.field_mail_template__count_pending_changesets msgid "The number of pending changesets of this record" -msgstr "" +msgstr "Numero di insiemi di modifiche in attesa di questo record" #. module: mail_template_attachment_i18n #: model:ir.model.fields,help:mail_template_attachment_i18n.field_ir_attachment_language__count_changesets #: model:ir.model.fields,help:mail_template_attachment_i18n.field_mail_template__count_changesets msgid "The overall number of changesets of this record" -msgstr "" +msgstr "Numero totale di insiemi di modifiche di questo record" #. module: mail_template_attachment_i18n #: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language__user_can_see_changeset #: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_mail_template__user_can_see_changeset msgid "User Can See Changeset" -msgstr "" +msgstr "L'utente può vedere l'insieme delle modifiche" From 3e089f79d978895cf627d3fb924253892b7f1fcd Mon Sep 17 00:00:00 2001 From: mymage Date: Tue, 17 Feb 2026 07:28:53 +0000 Subject: [PATCH 13/21] Translated using Weblate (Italian) Currently translated at 100.0% (29 of 29 strings) Translation: server-tools-16.0/server-tools-16.0-mail_template_attachment_i18n Translate-URL: https://translation.odoo-community.org/projects/server-tools-16-0/server-tools-16-0-mail_template_attachment_i18n/it/ --- mail_template_attachment_per_lang/i18n/it.po | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mail_template_attachment_per_lang/i18n/it.po b/mail_template_attachment_per_lang/i18n/it.po index 775341ca9a6..ab6678f7d30 100644 --- a/mail_template_attachment_per_lang/i18n/it.po +++ b/mail_template_attachment_per_lang/i18n/it.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 16.0\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-02-04 18:09+0000\n" +"PO-Revision-Date: 2026-02-17 10:09+0000\n" "Last-Translator: mymage \n" "Language-Team: none\n" "Language: it\n" @@ -65,7 +65,7 @@ msgstr "Conteggio insieme di modifiche in attesa" #. module: mail_template_attachment_i18n #: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language__create_uid msgid "Created by" -msgstr "Creata da" +msgstr "Creato da" #. module: mail_template_attachment_i18n #: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language__create_date From 639833864beb2f68fab13e75afd9b0e4efb94c16 Mon Sep 17 00:00:00 2001 From: LauraCForgeFlow Date: Mon, 16 Mar 2026 11:32:59 +0100 Subject: [PATCH 14/21] [IMP] mail_template_attachment_i18n: pre-commit auto fixes --- mail_template_attachment_per_lang/README.rst | 72 +++++++++---------- .../pyproject.toml | 3 + .../readme/CONFIGURE.md | 7 ++ .../readme/CONFIGURE.rst | 7 -- .../readme/CONTRIBUTORS.md | 1 + .../readme/CONTRIBUTORS.rst | 1 - .../readme/DESCRIPTION.md | 13 ++++ .../readme/DESCRIPTION.rst | 12 ---- .../readme/USAGE.md | 14 ++++ .../readme/USAGE.rst | 12 ---- .../static/description/index.html | 64 ++++++++--------- 11 files changed, 105 insertions(+), 101 deletions(-) create mode 100644 mail_template_attachment_per_lang/pyproject.toml create mode 100644 mail_template_attachment_per_lang/readme/CONFIGURE.md delete mode 100644 mail_template_attachment_per_lang/readme/CONFIGURE.rst create mode 100644 mail_template_attachment_per_lang/readme/CONTRIBUTORS.md delete mode 100644 mail_template_attachment_per_lang/readme/CONTRIBUTORS.rst create mode 100644 mail_template_attachment_per_lang/readme/DESCRIPTION.md delete mode 100644 mail_template_attachment_per_lang/readme/DESCRIPTION.rst create mode 100644 mail_template_attachment_per_lang/readme/USAGE.md delete mode 100644 mail_template_attachment_per_lang/readme/USAGE.rst diff --git a/mail_template_attachment_per_lang/README.rst b/mail_template_attachment_per_lang/README.rst index cccb6bd6762..539f024c77b 100644 --- a/mail_template_attachment_per_lang/README.rst +++ b/mail_template_attachment_per_lang/README.rst @@ -1,7 +1,3 @@ -.. image:: https://odoo-community.org/readme-banner-image - :target: https://odoo-community.org/get-involved?utm_source=readme - :alt: Odoo Community Association - =========================================== Mail Template Language Specific Attachments =========================================== @@ -17,33 +13,35 @@ Mail Template Language Specific Attachments .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png :target: https://odoo-community.org/page/development-status :alt: Beta -.. |badge2| image:: https://img.shields.io/badge/license-AGPL--3-blue.png +.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fserver--tools-lightgray.png?logo=github - :target: https://github.com/OCA/server-tools/tree/16.0/mail_template_attachment_i18n + :target: https://github.com/OCA/server-tools/tree/17.0/mail_template_attachment_i18n :alt: OCA/server-tools .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/server-tools-16-0/server-tools-16-0-mail_template_attachment_i18n + :target: https://translation.odoo-community.org/projects/server-tools-17-0/server-tools-17-0-mail_template_attachment_i18n :alt: Translate me on Weblate .. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png - :target: https://runboat.odoo-community.org/builds?repo=OCA/server-tools&target_branch=16.0 + :target: https://runboat.odoo-community.org/builds?repo=OCA/server-tools&target_branch=17.0 :alt: Try me on Runboat |badge1| |badge2| |badge3| |badge4| |badge5| This module extends the functionality of mail templates. -It allows you to configure attachments based on the language of the partner -or the language configured in the mail template (which is some times different -from the partner's language). +It allows you to configure attachments based on the language of the +partner or the language configured in the mail template (which is some +times different from the partner's language). -- The email template's language could be ``{{ object.partner_id.lang }}`` or - ``{{ object.user_id.lang }}``, where in the first case we want to send the - email in the partner's language and in the second case we want to send the - email in the user's language. +- The email template's language could be + ``{{ object.partner_id.lang }}`` or ``{{ object.user_id.lang }}``, + where in the first case we want to send the email in the partner's + language and in the second case we want to send the email in the + user's language. -For example you can use it to localize your company's terms of agreements. +For example you can use it to localize your company's terms of +agreements. **Table of contents** @@ -55,27 +53,29 @@ Configuration To configure a language dependent attachment: -#. Activate the developer mode; -#. go to *Settings > Technical > Email > Templates*; -#. go to the form view of the template you want to change; -#. choose the *Language Attachment Method* you want to use; -#. change the field *Language Dependent Attachments* to what you want. +1. Activate the developer mode; +2. go to *Settings > Technical > Email > Templates*; +3. go to the form view of the template you want to change; +4. choose the *Language Attachment Method* you want to use; +5. change the field *Language Dependent Attachments* to what you want. Usage ===== -When a template is selected in the mail composer, the attachments will be automatically added based on the recipients language. -The language of the recipients can be configured on the Partner form view. -When partners with different languages are selected all attachments of the partners languages will be added. +When a template is selected in the mail composer, the attachments will +be automatically added based on the recipients language. The language of +the recipients can be configured on the Partner form view. When partners +with different languages are selected all attachments of the partners +languages will be added. To use the functionality: -#. Configure a template (e.g. the sale order mail template) -#. go to a sale order; -#. click *Send by Email*; -#. the attachments are added based on the email's language or the customer's - language (which might not be the same), depending on the configuration of - the template. +1. Configure a template (e.g. the sale order mail template) +2. go to a sale order; +3. click *Send by Email*; +4. the attachments are added based on the email's language or the + customer's language (which might not be the same), depending on the + configuration of the template. Bug Tracker =========== @@ -83,7 +83,7 @@ Bug Tracker Bugs are tracked on `GitHub Issues `_. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed -`feedback `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -91,17 +91,17 @@ Credits ======= Authors -~~~~~~~ +------- * Onestein Contributors -~~~~~~~~~~~~ +------------ -* Dennis Sluijk +- Dennis Sluijk Maintainers -~~~~~~~~~~~ +----------- This module is maintained by the OCA. @@ -113,6 +113,6 @@ 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. -This module is part of the `OCA/server-tools `_ project on GitHub. +This module is part of the `OCA/server-tools `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/mail_template_attachment_per_lang/pyproject.toml b/mail_template_attachment_per_lang/pyproject.toml new file mode 100644 index 00000000000..4231d0cccb3 --- /dev/null +++ b/mail_template_attachment_per_lang/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["whool"] +build-backend = "whool.buildapi" diff --git a/mail_template_attachment_per_lang/readme/CONFIGURE.md b/mail_template_attachment_per_lang/readme/CONFIGURE.md new file mode 100644 index 00000000000..40c4a04feff --- /dev/null +++ b/mail_template_attachment_per_lang/readme/CONFIGURE.md @@ -0,0 +1,7 @@ +To configure a language dependent attachment: + +1. Activate the developer mode; +2. go to *Settings \> Technical \> Email \> Templates*; +3. go to the form view of the template you want to change; +4. choose the *Language Attachment Method* you want to use; +5. change the field *Language Dependent Attachments* to what you want. diff --git a/mail_template_attachment_per_lang/readme/CONFIGURE.rst b/mail_template_attachment_per_lang/readme/CONFIGURE.rst deleted file mode 100644 index 63af4c87e59..00000000000 --- a/mail_template_attachment_per_lang/readme/CONFIGURE.rst +++ /dev/null @@ -1,7 +0,0 @@ -To configure a language dependent attachment: - -#. Activate the developer mode; -#. go to *Settings > Technical > Email > Templates*; -#. go to the form view of the template you want to change; -#. choose the *Language Attachment Method* you want to use; -#. change the field *Language Dependent Attachments* to what you want. diff --git a/mail_template_attachment_per_lang/readme/CONTRIBUTORS.md b/mail_template_attachment_per_lang/readme/CONTRIBUTORS.md new file mode 100644 index 00000000000..76a1463d268 --- /dev/null +++ b/mail_template_attachment_per_lang/readme/CONTRIBUTORS.md @@ -0,0 +1 @@ +- Dennis Sluijk \<\> diff --git a/mail_template_attachment_per_lang/readme/CONTRIBUTORS.rst b/mail_template_attachment_per_lang/readme/CONTRIBUTORS.rst deleted file mode 100644 index 47b6403d06d..00000000000 --- a/mail_template_attachment_per_lang/readme/CONTRIBUTORS.rst +++ /dev/null @@ -1 +0,0 @@ -* Dennis Sluijk diff --git a/mail_template_attachment_per_lang/readme/DESCRIPTION.md b/mail_template_attachment_per_lang/readme/DESCRIPTION.md new file mode 100644 index 00000000000..df11bf531b6 --- /dev/null +++ b/mail_template_attachment_per_lang/readme/DESCRIPTION.md @@ -0,0 +1,13 @@ +This module extends the functionality of mail templates. + +It allows you to configure attachments based on the language of the +partner or the language configured in the mail template (which is some +times different from the partner's language). + +- The email template's language could be `{{ object.partner_id.lang }}` + or `{{ object.user_id.lang }}`, where in the first case we want to + send the email in the partner's language and in the second case we + want to send the email in the user's language. + +For example you can use it to localize your company's terms of +agreements. diff --git a/mail_template_attachment_per_lang/readme/DESCRIPTION.rst b/mail_template_attachment_per_lang/readme/DESCRIPTION.rst deleted file mode 100644 index 2082d31e939..00000000000 --- a/mail_template_attachment_per_lang/readme/DESCRIPTION.rst +++ /dev/null @@ -1,12 +0,0 @@ -This module extends the functionality of mail templates. - -It allows you to configure attachments based on the language of the partner -or the language configured in the mail template (which is some times different -from the partner's language). - -- The email template's language could be ``{{ object.partner_id.lang }}`` or - ``{{ object.user_id.lang }}``, where in the first case we want to send the - email in the partner's language and in the second case we want to send the - email in the user's language. - -For example you can use it to localize your company's terms of agreements. diff --git a/mail_template_attachment_per_lang/readme/USAGE.md b/mail_template_attachment_per_lang/readme/USAGE.md new file mode 100644 index 00000000000..4fe8ad0c497 --- /dev/null +++ b/mail_template_attachment_per_lang/readme/USAGE.md @@ -0,0 +1,14 @@ +When a template is selected in the mail composer, the attachments will +be automatically added based on the recipients language. The language of +the recipients can be configured on the Partner form view. When partners +with different languages are selected all attachments of the partners +languages will be added. + +To use the functionality: + +1. Configure a template (e.g. the sale order mail template) +2. go to a sale order; +3. click *Send by Email*; +4. the attachments are added based on the email's language or the + customer's language (which might not be the same), depending on the + configuration of the template. diff --git a/mail_template_attachment_per_lang/readme/USAGE.rst b/mail_template_attachment_per_lang/readme/USAGE.rst deleted file mode 100644 index 4c98c557a45..00000000000 --- a/mail_template_attachment_per_lang/readme/USAGE.rst +++ /dev/null @@ -1,12 +0,0 @@ -When a template is selected in the mail composer, the attachments will be automatically added based on the recipients language. -The language of the recipients can be configured on the Partner form view. -When partners with different languages are selected all attachments of the partners languages will be added. - -To use the functionality: - -#. Configure a template (e.g. the sale order mail template) -#. go to a sale order; -#. click *Send by Email*; -#. the attachments are added based on the email's language or the customer's - language (which might not be the same), depending on the configuration of - the template. diff --git a/mail_template_attachment_per_lang/static/description/index.html b/mail_template_attachment_per_lang/static/description/index.html index f9e02921606..d3ce736531b 100644 --- a/mail_template_attachment_per_lang/static/description/index.html +++ b/mail_template_attachment_per_lang/static/description/index.html @@ -3,7 +3,7 @@ -README.rst +Mail Template Language Specific Attachments -
    +
    +

    Mail Template Language Specific Attachments

    - - -Odoo Community Association - -
    -

    Mail Template Language Specific Attachments

    -

    Beta License: AGPL-3 OCA/server-tools Translate me on Weblate Try me on Runboat

    +

    Beta License: AGPL-3 OCA/server-tools Translate me on Weblate Try me on Runboat

    This module extends the functionality of mail templates.

    -

    It allows you to configure attachments based on the language of the partner -or the language configured in the mail template (which is some times different -from the partner’s language).

    +

    It allows you to configure attachments based on the language of the +partner or the language configured in the mail template (which is some +times different from the partner’s language).

      -
    • The email template’s language could be {{ object.partner_id.lang }} or -{{ object.user_id.lang }}, where in the first case we want to send the -email in the partner’s language and in the second case we want to send the -email in the user’s language.
    • +
    • The email template’s language could be +{{ object.partner_id.lang }} or {{ object.user_id.lang }}, +where in the first case we want to send the email in the partner’s +language and in the second case we want to send the email in the +user’s language.
    -

    For example you can use it to localize your company’s terms of agreements.

    +

    For example you can use it to localize your company’s terms of +agreements.

    Table of contents

      @@ -401,7 +398,7 @@

      Mail Template Language Specific Attachments

    -

    Configuration

    +

    Configuration

    To configure a language dependent attachment:

    1. Activate the developer mode;
    2. @@ -412,44 +409,46 @@

      Configuration

    -

    Usage

    -

    When a template is selected in the mail composer, the attachments will be automatically added based on the recipients language. -The language of the recipients can be configured on the Partner form view. -When partners with different languages are selected all attachments of the partners languages will be added.

    +

    Usage

    +

    When a template is selected in the mail composer, the attachments will +be automatically added based on the recipients language. The language of +the recipients can be configured on the Partner form view. When partners +with different languages are selected all attachments of the partners +languages will be added.

    To use the functionality:

    1. Configure a template (e.g. the sale order mail template)
    2. go to a sale order;
    3. click Send by Email;
    4. -
    5. the attachments are added based on the email’s language or the customer’s -language (which might not be the same), depending on the configuration of -the template.
    6. +
    7. the attachments are added based on the email’s language or the +customer’s language (which might not be the same), depending on the +configuration of the template.
    -

    Bug Tracker

    +

    Bug Tracker

    Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed -feedback.

    +feedback.

    Do not contact contributors directly about support or help with technical issues.

    -

    Credits

    +

    Credits

    -

    Authors

    +

    Authors

    • Onestein
    -

    Maintainers

    +

    Maintainers

    This module is maintained by the OCA.

    Odoo Community Association @@ -457,11 +456,10 @@

    Maintainers

    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.

    -

    This module is part of the OCA/server-tools project on GitHub.

    +

    This module is part of the OCA/server-tools project on GitHub.

    You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

    -
    From 69f99865327f953c359dc04d806e154c8a939580 Mon Sep 17 00:00:00 2001 From: LauraCForgeFlow Date: Mon, 16 Mar 2026 15:24:20 +0100 Subject: [PATCH 15/21] [MIG] mail_template_attachment_i18n: Migration to 17.0 --- .../__manifest__.py | 2 +- .../models/mail_template.py | 47 ++-- .../tests/__init__.py | 1 + .../test_mail_template_attachment_i18n.py | 221 ++++++++++++++++++ .../views/mail_template_view.xml | 2 +- 5 files changed, 251 insertions(+), 22 deletions(-) create mode 100644 mail_template_attachment_per_lang/tests/__init__.py create mode 100644 mail_template_attachment_per_lang/tests/test_mail_template_attachment_i18n.py diff --git a/mail_template_attachment_per_lang/__manifest__.py b/mail_template_attachment_per_lang/__manifest__.py index 572b71efb6d..c6b6afb5e23 100644 --- a/mail_template_attachment_per_lang/__manifest__.py +++ b/mail_template_attachment_per_lang/__manifest__.py @@ -4,7 +4,7 @@ "author": "Onestein,Odoo Community Association (OCA)", "website": "https://github.com/OCA/server-tools", "category": "Localization", - "version": "16.0.1.0.0", + "version": "17.0.1.0.0", "license": "AGPL-3", "depends": ["mail"], "data": ["views/mail_template_view.xml", "security/ir.model.access.csv"], diff --git a/mail_template_attachment_per_lang/models/mail_template.py b/mail_template_attachment_per_lang/models/mail_template.py index e4bdca5a368..22f080a9c74 100644 --- a/mail_template_attachment_per_lang/models/mail_template.py +++ b/mail_template_attachment_per_lang/models/mail_template.py @@ -21,37 +21,44 @@ class MailTemplate(models.Model): inverse_name="mail_template_id", ) - def generate_email(self, res_ids, fields=None): + def _generate_template_attachments( + self, res_ids, render_fields, render_results=None + ): self.ensure_one() - multi = True - if isinstance(res_ids, int): - res_ids = [res_ids] - multi = False - res = super().generate_email(res_ids, fields) + res = super()._generate_template_attachments( + res_ids, render_fields, render_results=render_results + ) + recipient_values = {} # Get recipients (to work with partner_lang) + if self.ir_attachment_language_method == "partner_lang": + recipient_fields = {"email_cc", "email_to", "partner_to"} + self._generate_template_recipients( + res_ids, + recipient_fields, + render_results=recipient_values, + ) lang_codes = dict(self._render_lang(res_ids)) - for res_id in res.keys(): + for res_id in res_ids: + values = res.setdefault(res_id, {}) attached = [] lang_code_list = [] - if self.ir_attachment_language_method == "partner_lang": - mail = res[res_id] - partner_ids = "partner_ids" in mail and mail["partner_ids"] or False + if self.env.context.get("template_preview_lang"): + lang = self.env.context.get("template_preview_lang") + lang_codes = {res_id: lang for res_id in res_ids} + lang_code_list = [lang_codes.get(res_id)] + elif self.ir_attachment_language_method == "partner_lang": + partner_ids = recipient_values.get(res_id, {}).get("partner_ids", []) partners = self.env["res.partner"].browse(partner_ids) lang_code_list = [p.lang for p in partners] elif self.ir_attachment_language_method == "template_lang": lang_code_list = [lang_codes.get(res_id)] for lang_code in lang_code_list: for lang_attach in self.ir_attachment_language_ids.filtered( - lambda a: a.lang == lang_code + lambda a, lc=lang_code: a.lang == lc ): if lang_attach.id in attached: continue - if not res[res_id].get("attachments"): - res[res_id]["attachments"] = [] - res[res_id]["attachments"].append( - ( - lang_attach.attachment_id.name, - lang_attach.attachment_id.datas, - ) - ) + if "attachment_ids" not in values: + values["attachment_ids"] = [] + values["attachment_ids"].append(lang_attach.attachment_id.id) attached.append(lang_attach.id) - return multi and res or res[res_ids[0]] + return res diff --git a/mail_template_attachment_per_lang/tests/__init__.py b/mail_template_attachment_per_lang/tests/__init__.py new file mode 100644 index 00000000000..5c817528c84 --- /dev/null +++ b/mail_template_attachment_per_lang/tests/__init__.py @@ -0,0 +1 @@ +from . import test_mail_template_attachment_i18n diff --git a/mail_template_attachment_per_lang/tests/test_mail_template_attachment_i18n.py b/mail_template_attachment_per_lang/tests/test_mail_template_attachment_i18n.py new file mode 100644 index 00000000000..5a16d82e6ae --- /dev/null +++ b/mail_template_attachment_per_lang/tests/test_mail_template_attachment_i18n.py @@ -0,0 +1,221 @@ +# Copyright 2024 Onestein +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +import base64 + +from odoo.tests import tagged + +from odoo.addons.mail.tests.common import MailCommon + + +@tagged("mail_template", "-at_install", "post_install") +class TestMailTemplateAttachmentI18n(MailCommon): + @classmethod + def setUpClass(cls): + super().setUpClass() + cls.env["res.lang"]._activate_lang("fr_FR") + cls.partner_fr = cls.env["res.partner"].create( + { + "name": "French Partner", + "email": "french@example.com", + "lang": "fr_FR", + } + ) + cls.partner_en = cls.env["res.partner"].create( + { + "name": "English Partner", + "email": "english@example.com", + "lang": "en_US", + } + ) + + cls.attachment_fr = cls.env["ir.attachment"].create( + { + "name": "terms_fr.pdf", + "type": "binary", + "datas": base64.b64encode(b"French terms content"), + } + ) + cls.attachment_en = cls.env["ir.attachment"].create( + { + "name": "terms_en.pdf", + "type": "binary", + "datas": base64.b64encode(b"English terms content"), + } + ) + + cls.mail_template = cls.env["mail.template"].create( + { + "name": "Test i18n Template", + "model_id": cls.env.ref("base.model_res_partner").id, + "subject": "Test subject", + "body_html": "

    Test body

    ", + "partner_to": "{{ object.id }}", + "lang": "{{ object.lang }}", + "ir_attachment_language_method": "template_lang", + "ir_attachment_language_ids": [ + ( + 0, + 0, + { + "lang": "fr_FR", + "attachment_id": cls.attachment_fr.id, + }, + ), + ( + 0, + 0, + { + "lang": "en_US", + "attachment_id": cls.attachment_en.id, + }, + ), + ], + } + ) + + def test_template_lang_method_french(self): + # Sending to a French partner should attach the French file + render_results = self.mail_template._generate_template( + [self.partner_fr.id], + [ + "attachment_ids", + "body_html", + "email_from", + "partner_to", + "report_template_ids", + "subject", + ], + ) + attachments = render_results[self.partner_fr.id].get("attachment_ids", []) + attachment_records = self.env["ir.attachment"].browse(attachments) + attachment_names = attachment_records.mapped("name") + self.assertIn("terms_fr.pdf", attachment_names) + self.assertNotIn("terms_en.pdf", attachment_names) + + def test_template_lang_method_english(self): + # Sending to an English partner should attach the English file + render_results = self.mail_template._generate_template( + [self.partner_en.id], + [ + "attachment_ids", + "body_html", + "email_from", + "partner_to", + "report_template_ids", + "subject", + ], + ) + attachments = render_results[self.partner_en.id].get("attachment_ids", []) + attachment_records = self.env["ir.attachment"].browse(attachments) + attachment_names = attachment_records.mapped("name") + self.assertIn("terms_en.pdf", attachment_names) + self.assertNotIn("terms_fr.pdf", attachment_names) + + def test_partner_lang_method(self): + # With partner_lang method, attachments match partner language + self.mail_template.ir_attachment_language_method = "partner_lang" + render_results = self.mail_template._generate_template( + [self.partner_fr.id], + [ + "attachment_ids", + "body_html", + "email_from", + "partner_to", + "report_template_ids", + "subject", + ], + ) + attachments = render_results[self.partner_fr.id].get("attachment_ids", []) + attachment_records = self.env["ir.attachment"].browse(attachments) + attachment_names = attachment_records.mapped("name") + self.assertIn("terms_fr.pdf", attachment_names) + self.assertNotIn("terms_en.pdf", attachment_names) + + def test_no_method_set(self): + # With no method set, no language-specific attachments are added + self.mail_template.ir_attachment_language_method = False + render_results = self.mail_template._generate_template( + [self.partner_fr.id], + [ + "attachment_ids", + "body_html", + "email_from", + "partner_to", + "report_template_ids", + "subject", + ], + ) + attachments = render_results[self.partner_fr.id].get("attachment_ids", []) + self.assertFalse(attachments) + + def test_batch_multiple_partners(self): + # Batch rendering attaches correct files per language + render_results = self.mail_template._generate_template( + [self.partner_fr.id, self.partner_en.id], + [ + "attachment_ids", + "body_html", + "email_from", + "partner_to", + "report_template_ids", + "subject", + ], + ) + fr_attachments = render_results[self.partner_fr.id].get("attachment_ids", []) + fr_attachment_records = self.env["ir.attachment"].browse(fr_attachments) + fr_names = fr_attachment_records.mapped("name") + en_attachments = render_results[self.partner_en.id].get("attachment_ids", []) + en_attachment_records = self.env["ir.attachment"].browse(en_attachments) + en_names = en_attachment_records.mapped("name") + self.assertIn("terms_fr.pdf", fr_names) + self.assertNotIn("terms_en.pdf", fr_names) + self.assertIn("terms_en.pdf", en_names) + self.assertNotIn("terms_fr.pdf", en_names) + + def test_send_mail_with_lang_attachments(self): + # Full send_mail flow includes language-specific attachments + with self.mock_mail_gateway(): + mail = self.mail_template.send_mail(self.partner_fr.id) + mail_record = self.env["mail.mail"].browse(mail) + attachment_names = mail_record.attachment_ids.mapped("name") + self.assertIn("terms_fr.pdf", attachment_names) + self.assertNotIn("terms_en.pdf", attachment_names) + + def test_partner_lang_with_fixed_template_lang(self): + # Test that even if the template body is forced to English, + # the attachments follow the recipient's language. + self.mail_template.write( + { + "lang": "en_US", + "partner_to": str(self.partner_en.id), + "ir_attachment_language_method": "partner_lang", + } + ) + # English recipient --> Should get English attachment + render_results = self.mail_template._generate_template( + [self.partner_en.id], + ["attachment_ids"], + ) + result = render_results[self.partner_en.id] + attachments = self.env["ir.attachment"].browse(result.get("attachment_ids", [])) + attachment_names = attachments.mapped("name") + self.assertIn("terms_en.pdf", attachment_names) + self.assertNotIn("terms_fr.pdf", attachment_names) + # Change recipient to French partner + # The body remains English (lang='en_US'), but attachments must switch to French + self.mail_template.write( + { + "partner_to": str(self.partner_fr.id), + } + ) + render_results = self.mail_template._generate_template( + [self.partner_fr.id], + ["attachment_ids"], + ) + result = render_results[self.partner_fr.id] + attachments = self.env["ir.attachment"].browse(result.get("attachment_ids", [])) + attachment_names = attachments.mapped("name") + # Verify that the logic correctly prioritized the recipient's language + self.assertIn("terms_fr.pdf", attachment_names) + self.assertNotIn("terms_en.pdf", attachment_names) diff --git a/mail_template_attachment_per_lang/views/mail_template_view.xml b/mail_template_attachment_per_lang/views/mail_template_view.xml index adf4eb72445..45a9207f2ce 100644 --- a/mail_template_attachment_per_lang/views/mail_template_view.xml +++ b/mail_template_attachment_per_lang/views/mail_template_view.xml @@ -18,7 +18,7 @@ name="ir_attachment_language_ids" nolabel="1" colspan="2" - attrs="{'invisible': [('ir_attachment_language_method', '=', False)]}" + invisible="not ir_attachment_language_method" > From 140ea6ab274d923fc30856842005cab23f7aa3f8 Mon Sep 17 00:00:00 2001 From: LauraCForgeFlow Date: Wed, 15 Apr 2026 16:41:42 +0200 Subject: [PATCH 16/21] [IMP] mail_template_attachment_per_lang: handle module rename --- mail_template_attachment_per_lang/README.rst | 8 +- mail_template_attachment_per_lang/i18n/it.po | 140 +++++++-------- .../i18n/mail_template_attachment_i18n.pot | 170 ------------------ .../mail_template_attachment_per_lang.pot | 170 ++++++++++++++++++ .../static/description/index.html | 6 +- .../tests/__init__.py | 2 +- ...test_mail_template_attachment_per_lang.py} | 2 +- 7 files changed, 249 insertions(+), 249 deletions(-) delete mode 100644 mail_template_attachment_per_lang/i18n/mail_template_attachment_i18n.pot create mode 100644 mail_template_attachment_per_lang/i18n/mail_template_attachment_per_lang.pot rename mail_template_attachment_per_lang/tests/{test_mail_template_attachment_i18n.py => test_mail_template_attachment_per_lang.py} (99%) diff --git a/mail_template_attachment_per_lang/README.rst b/mail_template_attachment_per_lang/README.rst index 539f024c77b..d34f707d21e 100644 --- a/mail_template_attachment_per_lang/README.rst +++ b/mail_template_attachment_per_lang/README.rst @@ -17,10 +17,10 @@ Mail Template Language Specific Attachments :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fserver--tools-lightgray.png?logo=github - :target: https://github.com/OCA/server-tools/tree/17.0/mail_template_attachment_i18n + :target: https://github.com/OCA/server-tools/tree/17.0/mail_template_attachment_per_lang :alt: OCA/server-tools .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/server-tools-17-0/server-tools-17-0-mail_template_attachment_i18n + :target: https://translation.odoo-community.org/projects/server-tools-17-0/server-tools-17-0-mail_template_attachment_per_lang :alt: Translate me on Weblate .. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png :target: https://runboat.odoo-community.org/builds?repo=OCA/server-tools&target_branch=17.0 @@ -83,7 +83,7 @@ Bug Tracker Bugs are tracked on `GitHub Issues `_. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed -`feedback `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -113,6 +113,6 @@ 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. -This module is part of the `OCA/server-tools `_ project on GitHub. +This module is part of the `OCA/server-tools `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/mail_template_attachment_per_lang/i18n/it.po b/mail_template_attachment_per_lang/i18n/it.po index ab6678f7d30..7c586f9b5b6 100644 --- a/mail_template_attachment_per_lang/i18n/it.po +++ b/mail_template_attachment_per_lang/i18n/it.po @@ -1,6 +1,6 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: -# * mail_template_attachment_i18n +# * mail_template_attachment_per_lang # msgid "" msgstr "" @@ -16,158 +16,158 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.15.2\n" -#. module: mail_template_attachment_i18n -#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language__assigned_attachment_ids -#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_mail_template__assigned_attachment_ids +#. module: mail_template_attachment_per_lang +#: model:ir.model.fields,field_description:mail_template_attachment_per_lang.field_ir_attachment_language__assigned_attachment_ids +#: model:ir.model.fields,field_description:mail_template_attachment_per_lang.field_mail_template__assigned_attachment_ids msgid "Assigned Attachments" msgstr "Allegati assegnati" -#. module: mail_template_attachment_i18n -#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language__attachment_id +#. module: mail_template_attachment_per_lang +#: model:ir.model.fields,field_description:mail_template_attachment_per_lang.field_ir_attachment_language__attachment_id msgid "Attachment" msgstr "Allegato" -#. module: mail_template_attachment_i18n -#: model:ir.model,name:mail_template_attachment_i18n.model_ir_attachment_language +#. module: mail_template_attachment_per_lang +#: model:ir.model,name:mail_template_attachment_per_lang.model_ir_attachment_language msgid "Attachment Language" msgstr "Lingua allegato" -#. module: mail_template_attachment_i18n -#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language__changeset_change_ids -#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_mail_template__changeset_change_ids +#. module: mail_template_attachment_per_lang +#: model:ir.model.fields,field_description:mail_template_attachment_per_lang.field_ir_attachment_language__changeset_change_ids +#: model:ir.model.fields,field_description:mail_template_attachment_per_lang.field_mail_template__changeset_change_ids msgid "Changeset Changes" msgstr "Modifiche dell'insieme di modifiche" -#. module: mail_template_attachment_i18n -#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language__changeset_ids -#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_mail_template__changeset_ids +#. module: mail_template_attachment_per_lang +#: model:ir.model.fields,field_description:mail_template_attachment_per_lang.field_ir_attachment_language__changeset_ids +#: model:ir.model.fields,field_description:mail_template_attachment_per_lang.field_mail_template__changeset_ids msgid "Changesets" msgstr "Insieme di modifiche" -#. module: mail_template_attachment_i18n -#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language__count_changesets -#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_mail_template__count_changesets +#. module: mail_template_attachment_per_lang +#: model:ir.model.fields,field_description:mail_template_attachment_per_lang.field_ir_attachment_language__count_changesets +#: model:ir.model.fields,field_description:mail_template_attachment_per_lang.field_mail_template__count_changesets msgid "Count Changesets" msgstr "Conteggio insieme di modifiche" -#. module: mail_template_attachment_i18n -#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language__count_pending_changeset_changes -#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_mail_template__count_pending_changeset_changes +#. module: mail_template_attachment_per_lang +#: model:ir.model.fields,field_description:mail_template_attachment_per_lang.field_ir_attachment_language__count_pending_changeset_changes +#: model:ir.model.fields,field_description:mail_template_attachment_per_lang.field_mail_template__count_pending_changeset_changes msgid "Count Pending Changeset Changes" msgstr "Conteggio modifiche dell'insieme di modifiche in attesa" -#. module: mail_template_attachment_i18n -#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language__count_pending_changesets -#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_mail_template__count_pending_changesets +#. module: mail_template_attachment_per_lang +#: model:ir.model.fields,field_description:mail_template_attachment_per_lang.field_ir_attachment_language__count_pending_changesets +#: model:ir.model.fields,field_description:mail_template_attachment_per_lang.field_mail_template__count_pending_changesets msgid "Count Pending Changesets" msgstr "Conteggio insieme di modifiche in attesa" -#. module: mail_template_attachment_i18n -#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language__create_uid +#. module: mail_template_attachment_per_lang +#: model:ir.model.fields,field_description:mail_template_attachment_per_lang.field_ir_attachment_language__create_uid msgid "Created by" msgstr "Creato da" -#. module: mail_template_attachment_i18n -#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language__create_date +#. module: mail_template_attachment_per_lang +#: model:ir.model.fields,field_description:mail_template_attachment_per_lang.field_ir_attachment_language__create_date msgid "Created on" msgstr "Creato il" -#. module: mail_template_attachment_i18n -#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language__display_name +#. module: mail_template_attachment_per_lang +#: model:ir.model.fields,field_description:mail_template_attachment_per_lang.field_ir_attachment_language__display_name msgid "Display Name" msgstr "Nome visualizzato" -#. module: mail_template_attachment_i18n -#: model:ir.model,name:mail_template_attachment_i18n.model_mail_template +#. module: mail_template_attachment_per_lang +#: model:ir.model,name:mail_template_attachment_per_lang.model_mail_template msgid "Email Templates" msgstr "Modelli e-mail" -#. module: mail_template_attachment_i18n -#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language__id +#. module: mail_template_attachment_per_lang +#: model:ir.model.fields,field_description:mail_template_attachment_per_lang.field_ir_attachment_language__id msgid "ID" msgstr "ID" -#. module: mail_template_attachment_i18n -#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language__lang +#. module: mail_template_attachment_per_lang +#: model:ir.model.fields,field_description:mail_template_attachment_per_lang.field_ir_attachment_language__lang msgid "Language" msgstr "Lingua" -#. module: mail_template_attachment_i18n -#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_mail_template__ir_attachment_language_method +#. module: mail_template_attachment_per_lang +#: model:ir.model.fields,field_description:mail_template_attachment_per_lang.field_mail_template__ir_attachment_language_method msgid "Language Attachment Method" msgstr "Metodo allegato lingua" -#. module: mail_template_attachment_i18n -#: model_terms:ir.ui.view,arch_db:mail_template_attachment_i18n.mail_template_form +#. module: mail_template_attachment_per_lang +#: model_terms:ir.ui.view,arch_db:mail_template_attachment_per_lang.mail_template_form msgid "Language Attachments" msgstr "Allegati lingua" -#. module: mail_template_attachment_i18n -#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_mail_template__ir_attachment_language_ids +#. module: mail_template_attachment_per_lang +#: model:ir.model.fields,field_description:mail_template_attachment_per_lang.field_mail_template__ir_attachment_language_ids msgid "Language Dependent Attachments" msgstr "Allegati dipendenti dalla lingua" -#. module: mail_template_attachment_i18n -#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language____last_update +#. module: mail_template_attachment_per_lang +#: model:ir.model.fields,field_description:mail_template_attachment_per_lang.field_ir_attachment_language____last_update msgid "Last Modified on" msgstr "Ultima modifica il" -#. module: mail_template_attachment_i18n -#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language__write_uid +#. module: mail_template_attachment_per_lang +#: model:ir.model.fields,field_description:mail_template_attachment_per_lang.field_ir_attachment_language__write_uid msgid "Last Updated by" msgstr "Ultimo aggiornamento di" -#. module: mail_template_attachment_i18n -#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language__write_date +#. module: mail_template_attachment_per_lang +#: model:ir.model.fields,field_description:mail_template_attachment_per_lang.field_ir_attachment_language__write_date msgid "Last Updated on" msgstr "Ultimo aggiornamento il" -#. module: mail_template_attachment_i18n -#: model_terms:ir.ui.view,arch_db:mail_template_attachment_i18n.mail_template_form +#. module: mail_template_attachment_per_lang +#: model_terms:ir.ui.view,arch_db:mail_template_attachment_per_lang.mail_template_form msgid "Method" msgstr "Metodo" -#. module: mail_template_attachment_i18n -#: model:ir.model.fields.selection,name:mail_template_attachment_i18n.selection__mail_template__ir_attachment_language_method__partner_lang +#. module: mail_template_attachment_per_lang +#: model:ir.model.fields.selection,name:mail_template_attachment_per_lang.selection__mail_template__ir_attachment_language_method__partner_lang msgid "Partner Language" msgstr "Lingua del partner" -#. module: mail_template_attachment_i18n -#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language__smart_search -#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_mail_template__smart_search +#. module: mail_template_attachment_per_lang +#: model:ir.model.fields,field_description:mail_template_attachment_per_lang.field_ir_attachment_language__smart_search +#: model:ir.model.fields,field_description:mail_template_attachment_per_lang.field_mail_template__smart_search msgid "Smart Search" msgstr "Ricerca intelligente" -#. module: mail_template_attachment_i18n -#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language__mail_template_id +#. module: mail_template_attachment_per_lang +#: model:ir.model.fields,field_description:mail_template_attachment_per_lang.field_ir_attachment_language__mail_template_id msgid "Template" msgstr "Modello" -#. module: mail_template_attachment_i18n -#: model:ir.model.fields.selection,name:mail_template_attachment_i18n.selection__mail_template__ir_attachment_language_method__template_lang +#. module: mail_template_attachment_per_lang +#: model:ir.model.fields.selection,name:mail_template_attachment_per_lang.selection__mail_template__ir_attachment_language_method__template_lang msgid "Template Language" msgstr "Lingua del modello" -#. module: mail_template_attachment_i18n -#: model:ir.model.fields,help:mail_template_attachment_i18n.field_ir_attachment_language__count_pending_changeset_changes -#: model:ir.model.fields,help:mail_template_attachment_i18n.field_mail_template__count_pending_changeset_changes +#. module: mail_template_attachment_per_lang +#: model:ir.model.fields,help:mail_template_attachment_per_lang.field_ir_attachment_language__count_pending_changeset_changes +#: model:ir.model.fields,help:mail_template_attachment_per_lang.field_mail_template__count_pending_changeset_changes msgid "The number of pending changes of this record" msgstr "Numero di modifiche di questo record in attesa" -#. module: mail_template_attachment_i18n -#: model:ir.model.fields,help:mail_template_attachment_i18n.field_ir_attachment_language__count_pending_changesets -#: model:ir.model.fields,help:mail_template_attachment_i18n.field_mail_template__count_pending_changesets +#. module: mail_template_attachment_per_lang +#: model:ir.model.fields,help:mail_template_attachment_per_lang.field_ir_attachment_language__count_pending_changesets +#: model:ir.model.fields,help:mail_template_attachment_per_lang.field_mail_template__count_pending_changesets msgid "The number of pending changesets of this record" msgstr "Numero di insiemi di modifiche in attesa di questo record" -#. module: mail_template_attachment_i18n -#: model:ir.model.fields,help:mail_template_attachment_i18n.field_ir_attachment_language__count_changesets -#: model:ir.model.fields,help:mail_template_attachment_i18n.field_mail_template__count_changesets +#. module: mail_template_attachment_per_lang +#: model:ir.model.fields,help:mail_template_attachment_per_lang.field_ir_attachment_language__count_changesets +#: model:ir.model.fields,help:mail_template_attachment_per_lang.field_mail_template__count_changesets msgid "The overall number of changesets of this record" msgstr "Numero totale di insiemi di modifiche di questo record" -#. module: mail_template_attachment_i18n -#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language__user_can_see_changeset -#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_mail_template__user_can_see_changeset +#. module: mail_template_attachment_per_lang +#: model:ir.model.fields,field_description:mail_template_attachment_per_lang.field_ir_attachment_language__user_can_see_changeset +#: model:ir.model.fields,field_description:mail_template_attachment_per_lang.field_mail_template__user_can_see_changeset msgid "User Can See Changeset" msgstr "L'utente può vedere l'insieme delle modifiche" diff --git a/mail_template_attachment_per_lang/i18n/mail_template_attachment_i18n.pot b/mail_template_attachment_per_lang/i18n/mail_template_attachment_i18n.pot deleted file mode 100644 index c401ed46e23..00000000000 --- a/mail_template_attachment_per_lang/i18n/mail_template_attachment_i18n.pot +++ /dev/null @@ -1,170 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * mail_template_attachment_i18n -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 16.0\n" -"Report-Msgid-Bugs-To: \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: mail_template_attachment_i18n -#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language__assigned_attachment_ids -#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_mail_template__assigned_attachment_ids -msgid "Assigned Attachments" -msgstr "" - -#. module: mail_template_attachment_i18n -#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language__attachment_id -msgid "Attachment" -msgstr "" - -#. module: mail_template_attachment_i18n -#: model:ir.model,name:mail_template_attachment_i18n.model_ir_attachment_language -msgid "Attachment Language" -msgstr "" - -#. module: mail_template_attachment_i18n -#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language__changeset_change_ids -#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_mail_template__changeset_change_ids -msgid "Changeset Changes" -msgstr "" - -#. module: mail_template_attachment_i18n -#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language__changeset_ids -#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_mail_template__changeset_ids -msgid "Changesets" -msgstr "" - -#. module: mail_template_attachment_i18n -#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language__count_changesets -#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_mail_template__count_changesets -msgid "Count Changesets" -msgstr "" - -#. module: mail_template_attachment_i18n -#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language__count_pending_changeset_changes -#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_mail_template__count_pending_changeset_changes -msgid "Count Pending Changeset Changes" -msgstr "" - -#. module: mail_template_attachment_i18n -#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language__count_pending_changesets -#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_mail_template__count_pending_changesets -msgid "Count Pending Changesets" -msgstr "" - -#. module: mail_template_attachment_i18n -#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language__create_uid -msgid "Created by" -msgstr "" - -#. module: mail_template_attachment_i18n -#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language__create_date -msgid "Created on" -msgstr "" - -#. module: mail_template_attachment_i18n -#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language__display_name -msgid "Display Name" -msgstr "" - -#. module: mail_template_attachment_i18n -#: model:ir.model,name:mail_template_attachment_i18n.model_mail_template -msgid "Email Templates" -msgstr "" - -#. module: mail_template_attachment_i18n -#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language__id -msgid "ID" -msgstr "" - -#. module: mail_template_attachment_i18n -#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language__lang -msgid "Language" -msgstr "" - -#. module: mail_template_attachment_i18n -#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_mail_template__ir_attachment_language_method -msgid "Language Attachment Method" -msgstr "" - -#. module: mail_template_attachment_i18n -#: model_terms:ir.ui.view,arch_db:mail_template_attachment_i18n.mail_template_form -msgid "Language Attachments" -msgstr "" - -#. module: mail_template_attachment_i18n -#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_mail_template__ir_attachment_language_ids -msgid "Language Dependent Attachments" -msgstr "" - -#. module: mail_template_attachment_i18n -#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language____last_update -msgid "Last Modified on" -msgstr "" - -#. module: mail_template_attachment_i18n -#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language__write_uid -msgid "Last Updated by" -msgstr "" - -#. module: mail_template_attachment_i18n -#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language__write_date -msgid "Last Updated on" -msgstr "" - -#. module: mail_template_attachment_i18n -#: model_terms:ir.ui.view,arch_db:mail_template_attachment_i18n.mail_template_form -msgid "Method" -msgstr "" - -#. module: mail_template_attachment_i18n -#: model:ir.model.fields.selection,name:mail_template_attachment_i18n.selection__mail_template__ir_attachment_language_method__partner_lang -msgid "Partner Language" -msgstr "" - -#. module: mail_template_attachment_i18n -#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language__smart_search -#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_mail_template__smart_search -msgid "Smart Search" -msgstr "" - -#. module: mail_template_attachment_i18n -#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language__mail_template_id -msgid "Template" -msgstr "" - -#. module: mail_template_attachment_i18n -#: model:ir.model.fields.selection,name:mail_template_attachment_i18n.selection__mail_template__ir_attachment_language_method__template_lang -msgid "Template Language" -msgstr "" - -#. module: mail_template_attachment_i18n -#: model:ir.model.fields,help:mail_template_attachment_i18n.field_ir_attachment_language__count_pending_changeset_changes -#: model:ir.model.fields,help:mail_template_attachment_i18n.field_mail_template__count_pending_changeset_changes -msgid "The number of pending changes of this record" -msgstr "" - -#. module: mail_template_attachment_i18n -#: model:ir.model.fields,help:mail_template_attachment_i18n.field_ir_attachment_language__count_pending_changesets -#: model:ir.model.fields,help:mail_template_attachment_i18n.field_mail_template__count_pending_changesets -msgid "The number of pending changesets of this record" -msgstr "" - -#. module: mail_template_attachment_i18n -#: model:ir.model.fields,help:mail_template_attachment_i18n.field_ir_attachment_language__count_changesets -#: model:ir.model.fields,help:mail_template_attachment_i18n.field_mail_template__count_changesets -msgid "The overall number of changesets of this record" -msgstr "" - -#. module: mail_template_attachment_i18n -#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_ir_attachment_language__user_can_see_changeset -#: model:ir.model.fields,field_description:mail_template_attachment_i18n.field_mail_template__user_can_see_changeset -msgid "User Can See Changeset" -msgstr "" diff --git a/mail_template_attachment_per_lang/i18n/mail_template_attachment_per_lang.pot b/mail_template_attachment_per_lang/i18n/mail_template_attachment_per_lang.pot new file mode 100644 index 00000000000..e1d38f6cc7f --- /dev/null +++ b/mail_template_attachment_per_lang/i18n/mail_template_attachment_per_lang.pot @@ -0,0 +1,170 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mail_template_attachment_i18n +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \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: mail_template_attachment_per_lang +#: model:ir.model.fields,field_description:mail_template_attachment_per_lang.field_ir_attachment_language__assigned_attachment_ids +#: model:ir.model.fields,field_description:mail_template_attachment_per_lang.field_mail_template__assigned_attachment_ids +msgid "Assigned Attachments" +msgstr "" + +#. module: mail_template_attachment_per_lang +#: model:ir.model.fields,field_description:mail_template_attachment_per_lang.field_ir_attachment_language__attachment_id +msgid "Attachment" +msgstr "" + +#. module: mail_template_attachment_per_lang +#: model:ir.model,name:mail_template_attachment_per_lang.model_ir_attachment_language +msgid "Attachment Language" +msgstr "" + +#. module: mail_template_attachment_per_lang +#: model:ir.model.fields,field_description:mail_template_attachment_per_lang.field_ir_attachment_language__changeset_change_ids +#: model:ir.model.fields,field_description:mail_template_attachment_per_lang.field_mail_template__changeset_change_ids +msgid "Changeset Changes" +msgstr "" + +#. module: mail_template_attachment_per_lang +#: model:ir.model.fields,field_description:mail_template_attachment_per_lang.field_ir_attachment_language__changeset_ids +#: model:ir.model.fields,field_description:mail_template_attachment_per_lang.field_mail_template__changeset_ids +msgid "Changesets" +msgstr "" + +#. module: mail_template_attachment_per_lang +#: model:ir.model.fields,field_description:mail_template_attachment_per_lang.field_ir_attachment_language__count_changesets +#: model:ir.model.fields,field_description:mail_template_attachment_per_lang.field_mail_template__count_changesets +msgid "Count Changesets" +msgstr "" + +#. module: mail_template_attachment_per_lang +#: model:ir.model.fields,field_description:mail_template_attachment_per_lang.field_ir_attachment_language__count_pending_changeset_changes +#: model:ir.model.fields,field_description:mail_template_attachment_per_lang.field_mail_template__count_pending_changeset_changes +msgid "Count Pending Changeset Changes" +msgstr "" + +#. module: mail_template_attachment_per_lang +#: model:ir.model.fields,field_description:mail_template_attachment_per_lang.field_ir_attachment_language__count_pending_changesets +#: model:ir.model.fields,field_description:mail_template_attachment_per_lang.field_mail_template__count_pending_changesets +msgid "Count Pending Changesets" +msgstr "" + +#. module: mail_template_attachment_per_lang +#: model:ir.model.fields,field_description:mail_template_attachment_per_lang.field_ir_attachment_language__create_uid +msgid "Created by" +msgstr "" + +#. module: mail_template_attachment_per_lang +#: model:ir.model.fields,field_description:mail_template_attachment_per_lang.field_ir_attachment_language__create_date +msgid "Created on" +msgstr "" + +#. module: mail_template_attachment_per_lang +#: model:ir.model.fields,field_description:mail_template_attachment_per_lang.field_ir_attachment_language__display_name +msgid "Display Name" +msgstr "" + +#. module: mail_template_attachment_per_lang +#: model:ir.model,name:mail_template_attachment_per_lang.model_mail_template +msgid "Email Templates" +msgstr "" + +#. module: mail_template_attachment_per_lang +#: model:ir.model.fields,field_description:mail_template_attachment_per_lang.field_ir_attachment_language__id +msgid "ID" +msgstr "" + +#. module: mail_template_attachment_per_lang +#: model:ir.model.fields,field_description:mail_template_attachment_per_lang.field_ir_attachment_language__lang +msgid "Language" +msgstr "" + +#. module: mail_template_attachment_per_lang +#: model:ir.model.fields,field_description:mail_template_attachment_per_lang.field_mail_template__ir_attachment_language_method +msgid "Language Attachment Method" +msgstr "" + +#. module: mail_template_attachment_per_lang +#: model_terms:ir.ui.view,arch_db:mail_template_attachment_per_lang.mail_template_form +msgid "Language Attachments" +msgstr "" + +#. module: mail_template_attachment_per_lang +#: model:ir.model.fields,field_description:mail_template_attachment_per_lang.field_mail_template__ir_attachment_language_ids +msgid "Language Dependent Attachments" +msgstr "" + +#. module: mail_template_attachment_per_lang +#: model:ir.model.fields,field_description:mail_template_attachment_per_lang.field_ir_attachment_language____last_update +msgid "Last Modified on" +msgstr "" + +#. module: mail_template_attachment_per_lang +#: model:ir.model.fields,field_description:mail_template_attachment_per_lang.field_ir_attachment_language__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: mail_template_attachment_per_lang +#: model:ir.model.fields,field_description:mail_template_attachment_per_lang.field_ir_attachment_language__write_date +msgid "Last Updated on" +msgstr "" + +#. module: mail_template_attachment_per_lang +#: model_terms:ir.ui.view,arch_db:mail_template_attachment_per_lang.mail_template_form +msgid "Method" +msgstr "" + +#. module: mail_template_attachment_per_lang +#: model:ir.model.fields.selection,name:mail_template_attachment_per_lang.selection__mail_template__ir_attachment_language_method__partner_lang +msgid "Partner Language" +msgstr "" + +#. module: mail_template_attachment_per_lang +#: model:ir.model.fields,field_description:mail_template_attachment_per_lang.field_ir_attachment_language__smart_search +#: model:ir.model.fields,field_description:mail_template_attachment_per_lang.field_mail_template__smart_search +msgid "Smart Search" +msgstr "" + +#. module: mail_template_attachment_per_lang +#: model:ir.model.fields,field_description:mail_template_attachment_per_lang.field_ir_attachment_language__mail_template_id +msgid "Template" +msgstr "" + +#. module: mail_template_attachment_per_lang +#: model:ir.model.fields.selection,name:mail_template_attachment_per_lang.selection__mail_template__ir_attachment_language_method__template_lang +msgid "Template Language" +msgstr "" + +#. module: mail_template_attachment_per_lang +#: model:ir.model.fields,help:mail_template_attachment_per_lang.field_ir_attachment_language__count_pending_changeset_changes +#: model:ir.model.fields,help:mail_template_attachment_per_lang.field_mail_template__count_pending_changeset_changes +msgid "The number of pending changes of this record" +msgstr "" + +#. module: mail_template_attachment_per_lang +#: model:ir.model.fields,help:mail_template_attachment_per_lang.field_ir_attachment_language__count_pending_changesets +#: model:ir.model.fields,help:mail_template_attachment_per_lang.field_mail_template__count_pending_changesets +msgid "The number of pending changesets of this record" +msgstr "" + +#. module: mail_template_attachment_per_lang +#: model:ir.model.fields,help:mail_template_attachment_per_lang.field_ir_attachment_language__count_changesets +#: model:ir.model.fields,help:mail_template_attachment_per_lang.field_mail_template__count_changesets +msgid "The overall number of changesets of this record" +msgstr "" + +#. module: mail_template_attachment_per_lang +#: model:ir.model.fields,field_description:mail_template_attachment_per_lang.field_ir_attachment_language__user_can_see_changeset +#: model:ir.model.fields,field_description:mail_template_attachment_per_lang.field_mail_template__user_can_see_changeset +msgid "User Can See Changeset" +msgstr "" diff --git a/mail_template_attachment_per_lang/static/description/index.html b/mail_template_attachment_per_lang/static/description/index.html index d3ce736531b..5f18b683bc9 100644 --- a/mail_template_attachment_per_lang/static/description/index.html +++ b/mail_template_attachment_per_lang/static/description/index.html @@ -369,7 +369,7 @@

    Mail Template Language Specific Attachments

    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! source digest: sha256:9063dbefbbb5c2cadc1fb5f77a822bb9ca5655e3709ffc549a4592d57273cce3 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

    Beta License: AGPL-3 OCA/server-tools Translate me on Weblate Try me on Runboat

    +

    Beta License: AGPL-3 OCA/server-tools Translate me on Weblate Try me on Runboat

    This module extends the functionality of mail templates.

    It allows you to configure attachments based on the language of the partner or the language configured in the mail template (which is some @@ -430,7 +430,7 @@

    Bug Tracker

    Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed -feedback.

    +feedback.

    Do not contact contributors directly about support or help with technical issues.

    @@ -456,7 +456,7 @@

    Maintainers

    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.

    -

    This module is part of the OCA/server-tools project on GitHub.

    +

    This module is part of the OCA/server-tools project on GitHub.

    You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

    diff --git a/mail_template_attachment_per_lang/tests/__init__.py b/mail_template_attachment_per_lang/tests/__init__.py index 5c817528c84..67ff6ec1913 100644 --- a/mail_template_attachment_per_lang/tests/__init__.py +++ b/mail_template_attachment_per_lang/tests/__init__.py @@ -1 +1 @@ -from . import test_mail_template_attachment_i18n +from . import test_mail_template_attachment_per_lang diff --git a/mail_template_attachment_per_lang/tests/test_mail_template_attachment_i18n.py b/mail_template_attachment_per_lang/tests/test_mail_template_attachment_per_lang.py similarity index 99% rename from mail_template_attachment_per_lang/tests/test_mail_template_attachment_i18n.py rename to mail_template_attachment_per_lang/tests/test_mail_template_attachment_per_lang.py index 5a16d82e6ae..5debbb40f51 100644 --- a/mail_template_attachment_per_lang/tests/test_mail_template_attachment_i18n.py +++ b/mail_template_attachment_per_lang/tests/test_mail_template_attachment_per_lang.py @@ -9,7 +9,7 @@ @tagged("mail_template", "-at_install", "post_install") -class TestMailTemplateAttachmentI18n(MailCommon): +class TestMailTemplateAttachmentPerLang(MailCommon): @classmethod def setUpClass(cls): super().setUpClass() From e7282fa23752bde379767f7337c778b35839465b Mon Sep 17 00:00:00 2001 From: oca-ci Date: Wed, 15 Apr 2026 16:14:16 +0000 Subject: [PATCH 17/21] [UPD] Update mail_template_attachment_per_lang.pot --- .../mail_template_attachment_per_lang.pot | 69 +------------------ 1 file changed, 2 insertions(+), 67 deletions(-) diff --git a/mail_template_attachment_per_lang/i18n/mail_template_attachment_per_lang.pot b/mail_template_attachment_per_lang/i18n/mail_template_attachment_per_lang.pot index e1d38f6cc7f..5f2c84a1ce2 100644 --- a/mail_template_attachment_per_lang/i18n/mail_template_attachment_per_lang.pot +++ b/mail_template_attachment_per_lang/i18n/mail_template_attachment_per_lang.pot @@ -1,10 +1,10 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: -# * mail_template_attachment_i18n +# * mail_template_attachment_per_lang # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 16.0\n" +"Project-Id-Version: Odoo Server 17.0\n" "Report-Msgid-Bugs-To: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,12 +13,6 @@ msgstr "" "Content-Transfer-Encoding: \n" "Plural-Forms: \n" -#. module: mail_template_attachment_per_lang -#: model:ir.model.fields,field_description:mail_template_attachment_per_lang.field_ir_attachment_language__assigned_attachment_ids -#: model:ir.model.fields,field_description:mail_template_attachment_per_lang.field_mail_template__assigned_attachment_ids -msgid "Assigned Attachments" -msgstr "" - #. module: mail_template_attachment_per_lang #: model:ir.model.fields,field_description:mail_template_attachment_per_lang.field_ir_attachment_language__attachment_id msgid "Attachment" @@ -29,36 +23,6 @@ msgstr "" msgid "Attachment Language" msgstr "" -#. module: mail_template_attachment_per_lang -#: model:ir.model.fields,field_description:mail_template_attachment_per_lang.field_ir_attachment_language__changeset_change_ids -#: model:ir.model.fields,field_description:mail_template_attachment_per_lang.field_mail_template__changeset_change_ids -msgid "Changeset Changes" -msgstr "" - -#. module: mail_template_attachment_per_lang -#: model:ir.model.fields,field_description:mail_template_attachment_per_lang.field_ir_attachment_language__changeset_ids -#: model:ir.model.fields,field_description:mail_template_attachment_per_lang.field_mail_template__changeset_ids -msgid "Changesets" -msgstr "" - -#. module: mail_template_attachment_per_lang -#: model:ir.model.fields,field_description:mail_template_attachment_per_lang.field_ir_attachment_language__count_changesets -#: model:ir.model.fields,field_description:mail_template_attachment_per_lang.field_mail_template__count_changesets -msgid "Count Changesets" -msgstr "" - -#. module: mail_template_attachment_per_lang -#: model:ir.model.fields,field_description:mail_template_attachment_per_lang.field_ir_attachment_language__count_pending_changeset_changes -#: model:ir.model.fields,field_description:mail_template_attachment_per_lang.field_mail_template__count_pending_changeset_changes -msgid "Count Pending Changeset Changes" -msgstr "" - -#. module: mail_template_attachment_per_lang -#: model:ir.model.fields,field_description:mail_template_attachment_per_lang.field_ir_attachment_language__count_pending_changesets -#: model:ir.model.fields,field_description:mail_template_attachment_per_lang.field_mail_template__count_pending_changesets -msgid "Count Pending Changesets" -msgstr "" - #. module: mail_template_attachment_per_lang #: model:ir.model.fields,field_description:mail_template_attachment_per_lang.field_ir_attachment_language__create_uid msgid "Created by" @@ -104,11 +68,6 @@ msgstr "" msgid "Language Dependent Attachments" msgstr "" -#. module: mail_template_attachment_per_lang -#: model:ir.model.fields,field_description:mail_template_attachment_per_lang.field_ir_attachment_language____last_update -msgid "Last Modified on" -msgstr "" - #. module: mail_template_attachment_per_lang #: model:ir.model.fields,field_description:mail_template_attachment_per_lang.field_ir_attachment_language__write_uid msgid "Last Updated by" @@ -144,27 +103,3 @@ msgstr "" #: model:ir.model.fields.selection,name:mail_template_attachment_per_lang.selection__mail_template__ir_attachment_language_method__template_lang msgid "Template Language" msgstr "" - -#. module: mail_template_attachment_per_lang -#: model:ir.model.fields,help:mail_template_attachment_per_lang.field_ir_attachment_language__count_pending_changeset_changes -#: model:ir.model.fields,help:mail_template_attachment_per_lang.field_mail_template__count_pending_changeset_changes -msgid "The number of pending changes of this record" -msgstr "" - -#. module: mail_template_attachment_per_lang -#: model:ir.model.fields,help:mail_template_attachment_per_lang.field_ir_attachment_language__count_pending_changesets -#: model:ir.model.fields,help:mail_template_attachment_per_lang.field_mail_template__count_pending_changesets -msgid "The number of pending changesets of this record" -msgstr "" - -#. module: mail_template_attachment_per_lang -#: model:ir.model.fields,help:mail_template_attachment_per_lang.field_ir_attachment_language__count_changesets -#: model:ir.model.fields,help:mail_template_attachment_per_lang.field_mail_template__count_changesets -msgid "The overall number of changesets of this record" -msgstr "" - -#. module: mail_template_attachment_per_lang -#: model:ir.model.fields,field_description:mail_template_attachment_per_lang.field_ir_attachment_language__user_can_see_changeset -#: model:ir.model.fields,field_description:mail_template_attachment_per_lang.field_mail_template__user_can_see_changeset -msgid "User Can See Changeset" -msgstr "" From c78ec2cb220106e9d53cf8e6b8fc7aa885762525 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Wed, 15 Apr 2026 16:21:11 +0000 Subject: [PATCH 18/21] [BOT] post-merge updates --- mail_template_attachment_per_lang/README.rst | 20 ++++++++----- .../static/description/index.html | 30 +++++++++++-------- 2 files changed, 30 insertions(+), 20 deletions(-) diff --git a/mail_template_attachment_per_lang/README.rst b/mail_template_attachment_per_lang/README.rst index d34f707d21e..4e95530b566 100644 --- a/mail_template_attachment_per_lang/README.rst +++ b/mail_template_attachment_per_lang/README.rst @@ -1,3 +1,7 @@ +.. image:: https://odoo-community.org/readme-banner-image + :target: https://odoo-community.org/get-involved?utm_source=readme + :alt: Odoo Community Association + =========================================== Mail Template Language Specific Attachments =========================================== @@ -7,13 +11,13 @@ Mail Template Language Specific Attachments !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:9063dbefbbb5c2cadc1fb5f77a822bb9ca5655e3709ffc549a4592d57273cce3 + !! source digest: sha256:a075fae834285057e4a0f26c055240e2bc3b4586363b66887e80386a793fd60f !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png :target: https://odoo-community.org/page/development-status :alt: Beta -.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png +.. |badge2| image:: https://img.shields.io/badge/license-AGPL--3-blue.png :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fserver--tools-lightgray.png?logo=github @@ -34,11 +38,11 @@ It allows you to configure attachments based on the language of the partner or the language configured in the mail template (which is some times different from the partner's language). -- The email template's language could be - ``{{ object.partner_id.lang }}`` or ``{{ object.user_id.lang }}``, - where in the first case we want to send the email in the partner's - language and in the second case we want to send the email in the - user's language. +- The email template's language could be + ``{{ object.partner_id.lang }}`` or ``{{ object.user_id.lang }}``, + where in the first case we want to send the email in the partner's + language and in the second case we want to send the email in the + user's language. For example you can use it to localize your company's terms of agreements. @@ -98,7 +102,7 @@ Authors Contributors ------------ -- Dennis Sluijk +- Dennis Sluijk Maintainers ----------- diff --git a/mail_template_attachment_per_lang/static/description/index.html b/mail_template_attachment_per_lang/static/description/index.html index 5f18b683bc9..8b3909817ef 100644 --- a/mail_template_attachment_per_lang/static/description/index.html +++ b/mail_template_attachment_per_lang/static/description/index.html @@ -3,7 +3,7 @@ -Mail Template Language Specific Attachments +README.rst -
    -

    Mail Template Language Specific Attachments

    +
    + + +Odoo Community Association + +
    +

    Mail Template Language Specific Attachments

    -

    Beta License: AGPL-3 OCA/server-tools Translate me on Weblate Try me on Runboat

    +

    Beta License: AGPL-3 OCA/server-tools Translate me on Weblate Try me on Runboat

    This module extends the functionality of mail templates.

    It allows you to configure attachments based on the language of the partner or the language configured in the mail template (which is some @@ -398,7 +403,7 @@

    Mail Template Language Specific Attachments

    -

    Configuration

    +

    Configuration

    To configure a language dependent attachment:

    1. Activate the developer mode;
    2. @@ -409,7 +414,7 @@

      Configuration

    -

    Usage

    +

    Usage

    When a template is selected in the mail composer, the attachments will be automatically added based on the recipients language. The language of the recipients can be configured on the Partner form view. When partners @@ -426,7 +431,7 @@

    Usage

    -

    Bug Tracker

    +

    Bug Tracker

    Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed @@ -434,21 +439,21 @@

    Bug Tracker

    Do not contact contributors directly about support or help with technical issues.

    +
    From 4e0cd7db9f00ed43fbf72c69e3dc2b8f09549298 Mon Sep 17 00:00:00 2001 From: LauraCForgeFlow Date: Thu, 16 Apr 2026 08:30:41 +0200 Subject: [PATCH 19/21] [MIG] mail_template_attachment_i18n: Migration to 18.0 --- mail_template_attachment_per_lang/README.rst | 28 +++++++--------- .../__manifest__.py | 2 +- .../security/ir.model.access.csv | 2 +- .../static/description/index.html | 32 ++++++++----------- .../views/mail_template_view.xml | 6 ++-- 5 files changed, 30 insertions(+), 40 deletions(-) diff --git a/mail_template_attachment_per_lang/README.rst b/mail_template_attachment_per_lang/README.rst index 4e95530b566..3330af62ad0 100644 --- a/mail_template_attachment_per_lang/README.rst +++ b/mail_template_attachment_per_lang/README.rst @@ -1,7 +1,3 @@ -.. image:: https://odoo-community.org/readme-banner-image - :target: https://odoo-community.org/get-involved?utm_source=readme - :alt: Odoo Community Association - =========================================== Mail Template Language Specific Attachments =========================================== @@ -17,17 +13,17 @@ Mail Template Language Specific Attachments .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png :target: https://odoo-community.org/page/development-status :alt: Beta -.. |badge2| image:: https://img.shields.io/badge/license-AGPL--3-blue.png +.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fserver--tools-lightgray.png?logo=github - :target: https://github.com/OCA/server-tools/tree/17.0/mail_template_attachment_per_lang + :target: https://github.com/OCA/server-tools/tree/18.0/mail_template_attachment_per_lang :alt: OCA/server-tools .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/server-tools-17-0/server-tools-17-0-mail_template_attachment_per_lang + :target: https://translation.odoo-community.org/projects/server-tools-18-0/server-tools-18-0-mail_template_attachment_per_lang :alt: Translate me on Weblate .. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png - :target: https://runboat.odoo-community.org/builds?repo=OCA/server-tools&target_branch=17.0 + :target: https://runboat.odoo-community.org/builds?repo=OCA/server-tools&target_branch=18.0 :alt: Try me on Runboat |badge1| |badge2| |badge3| |badge4| |badge5| @@ -38,11 +34,11 @@ It allows you to configure attachments based on the language of the partner or the language configured in the mail template (which is some times different from the partner's language). -- The email template's language could be - ``{{ object.partner_id.lang }}`` or ``{{ object.user_id.lang }}``, - where in the first case we want to send the email in the partner's - language and in the second case we want to send the email in the - user's language. +- The email template's language could be + ``{{ object.partner_id.lang }}`` or ``{{ object.user_id.lang }}``, + where in the first case we want to send the email in the partner's + language and in the second case we want to send the email in the + user's language. For example you can use it to localize your company's terms of agreements. @@ -87,7 +83,7 @@ Bug Tracker Bugs are tracked on `GitHub Issues `_. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed -`feedback `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -102,7 +98,7 @@ Authors Contributors ------------ -- Dennis Sluijk +- Dennis Sluijk Maintainers ----------- @@ -117,6 +113,6 @@ 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. -This module is part of the `OCA/server-tools `_ project on GitHub. +This module is part of the `OCA/server-tools `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/mail_template_attachment_per_lang/__manifest__.py b/mail_template_attachment_per_lang/__manifest__.py index c6b6afb5e23..e851e8508b5 100644 --- a/mail_template_attachment_per_lang/__manifest__.py +++ b/mail_template_attachment_per_lang/__manifest__.py @@ -4,7 +4,7 @@ "author": "Onestein,Odoo Community Association (OCA)", "website": "https://github.com/OCA/server-tools", "category": "Localization", - "version": "17.0.1.0.0", + "version": "18.0.1.0.0", "license": "AGPL-3", "depends": ["mail"], "data": ["views/mail_template_view.xml", "security/ir.model.access.csv"], diff --git a/mail_template_attachment_per_lang/security/ir.model.access.csv b/mail_template_attachment_per_lang/security/ir.model.access.csv index 04a776e37d9..f9165283363 100644 --- a/mail_template_attachment_per_lang/security/ir.model.access.csv +++ b/mail_template_attachment_per_lang/security/ir.model.access.csv @@ -1,3 +1,3 @@ id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink access_attachment_language_admin,ir.attachment.language admin,model_ir_attachment_language,base.group_no_one,1,1,1,1 -access_attachment_language_everyone,ir.attachment.language everyone,model_ir_attachment_language,,1,0,0,0 +access_attachment_language_everyone,ir.attachment.language everyone,model_ir_attachment_language,base.group_user,1,0,0,0 diff --git a/mail_template_attachment_per_lang/static/description/index.html b/mail_template_attachment_per_lang/static/description/index.html index 8b3909817ef..162696493bb 100644 --- a/mail_template_attachment_per_lang/static/description/index.html +++ b/mail_template_attachment_per_lang/static/description/index.html @@ -3,7 +3,7 @@ -README.rst +Mail Template Language Specific Attachments -
    +
    +

    Mail Template Language Specific Attachments

    - - -Odoo Community Association - -
    -

    Mail Template Language Specific Attachments

    -

    Beta License: AGPL-3 OCA/server-tools Translate me on Weblate Try me on Runboat

    +

    Beta License: AGPL-3 OCA/server-tools Translate me on Weblate Try me on Runboat

    This module extends the functionality of mail templates.

    It allows you to configure attachments based on the language of the partner or the language configured in the mail template (which is some @@ -403,7 +398,7 @@

    Mail Template Language Specific Attachments

    -

    Configuration

    +

    Configuration

    To configure a language dependent attachment:

    1. Activate the developer mode;
    2. @@ -414,7 +409,7 @@

      Configuration

    -

    Usage

    +

    Usage

    When a template is selected in the mail composer, the attachments will be automatically added based on the recipients language. The language of the recipients can be configured on the Partner form view. When partners @@ -431,29 +426,29 @@

    Usage

    -

    Bug Tracker

    +

    Bug Tracker

    Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed -feedback.

    +feedback.

    Do not contact contributors directly about support or help with technical issues.

    -

    Credits

    +

    Credits

    -

    Authors

    +

    Authors

    • Onestein
    -

    Maintainers

    +

    Maintainers

    This module is maintained by the OCA.

    Odoo Community Association @@ -461,11 +456,10 @@

    Maintainers

    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.

    -

    This module is part of the OCA/server-tools project on GitHub.

    +

    This module is part of the OCA/server-tools project on GitHub.

    You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

    -
    diff --git a/mail_template_attachment_per_lang/views/mail_template_view.xml b/mail_template_attachment_per_lang/views/mail_template_view.xml index 45a9207f2ce..e4289f7a7b4 100644 --- a/mail_template_attachment_per_lang/views/mail_template_view.xml +++ b/mail_template_attachment_per_lang/views/mail_template_view.xml @@ -7,7 +7,7 @@ mail.template - + - + - + From 75386305be5bafeecd8fb881edd26dc20c6fa43f Mon Sep 17 00:00:00 2001 From: oca-ci Date: Thu, 16 Apr 2026 06:51:44 +0000 Subject: [PATCH 20/21] [UPD] Update mail_template_attachment_per_lang.pot --- .../i18n/mail_template_attachment_per_lang.pot | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/mail_template_attachment_per_lang/i18n/mail_template_attachment_per_lang.pot b/mail_template_attachment_per_lang/i18n/mail_template_attachment_per_lang.pot index 5f2c84a1ce2..7ba6227f94d 100644 --- a/mail_template_attachment_per_lang/i18n/mail_template_attachment_per_lang.pot +++ b/mail_template_attachment_per_lang/i18n/mail_template_attachment_per_lang.pot @@ -4,7 +4,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 17.0\n" +"Project-Id-Version: Odoo Server 18.0\n" "Report-Msgid-Bugs-To: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,6 +13,12 @@ msgstr "" "Content-Transfer-Encoding: \n" "Plural-Forms: \n" +#. module: mail_template_attachment_per_lang +#: model:ir.model.fields,field_description:mail_template_attachment_per_lang.field_ir_attachment_language__assigned_attachment_ids +#: model:ir.model.fields,field_description:mail_template_attachment_per_lang.field_mail_template__assigned_attachment_ids +msgid "Assigned Attachments" +msgstr "" + #. module: mail_template_attachment_per_lang #: model:ir.model.fields,field_description:mail_template_attachment_per_lang.field_ir_attachment_language__attachment_id msgid "Attachment" From 0f6b7ede690b3bf13e79d01da0c0f0b2f660aca7 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Thu, 16 Apr 2026 06:59:27 +0000 Subject: [PATCH 21/21] [BOT] post-merge updates --- README.md | 1 + mail_template_attachment_per_lang/README.rst | 20 ++++++++----- .../static/description/index.html | 30 +++++++++++-------- setup/_metapackage/pyproject.toml | 3 +- 4 files changed, 33 insertions(+), 21 deletions(-) diff --git a/README.md b/README.md index df6a45eb1ab..fc987dc5750 100644 --- a/README.md +++ b/README.md @@ -57,6 +57,7 @@ addon | version | maintainers | summary [iap_alternative_provider](iap_alternative_provider/) | 18.0.1.0.0 | sebastienbeau | Base module for providing alternative provider for iap apps [jsonifier](jsonifier/) | 18.0.1.1.1 | | JSON-ify data for all models [mail_cleanup](mail_cleanup/) | 18.0.1.0.1 | | Mark as read or delete mails after a set time +[mail_template_attachment_per_lang](mail_template_attachment_per_lang/) | 18.0.1.0.0 | | Set language specific attachments on mail templates. [module_analysis](module_analysis/) | 18.0.1.0.0 | legalsylvain | Add analysis tools regarding installed modules to know which installed modules comes from Odoo Core, OCA, or are custom modules [module_auto_update](module_auto_update/) | 18.0.1.0.1 | | Automatically update Odoo modules [module_change_auto_install](module_change_auto_install/) | 18.0.1.0.3 | legalsylvain | Customize auto installables modules by configuration diff --git a/mail_template_attachment_per_lang/README.rst b/mail_template_attachment_per_lang/README.rst index 3330af62ad0..1c571fb7fb4 100644 --- a/mail_template_attachment_per_lang/README.rst +++ b/mail_template_attachment_per_lang/README.rst @@ -1,3 +1,7 @@ +.. image:: https://odoo-community.org/readme-banner-image + :target: https://odoo-community.org/get-involved?utm_source=readme + :alt: Odoo Community Association + =========================================== Mail Template Language Specific Attachments =========================================== @@ -7,13 +11,13 @@ Mail Template Language Specific Attachments !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:a075fae834285057e4a0f26c055240e2bc3b4586363b66887e80386a793fd60f + !! source digest: sha256:48a30015aed45027d43b8abe2ba76648ce9f17b4b16a6e56bb9d45e931f9e7a7 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png :target: https://odoo-community.org/page/development-status :alt: Beta -.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png +.. |badge2| image:: https://img.shields.io/badge/license-AGPL--3-blue.png :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fserver--tools-lightgray.png?logo=github @@ -34,11 +38,11 @@ It allows you to configure attachments based on the language of the partner or the language configured in the mail template (which is some times different from the partner's language). -- The email template's language could be - ``{{ object.partner_id.lang }}`` or ``{{ object.user_id.lang }}``, - where in the first case we want to send the email in the partner's - language and in the second case we want to send the email in the - user's language. +- The email template's language could be + ``{{ object.partner_id.lang }}`` or ``{{ object.user_id.lang }}``, + where in the first case we want to send the email in the partner's + language and in the second case we want to send the email in the + user's language. For example you can use it to localize your company's terms of agreements. @@ -98,7 +102,7 @@ Authors Contributors ------------ -- Dennis Sluijk +- Dennis Sluijk Maintainers ----------- diff --git a/mail_template_attachment_per_lang/static/description/index.html b/mail_template_attachment_per_lang/static/description/index.html index 162696493bb..8b164db945e 100644 --- a/mail_template_attachment_per_lang/static/description/index.html +++ b/mail_template_attachment_per_lang/static/description/index.html @@ -3,7 +3,7 @@ -Mail Template Language Specific Attachments +README.rst -
    -

    Mail Template Language Specific Attachments

    +
    + + +Odoo Community Association + +
    +

    Mail Template Language Specific Attachments

    -

    Beta License: AGPL-3 OCA/server-tools Translate me on Weblate Try me on Runboat

    +

    Beta License: AGPL-3 OCA/server-tools Translate me on Weblate Try me on Runboat

    This module extends the functionality of mail templates.

    It allows you to configure attachments based on the language of the partner or the language configured in the mail template (which is some @@ -398,7 +403,7 @@

    Mail Template Language Specific Attachments

    -

    Configuration

    +

    Configuration

    To configure a language dependent attachment:

    1. Activate the developer mode;
    2. @@ -409,7 +414,7 @@

      Configuration

    -

    Usage

    +

    Usage

    When a template is selected in the mail composer, the attachments will be automatically added based on the recipients language. The language of the recipients can be configured on the Partner form view. When partners @@ -426,7 +431,7 @@

    Usage

    -

    Bug Tracker

    +

    Bug Tracker

    Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed @@ -434,21 +439,21 @@

    Bug Tracker

    Do not contact contributors directly about support or help with technical issues.

    +
    diff --git a/setup/_metapackage/pyproject.toml b/setup/_metapackage/pyproject.toml index 0be731917fc..c6edf428663 100644 --- a/setup/_metapackage/pyproject.toml +++ b/setup/_metapackage/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "odoo-addons-oca-server-tools" -version = "18.0.20260306.0" +version = "18.0.20260416.0" dependencies = [ "odoo-addon-attachment_delete_restrict==18.0.*", "odoo-addon-attachment_queue==18.0.*", @@ -38,6 +38,7 @@ dependencies = [ "odoo-addon-iap_alternative_provider==18.0.*", "odoo-addon-jsonifier==18.0.*", "odoo-addon-mail_cleanup==18.0.*", + "odoo-addon-mail_template_attachment_per_lang==18.0.*", "odoo-addon-module_analysis==18.0.*", "odoo-addon-module_auto_update==18.0.*", "odoo-addon-module_change_auto_install==18.0.*",