Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[ADD] mail_template_attachment_i18n: Mail Template Language Dependent…
… Attachments (#1367)
- Loading branch information
1 parent
1bc7158
commit 82d3442
Showing
19 changed files
with
397 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 <https://github.com/OCA/server-tools/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 <https://github.com/OCA/server-tools/issues/new?body=module:%20mail_template_attachment_i18n%0Aversion:%2011.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_. | ||
|
||
Do not contact contributors directly about support or help with technical issues. | ||
|
||
Credits | ||
======= | ||
|
||
Authors | ||
~~~~~~~ | ||
|
||
* Onestein | ||
|
||
Contributors | ||
~~~~~~~~~~~~ | ||
|
||
* Dennis Sluijk <d.sluijk@onestein.nl> | ||
|
||
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 <https://github.com/OCA/server-tools/tree/11.0/mail_template_attachment_i18n>`_ project on GitHub. | ||
|
||
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
from . import models |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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, | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
from . import ir_attachment_language | ||
from . import mail_template |
28 changes: 28 additions & 0 deletions
28
mail_template_attachment_i18n/models/ir_attachment_language.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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', | ||
) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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]] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
* Dennis Sluijk <d.sluijk@onestein.nl> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 |
23 changes: 23 additions & 0 deletions
23
mail_template_attachment_i18n/views/mail_template_view.xml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
<?xml version="1.0" encoding="utf-8"?> | ||
<!-- Copyright 2018 Onestein | ||
License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). --> | ||
|
||
<odoo> | ||
<record id="mail_template_form" model="ir.ui.view"> | ||
<field name="name">mail.template.form</field> | ||
<field name="model">mail.template</field> | ||
<field name="inherit_id" ref="mail.email_template_form"/> | ||
<field name="arch" type="xml"> | ||
<xpath expr="//field[@name='attachment_ids']" position="after"> | ||
<group> | ||
<field name="ir_attachment_language_ids"> | ||
<tree editable="top"> | ||
<field name="lang" /> | ||
<field name="attachment_id" domain="[('type', '=', 'binary')]" /> | ||
</tree> | ||
</field> | ||
</group> | ||
</xpath> | ||
</field> | ||
</record> | ||
</odoo> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,74 @@ | ||
======================================== | ||
Tests for mail_template_attachment_i18n | ||
======================================== | ||
|
||
.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | ||
!! 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/test_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-test_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| | ||
|
||
Tests for mail_template_attachment_i18n. | ||
This module exists to avoid a weird dependency in mail_template_attachment_i18n to the sale module. | ||
|
||
**Table of contents** | ||
|
||
.. contents:: | ||
:local: | ||
|
||
Bug Tracker | ||
=========== | ||
|
||
Bugs are tracked on `GitHub Issues <https://github.com/OCA/server-tools/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 <https://github.com/OCA/server-tools/issues/new?body=module:%20test_mail_template_attachment_i18n%0Aversion:%2011.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_. | ||
|
||
Do not contact contributors directly about support or help with technical issues. | ||
|
||
Credits | ||
======= | ||
|
||
Authors | ||
~~~~~~~ | ||
|
||
* Onestein | ||
|
||
Contributors | ||
~~~~~~~~~~~~ | ||
|
||
* Dennis Sluijk <d.sluijk@onestein.nl> | ||
|
||
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 <https://github.com/OCA/server-tools/tree/11.0/test_mail_template_attachment_i18n>`_ project on GitHub. | ||
|
||
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. |
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
{ | ||
'name': ' Tests for mail_template_attachment_i18n', | ||
'summary': 'Test suite for mail_template_attachment_i18n.', | ||
'author': 'Onestein,Odoo Community Association (OCA)', | ||
'website': 'https://github.com/oca/server-tools', | ||
'category': 'Generic Modules', | ||
'version': '11.0.1.0.0', | ||
'license': 'AGPL-3', | ||
'depends': [ | ||
'mail_template_attachment_i18n', | ||
'sale' | ||
], | ||
'installable': True, | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
* Dennis Sluijk <d.sluijk@onestein.nl> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
Tests for mail_template_attachment_i18n. | ||
This module exists to avoid a weird dependency in mail_template_attachment_i18n to the sale module. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
from . import test_attaching_by_language |
Oops, something went wrong.