From e3938387d759d5f052f092944b9e67db4e9a1820 Mon Sep 17 00:00:00 2001 From: "Adrien Peiffer (ACSONE)" Date: Mon, 17 Aug 2015 10:44:04 +0200 Subject: [PATCH 01/42] [IMP][mail_attach_existing_attachment] Change module name --- mail_attach_existing_attachment/README.rst | 68 ++++++++++++++++++ mail_attach_existing_attachment/__init__.py | 2 + .../__openerp__.py | 41 +++++++++++ mail_attach_existing_attachment/i18n/pt_BR.po | 34 +++++++++ mail_attach_existing_attachment/i18n/sl.po | 34 +++++++++ .../static/description/attachment.png | Bin 0 -> 8492 bytes .../description/ex_mail_compose_message.png | Bin 0 -> 54406 bytes .../tests/__init__.py | 3 + .../test_mail_attach_existing_attachment.py | 49 +++++++++++++ .../wizard/__init__.py | 2 + .../wizard/mail_compose_message.py | 57 +++++++++++++++ .../wizard/mail_compose_message_view.xml | 19 +++++ 12 files changed, 309 insertions(+) create mode 100644 mail_attach_existing_attachment/README.rst create mode 100644 mail_attach_existing_attachment/__init__.py create mode 100644 mail_attach_existing_attachment/__openerp__.py create mode 100644 mail_attach_existing_attachment/i18n/pt_BR.po create mode 100644 mail_attach_existing_attachment/i18n/sl.po create mode 100644 mail_attach_existing_attachment/static/description/attachment.png create mode 100644 mail_attach_existing_attachment/static/description/ex_mail_compose_message.png create mode 100644 mail_attach_existing_attachment/tests/__init__.py create mode 100644 mail_attach_existing_attachment/tests/test_mail_attach_existing_attachment.py create mode 100644 mail_attach_existing_attachment/wizard/__init__.py create mode 100644 mail_attach_existing_attachment/wizard/mail_compose_message.py create mode 100644 mail_attach_existing_attachment/wizard/mail_compose_message_view.xml diff --git a/mail_attach_existing_attachment/README.rst b/mail_attach_existing_attachment/README.rst new file mode 100644 index 000000000..50784be07 --- /dev/null +++ b/mail_attach_existing_attachment/README.rst @@ -0,0 +1,68 @@ +.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg + :alt: License: AGPL-3 + +Mail Attach Existing Attachment +=============================== + +This module was written to add the possibility to add attachments located on +the object by sending it by email with the mail compose message wizard + +Installation +============ + +To install this module, you need to: + +* Click on install + +Usage +===== + +To configure this module, you need to: + +* Adding some attachments on an object + +.. figure:: static/description/attachment.png + :alt: Attachment on purchase order + +* Then, by sending the object via email, you can select the attachment added earlier + +.. figure:: static/description/ex_mail_compose_message.png + :alt: Sends the Purchase Order by email + +.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas + :alt: Try me on Runbot + :target: https://runbot.odoo-community.org/runbot/205/8.0 + +Known issues / Roadmap +====================== + +* The module only allows the addition of attachments linked to the object. + +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 +`here `_. + +Credits +======= + +Contributors +------------ + +* Adrien Peiffer + +Maintainer +---------- + +.. image:: http://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: http://odoo-community.org + +This module is maintained by the OCA. + +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. + +To contribute to this module, please visit http://odoo-community.org. \ No newline at end of file diff --git a/mail_attach_existing_attachment/__init__.py b/mail_attach_existing_attachment/__init__.py new file mode 100644 index 000000000..02baef47b --- /dev/null +++ b/mail_attach_existing_attachment/__init__.py @@ -0,0 +1,2 @@ +# -*- coding: utf-8 -*- +from . import wizard diff --git a/mail_attach_existing_attachment/__openerp__.py b/mail_attach_existing_attachment/__openerp__.py new file mode 100644 index 000000000..7ec7bbb63 --- /dev/null +++ b/mail_attach_existing_attachment/__openerp__.py @@ -0,0 +1,41 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# This file is part of mail_attach_existing_attachment, +# an Odoo module. +# +# Copyright (c) 2015 ACSONE SA/NV () +# +# mail_attach_existing_attachment is free software: +# you can redistribute it and/or modify it under the terms of the GNU +# Affero General Public License as published by the Free Software +# Foundation,either version 3 of the License, or (at your option) any +# later version. +# +# mail_attach_existing_attachment is distributed +# in the hope that it will be useful, but WITHOUT ANY WARRANTY; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with mail_attach_existing_attachment. +# If not, see . +# +############################################################################## +{ + 'name': "Mail Attach Existing Attachment", + 'summary': """ + Adding attachment on the object by sending this one""", + 'author': "ACSONE SA/NV,Odoo Community Association (OCA)", + 'website': "http://acsone.eu", + 'category': 'Social Network', + 'version': '8.0.1.0.0', + 'license': 'AGPL-3', + 'depends': [ + 'mail', + 'document', + ], + 'data': [ + 'wizard/mail_compose_message_view.xml', + ], +} diff --git a/mail_attach_existing_attachment/i18n/pt_BR.po b/mail_attach_existing_attachment/i18n/pt_BR.po new file mode 100644 index 000000000..b74de819e --- /dev/null +++ b/mail_attach_existing_attachment/i18n/pt_BR.po @@ -0,0 +1,34 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mail_attach_existing_attachment +# +# Translators: +# Armando Vulcano Junior , 2015 +msgid "" +msgstr "" +"Project-Id-Version: social (8.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-09-30 16:56+0000\n" +"PO-Revision-Date: 2015-09-18 19:58+0000\n" +"Last-Translator: Armando Vulcano Junior \n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/oca/OCA-social-8-0/language/pt_BR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: pt_BR\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: mail_attach_existing_attachment +#: field:mail.compose.message,object_attachment_ids:0 +msgid "Attachments" +msgstr "Anexos" + +#. module: mail_attach_existing_attachment +#: field:mail.compose.message,can_attach_attachment:0 +msgid "Can Attach Attachment" +msgstr "Pode Anexar Anexo" + +#. module: mail_attach_existing_attachment +#: model:ir.model,name:mail_attach_existing_attachment.model_mail_compose_message +msgid "Email composition wizard" +msgstr "Assistente de Composição de Email" diff --git a/mail_attach_existing_attachment/i18n/sl.po b/mail_attach_existing_attachment/i18n/sl.po new file mode 100644 index 000000000..2f00e5d21 --- /dev/null +++ b/mail_attach_existing_attachment/i18n/sl.po @@ -0,0 +1,34 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mail_attach_existing_attachment +# +# Translators: +# Matjaž Mozetič , 2015 +msgid "" +msgstr "" +"Project-Id-Version: social (8.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-09-04 14:42+0000\n" +"PO-Revision-Date: 2015-09-07 14:25+0000\n" +"Last-Translator: Matjaž Mozetič \n" +"Language-Team: Slovenian (http://www.transifex.com/oca/OCA-social-8-0/language/sl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: sl\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" + +#. module: mail_attach_existing_attachment +#: field:mail.compose.message,object_attachment_ids:0 +msgid "Attachments" +msgstr "Priponke" + +#. module: mail_attach_existing_attachment +#: field:mail.compose.message,can_attach_attachment:0 +msgid "Can Attach Attachment" +msgstr "Lahko pripenja priponke" + +#. module: mail_attach_existing_attachment +#: model:ir.model,name:mail_attach_existing_attachment.model_mail_compose_message +msgid "Email composition wizard" +msgstr "Čarovnik za sestavljanje e-pošte" diff --git a/mail_attach_existing_attachment/static/description/attachment.png b/mail_attach_existing_attachment/static/description/attachment.png new file mode 100644 index 0000000000000000000000000000000000000000..15e101e16880087442bb75203733f735e416a40d GIT binary patch literal 8492 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 Zg!zQgYWP}Temt2ED9WkIR!W-%{}0yJhUWkP literal 0 HcmV?d00001 diff --git a/mail_attach_existing_attachment/static/description/ex_mail_compose_message.png b/mail_attach_existing_attachment/static/description/ex_mail_compose_message.png new file mode 100644 index 0000000000000000000000000000000000000000..5742434efcc37a251e83deeb58b9f32caa1f2cc1 GIT binary patch literal 54406 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 +# +# mail_attach_existing_attachment is free software: +# you can redistribute it and/or modify it under the terms of the GNU +# Affero General Public License as published by the Free Software +# Foundation,either version 3 of the License, or (at your option) any +# later version. +# +# mail_attach_existing_attachment is distributed +# in the hope that it will be useful, but WITHOUT ANY WARRANTY; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with mail_attach_existing_attachment. +# If not, see . +# +############################################################################## + +from openerp.tests import common + + +class TestAttachExistingAttachment(common.TransactionCase): + + def setUp(self): + super(TestAttachExistingAttachment, self).setUp() + self.partner_obj = self.env['res.partner'] + self.partner_01 = self.env.ref('base.res_partner_1') + + def test_send_email_attachment(self): + attach1 = self.env['ir.attachment'].create({ + 'name': 'Attach1', 'datas_fname': 'Attach1', + 'datas': 'bWlncmF0aW9uIHRlc3Q=', + 'res_model': 'res.partner', 'res_id': self.partner_01.id}) + vals = {'model': 'res.partner', + 'partner_ids': [(6, 0, [self.partner_01.id])], + 'res_id': self.partner_01.id, + 'object_attachment_ids': [(6, 0, [attach1.id])] + } + mail = self.env['mail.compose.message'].create(vals) + values = mail.get_mail_values(mail, [self.partner_01.id]) + self.assertTrue(attach1.id in + values[self.partner_01.id]['attachment_ids']) diff --git a/mail_attach_existing_attachment/wizard/__init__.py b/mail_attach_existing_attachment/wizard/__init__.py new file mode 100644 index 000000000..12ddb2dc7 --- /dev/null +++ b/mail_attach_existing_attachment/wizard/__init__.py @@ -0,0 +1,2 @@ +# -*- coding: utf-8 -*- +from . import mail_compose_message diff --git a/mail_attach_existing_attachment/wizard/mail_compose_message.py b/mail_attach_existing_attachment/wizard/mail_compose_message.py new file mode 100644 index 000000000..4c7d43f30 --- /dev/null +++ b/mail_attach_existing_attachment/wizard/mail_compose_message.py @@ -0,0 +1,57 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# This file is part of mail_attach_existing_attachment, +# an Odoo module. +# +# Copyright (c) 2015 ACSONE SA/NV () +# +# mail_attach_existing_attachment is free software: +# you can redistribute it and/or modify it under the terms of the GNU +# Affero General Public License as published by the Free Software +# Foundation,either version 3 of the License, or (at your option) any +# later version. +# +# mail_attach_existing_attachment is distributed +# in the hope that it will be useful, but WITHOUT ANY WARRANTY; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with mail_attach_existing_attachment. +# If not, see . +# +############################################################################## + +from openerp import models, fields, api + + +class MailComposeMessage(models.TransientModel): + _inherit = 'mail.compose.message' + + @api.model + def default_get(self, fields_list): + res = super(MailComposeMessage, self).default_get(fields_list) + if res.get('res_id') and res.get('model') and \ + res.get('composition_mode', '') != 'mass_mail' and\ + not res.get('can_attach_attachment'): + res['can_attach_attachment'] = True + return res + + can_attach_attachment = fields.Boolean(string='Can Attach Attachment') + object_attachment_ids = fields.Many2many( + comodel_name='ir.attachment', + relation='mail_compose_message_ir_attachments_object_rel', + column1='wizard_id', column2='attachment_id', string='Attachments') + + @api.model + def get_mail_values(self, wizard, res_ids): + res = super(MailComposeMessage, self).get_mail_values(wizard, res_ids) + if wizard.object_attachment_ids.ids and wizard.model and\ + len(res_ids) == 1: + for res_id in res_ids: + if not res[res_id].get('attachment_ids'): + res[res_id]['attachment_ids'] = [] + res[res_id]['attachment_ids'].extend( + wizard.object_attachment_ids.ids) + return res diff --git a/mail_attach_existing_attachment/wizard/mail_compose_message_view.xml b/mail_attach_existing_attachment/wizard/mail_compose_message_view.xml new file mode 100644 index 000000000..aa10025b9 --- /dev/null +++ b/mail_attach_existing_attachment/wizard/mail_compose_message_view.xml @@ -0,0 +1,19 @@ + + + + + mail.compose.message.form (mail_attach_existing_attachment) + mail.compose.message + + + + +
+
+ +
+
+
+
+
+
\ No newline at end of file From 49f1f21694131572f2076010dc97d39b6879964a Mon Sep 17 00:00:00 2001 From: Sergio Teruel Albert Date: Mon, 13 Jun 2016 01:54:13 +0200 Subject: [PATCH 02/42] [MIG][9.0] mail_attach_existing_attachment: Module migrated (#68) * [MIG][9.0] mail_attach_existing_attachment: Module migrated --- mail_attach_existing_attachment/README.rst | 13 +++---- .../__openerp__.py | 7 ++-- mail_attach_existing_attachment/i18n/ca.po | 33 +++++++++++++++++ mail_attach_existing_attachment/i18n/de.po | 33 +++++++++++++++++ mail_attach_existing_attachment/i18n/es.po | 33 +++++++++++++++++ mail_attach_existing_attachment/i18n/es_CO.po | 33 +++++++++++++++++ mail_attach_existing_attachment/i18n/fr.po | 33 +++++++++++++++++ mail_attach_existing_attachment/i18n/hr.po | 34 ++++++++++++++++++ mail_attach_existing_attachment/i18n/pt_BR.po | 14 ++++---- mail_attach_existing_attachment/i18n/sl.po | 14 ++++---- mail_attach_existing_attachment/i18n/zh_CN.po | 34 ++++++++++++++++++ .../static/description/icon.png | Bin 0 -> 4773 bytes .../test_mail_attach_existing_attachment.py | 2 +- .../wizard/mail_compose_message.py | 18 ++++------ 14 files changed, 267 insertions(+), 34 deletions(-) create mode 100644 mail_attach_existing_attachment/i18n/ca.po create mode 100644 mail_attach_existing_attachment/i18n/de.po create mode 100644 mail_attach_existing_attachment/i18n/es.po create mode 100644 mail_attach_existing_attachment/i18n/es_CO.po create mode 100644 mail_attach_existing_attachment/i18n/fr.po create mode 100644 mail_attach_existing_attachment/i18n/hr.po create mode 100644 mail_attach_existing_attachment/i18n/zh_CN.po create mode 100644 mail_attach_existing_attachment/static/description/icon.png diff --git a/mail_attach_existing_attachment/README.rst b/mail_attach_existing_attachment/README.rst index 50784be07..d81fb5879 100644 --- a/mail_attach_existing_attachment/README.rst +++ b/mail_attach_existing_attachment/README.rst @@ -31,7 +31,7 @@ To configure this module, you need to: .. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas :alt: Try me on Runbot - :target: https://runbot.odoo-community.org/runbot/205/8.0 + :target: https://runbot.odoo-community.org/runbot/205/9.0 Known issues / Roadmap ====================== @@ -41,10 +41,10 @@ Known issues / Roadmap 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 -`here `_. +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. Credits ======= @@ -53,6 +53,7 @@ Contributors ------------ * Adrien Peiffer +* Sergio Teruel Maintainer ---------- @@ -65,4 +66,4 @@ This module is maintained by the OCA. 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. -To contribute to this module, please visit http://odoo-community.org. \ No newline at end of file +To contribute to this module, please visit http://odoo-community.org. diff --git a/mail_attach_existing_attachment/__openerp__.py b/mail_attach_existing_attachment/__openerp__.py index 7ec7bbb63..58f1642dd 100644 --- a/mail_attach_existing_attachment/__openerp__.py +++ b/mail_attach_existing_attachment/__openerp__.py @@ -26,10 +26,12 @@ 'name': "Mail Attach Existing Attachment", 'summary': """ Adding attachment on the object by sending this one""", - 'author': "ACSONE SA/NV,Odoo Community Association (OCA)", + 'author': "ACSONE SA/NV," + "Tecnativa," + "Odoo Community Association (OCA)", 'website': "http://acsone.eu", 'category': 'Social Network', - 'version': '8.0.1.0.0', + 'version': '9.0.1.0.0', 'license': 'AGPL-3', 'depends': [ 'mail', @@ -38,4 +40,5 @@ 'data': [ 'wizard/mail_compose_message_view.xml', ], + 'installable': True, } diff --git a/mail_attach_existing_attachment/i18n/ca.po b/mail_attach_existing_attachment/i18n/ca.po new file mode 100644 index 000000000..f5334acad --- /dev/null +++ b/mail_attach_existing_attachment/i18n/ca.po @@ -0,0 +1,33 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mail_attach_existing_attachment +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: social (9.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-06-13 02:44+0000\n" +"PO-Revision-Date: 2016-06-12 23:57+0000\n" +"Last-Translator: <>\n" +"Language-Team: Catalan (http://www.transifex.com/oca/OCA-social-9-0/language/ca/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: ca\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message_object_attachment_ids +msgid "Attachments" +msgstr "" + +#. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message_can_attach_attachment +msgid "Can Attach Attachment" +msgstr "" + +#. module: mail_attach_existing_attachment +#: model:ir.model,name:mail_attach_existing_attachment.model_mail_compose_message +msgid "Email composition wizard" +msgstr "Assistent per composició de correus electrònics" diff --git a/mail_attach_existing_attachment/i18n/de.po b/mail_attach_existing_attachment/i18n/de.po new file mode 100644 index 000000000..98e6791e8 --- /dev/null +++ b/mail_attach_existing_attachment/i18n/de.po @@ -0,0 +1,33 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mail_attach_existing_attachment +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: social (9.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-06-13 02:44+0000\n" +"PO-Revision-Date: 2016-06-12 23:57+0000\n" +"Last-Translator: <>\n" +"Language-Team: German (http://www.transifex.com/oca/OCA-social-9-0/language/de/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: de\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message_object_attachment_ids +msgid "Attachments" +msgstr "" + +#. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message_can_attach_attachment +msgid "Can Attach Attachment" +msgstr "" + +#. module: mail_attach_existing_attachment +#: model:ir.model,name:mail_attach_existing_attachment.model_mail_compose_message +msgid "Email composition wizard" +msgstr "Assistent zum Email verfassen" diff --git a/mail_attach_existing_attachment/i18n/es.po b/mail_attach_existing_attachment/i18n/es.po new file mode 100644 index 000000000..3db638d9c --- /dev/null +++ b/mail_attach_existing_attachment/i18n/es.po @@ -0,0 +1,33 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mail_attach_existing_attachment +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: social (9.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-06-13 02:44+0000\n" +"PO-Revision-Date: 2016-06-12 23:57+0000\n" +"Last-Translator: <>\n" +"Language-Team: Spanish (http://www.transifex.com/oca/OCA-social-9-0/language/es/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: es\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message_object_attachment_ids +msgid "Attachments" +msgstr "" + +#. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message_can_attach_attachment +msgid "Can Attach Attachment" +msgstr "" + +#. module: mail_attach_existing_attachment +#: model:ir.model,name:mail_attach_existing_attachment.model_mail_compose_message +msgid "Email composition wizard" +msgstr "Asistente composición Correo Electrónico" diff --git a/mail_attach_existing_attachment/i18n/es_CO.po b/mail_attach_existing_attachment/i18n/es_CO.po new file mode 100644 index 000000000..0d62d5fcb --- /dev/null +++ b/mail_attach_existing_attachment/i18n/es_CO.po @@ -0,0 +1,33 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mail_attach_existing_attachment +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: social (9.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-06-13 02:44+0000\n" +"PO-Revision-Date: 2016-06-12 23:57+0000\n" +"Last-Translator: <>\n" +"Language-Team: Spanish (Colombia) (http://www.transifex.com/oca/OCA-social-9-0/language/es_CO/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: es_CO\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message_object_attachment_ids +msgid "Attachments" +msgstr "" + +#. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message_can_attach_attachment +msgid "Can Attach Attachment" +msgstr "" + +#. module: mail_attach_existing_attachment +#: model:ir.model,name:mail_attach_existing_attachment.model_mail_compose_message +msgid "Email composition wizard" +msgstr "Asistente de redacción de E-mail" diff --git a/mail_attach_existing_attachment/i18n/fr.po b/mail_attach_existing_attachment/i18n/fr.po new file mode 100644 index 000000000..b84642276 --- /dev/null +++ b/mail_attach_existing_attachment/i18n/fr.po @@ -0,0 +1,33 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mail_attach_existing_attachment +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: social (9.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-06-13 02:44+0000\n" +"PO-Revision-Date: 2016-06-12 23:57+0000\n" +"Last-Translator: <>\n" +"Language-Team: French (http://www.transifex.com/oca/OCA-social-9-0/language/fr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: fr\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message_object_attachment_ids +msgid "Attachments" +msgstr "" + +#. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message_can_attach_attachment +msgid "Can Attach Attachment" +msgstr "" + +#. module: mail_attach_existing_attachment +#: model:ir.model,name:mail_attach_existing_attachment.model_mail_compose_message +msgid "Email composition wizard" +msgstr "Assistant de composition de courriel" diff --git a/mail_attach_existing_attachment/i18n/hr.po b/mail_attach_existing_attachment/i18n/hr.po new file mode 100644 index 000000000..49b0ed73c --- /dev/null +++ b/mail_attach_existing_attachment/i18n/hr.po @@ -0,0 +1,34 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mail_attach_existing_attachment +# +# Translators: +# Bole , 2016 +msgid "" +msgstr "" +"Project-Id-Version: social (9.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-06-13 02:44+0000\n" +"PO-Revision-Date: 2016-06-14 11:29+0000\n" +"Last-Translator: Bole \n" +"Language-Team: Croatian (http://www.transifex.com/oca/OCA-social-9-0/language/hr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: hr\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +#. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message_object_attachment_ids +msgid "Attachments" +msgstr "Privitci" + +#. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message_can_attach_attachment +msgid "Can Attach Attachment" +msgstr "Može pridružiti privitak" + +#. module: mail_attach_existing_attachment +#: model:ir.model,name:mail_attach_existing_attachment.model_mail_compose_message +msgid "Email composition wizard" +msgstr "Čarobnjak za sastavljanje maila" diff --git a/mail_attach_existing_attachment/i18n/pt_BR.po b/mail_attach_existing_attachment/i18n/pt_BR.po index b74de819e..df34c99ef 100644 --- a/mail_attach_existing_attachment/i18n/pt_BR.po +++ b/mail_attach_existing_attachment/i18n/pt_BR.po @@ -6,12 +6,12 @@ # Armando Vulcano Junior , 2015 msgid "" msgstr "" -"Project-Id-Version: social (8.0)\n" +"Project-Id-Version: social (9.0)\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-09-30 16:56+0000\n" -"PO-Revision-Date: 2015-09-18 19:58+0000\n" -"Last-Translator: Armando Vulcano Junior \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/oca/OCA-social-8-0/language/pt_BR/)\n" +"POT-Creation-Date: 2016-06-13 02:44+0000\n" +"PO-Revision-Date: 2016-06-13 03:11+0000\n" +"Last-Translator: OCA Transbot \n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/oca/OCA-social-9-0/language/pt_BR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" @@ -19,12 +19,12 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #. module: mail_attach_existing_attachment -#: field:mail.compose.message,object_attachment_ids:0 +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message_object_attachment_ids msgid "Attachments" msgstr "Anexos" #. module: mail_attach_existing_attachment -#: field:mail.compose.message,can_attach_attachment:0 +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message_can_attach_attachment msgid "Can Attach Attachment" msgstr "Pode Anexar Anexo" diff --git a/mail_attach_existing_attachment/i18n/sl.po b/mail_attach_existing_attachment/i18n/sl.po index 2f00e5d21..2899f71dc 100644 --- a/mail_attach_existing_attachment/i18n/sl.po +++ b/mail_attach_existing_attachment/i18n/sl.po @@ -6,12 +6,12 @@ # Matjaž Mozetič , 2015 msgid "" msgstr "" -"Project-Id-Version: social (8.0)\n" +"Project-Id-Version: social (9.0)\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-09-04 14:42+0000\n" -"PO-Revision-Date: 2015-09-07 14:25+0000\n" -"Last-Translator: Matjaž Mozetič \n" -"Language-Team: Slovenian (http://www.transifex.com/oca/OCA-social-8-0/language/sl/)\n" +"POT-Creation-Date: 2016-06-13 02:44+0000\n" +"PO-Revision-Date: 2016-06-13 03:11+0000\n" +"Last-Translator: OCA Transbot \n" +"Language-Team: Slovenian (http://www.transifex.com/oca/OCA-social-9-0/language/sl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" @@ -19,12 +19,12 @@ msgstr "" "Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" #. module: mail_attach_existing_attachment -#: field:mail.compose.message,object_attachment_ids:0 +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message_object_attachment_ids msgid "Attachments" msgstr "Priponke" #. module: mail_attach_existing_attachment -#: field:mail.compose.message,can_attach_attachment:0 +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message_can_attach_attachment msgid "Can Attach Attachment" msgstr "Lahko pripenja priponke" diff --git a/mail_attach_existing_attachment/i18n/zh_CN.po b/mail_attach_existing_attachment/i18n/zh_CN.po new file mode 100644 index 000000000..49469d788 --- /dev/null +++ b/mail_attach_existing_attachment/i18n/zh_CN.po @@ -0,0 +1,34 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mail_attach_existing_attachment +# +# Translators: +# Jeffery Chenn , 2016 +msgid "" +msgstr "" +"Project-Id-Version: social (9.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-09-02 00:46+0000\n" +"PO-Revision-Date: 2016-09-04 05:54+0000\n" +"Last-Translator: Jeffery Chenn \n" +"Language-Team: Chinese (China) (http://www.transifex.com/oca/OCA-social-9-0/language/zh_CN/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: zh_CN\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message_object_attachment_ids +msgid "Attachments" +msgstr "附件" + +#. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message_can_attach_attachment +msgid "Can Attach Attachment" +msgstr "" + +#. module: mail_attach_existing_attachment +#: model:ir.model,name:mail_attach_existing_attachment.model_mail_compose_message +msgid "Email composition wizard" +msgstr "" diff --git a/mail_attach_existing_attachment/static/description/icon.png b/mail_attach_existing_attachment/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..0b6c4d89568d7aea4498047e6edcca8b53014538 GIT binary patch literal 4773 zcmV;W5?bwvP)MAP;;T3dIkwrls%Pvw2 zE+UAlmLTF=QCJjM3J7K;B@5^-R3V^fFbNvK5g8DYKwk5>r}vLOcjnHW(>F88%-q*G zRZ|q-oO@1pfBSTQ``5qUuOYj#E4#8QyRs|0n*CDpmtoC=Vab1^KUS?|crpFh7n!85D@F(6+$9Vly{=D~V;dfGzMLDoRc zhh>eCkq=QaEMyJTJXj_In;9b$fz6ARi@+0&7v2o+Z-GJG^EHm1{ zTH-i%z#xDb2A0dPs$yG!=YYQeee>tfA1LQCh2P;0koJ%Jo7v(xj^7F#0PG^ERYJ}o z=bQtOgajE@bu0!3BwmoTGLGFnz#YJ<5cweyINOYK&Gd+*ArcFcBxhz$lFP8Vz=nWF z%($Sft!=@0Mc`{C-C(A{tRWi((~!hXz+u}Gfrm?4ku_SwV!r_184`hiC+R9l?{dzO zOfktEBb>iB0UIO@d5F^clwnoJa?ZJKpi3p-Xf9b1$L>7f(bD0+L*mQ;`OZ1_m~(C! za6izS&*ujR1_lOzLh_7!KA+EJSXHsXWLRGayj9|8=iGtLIhB3LM*yDy&IUFYJHd%& zdO2nI7?5-|a8NQ*Wb5cUz~;@H*8v<1T;o>-W2Sedii_kANxBT^${M$B zu`b~9gv%0saT3dbnZ+NjPZ18+1GBP*tZ%Hny?qbhhO$+G12zEfF5VcIk>3X#nKfj? zU`GOdWm7>6e6D!2lPLYi{{lL)hHMzDL*lmbWg^~6=sSR!N_)n|S)(-;Ch2pM;u7*5 zB}>6lZ~!3YX8mO%aHIp2h`?e8828IsT3TKSydCc|kXa0; z2umz{2Li7J=1kR8B;K9cO4*)L#tAX=o&z{|t5jeS6(xw*x ze*j*P_<0mXizo2BQxa}VMc~*DFcA^h-rhbRzr|Q;Wm*q>IwNq>vCoiLY)1?_+yd-0 z&gY%L6o|lA0#7k^@A(!#)l?o6^p!fLBmO5jX?5J>40BC(P``jKCenP6Yl) zx`W5fz|3lk!1tNycj=xe{02BWBXzs64*`pqJ!Apz>fmtZw4;jUK`7l zS^~?kHi<8IU-U7;FqXIu*fk@63^ot=1`wx^KL}jW-Q7K7d*3nDB5)Me(a|wi;%dfv z8acc->s7#vjQnA2Ch#SokV1Y8T+`XvIcEpoG36q#9GeS#ComNZM3FATdmS}9`5nL| zqE=MR%0}QkylZl^lHUTH4{QpM|I>Uvf8Zp&w`$wL zhmg3Pr&RI<;LIkT3O)(E5Fr1qTrPLmWW9GfMPM5CMv4Ck*a&)orAqV)cIH%;rP?B}924*vNiPS4VR7G}QOMsH_-TOrm(A<~d}#NS zm8I$;Fa>M((JEe;q>KjN19oo!^7jC~A0WS9(xpKAG?b+#L|{4A4O~gU1S;|Mj*gCb zbxi(D;A%;63i(5lz69(%O=YPW5m=7R0F9W1MB0L zrb8%AqQE^z(n|q>dkfy1dRog@iy|-$JIqW!4{RPihmUZr^{L==NzVnyUk<#cO699b z5txR(9k`El8^M!R?40AlmPmRsK>q!};Z-bO&5FP@>?nyx0u8wmzi&`$0%{ZkNMyq-efoa%3nd!yA=Fy$NtEyPOS4p}(K>iD6e6oh7s=5(@qp&%1 z=5zuV0-Hz|hBpHHR-t@*NxCsW{w6cdXCxD6EsUmhB?8N_7T^*|18EH|>3eva`*f9W zj-+n~vU3kex+E!ct+XFBK#G`|QKYX*6vj>kih-}<_ZFtQEIUj3O1kOV3W` zgvl&RWX6SNws{+eGOPqnsloQEYZ3Tq{7G2jIT>R;a2AlCC2MKHxetJs2QnJ#Z;L=yH3@GEd@CGp!4}=n;z|oC%G;nW)M!OAo(>R}Za1`mA6>=4A&&it` zB(7on8&7WnmQ{G(-M~9C5$K2RV&d1LSX#w9Jg-8Cg<} zw{C};>6Qxb_$Bb3rWS#|P&^)JpaO6muxJO~v74ElDDi!~6>&?zN56DWVRLft50gx% zJL0yfe!))%$zy1dy?uqPvV+D(kv&jhLQXTO(6o?&Flh6&j-lggg4;KoWjP)604odnOlkeeFH4(Uf6zTfXLkr6){xIHcy52}N;1$VvNsEA<Txb_m-MX~BY#Xx0^R`imTHK=51Hwa z3Uk}{@J5+>KD+PV2ya){681Ro>0~sRdJ$;GQZuay6lw^#n#Rcca{zFw#1=F4C&O=l zBC`4?2^-kPeFGJQb?IoZ8E;knR7eC4S5gv^fOrrXDyewBx3{+vW@elLy3jdxcg~G^ zo^!6>IrkOd3gG2&Jg?TVmB6RWqU)V2v?tXC$VoDY2c5(10A`7@cY*sNh;z;{7uZkY z)e?I<=h{-*zC9s-jig+HQGV@+2y8LqpDXyyy@Yq{Y;S-szZS8MmX??YV`h(MWfzL_=!$nOKrPVUdhntE&o-aqlNZRv%{5`jI*S~%@xYk_|xJ50J7*pa~U zur`<^5!lkwa)9JdwJdwtV`N9rR~tJ_;_iSj95n(c`JbY27=ZY+IOfOW5Ji>l~^hQRW19LL4qRvC-pIDQF#r0f&G*0j1sQFK%s z7p`)SeanPlQ3yT>EZk8MxB&RP&+f%Fcz?Kh`(kznJ|gj-W_ltKuKoCPd1NL%d>+x{SOSyyy%|iQQ^gcv?Z8REiWEC}ts8mDqo6)ddU*U? zi4_wSflHg@oW3sr>+6W-mmN-^=`Q<#lTy}J|@Y^L{ZWPY;w-6bIuKT4D+|e!$!2~ zV{VpnuDeX!&A{hSyaVVjX@fPu?`$w8wY^n6ly*yqoZz8*z<0PoV>1MHnx z+7>2)cR>wcd*i*A?@y`6Uw}i(4R#V&rs#k*#Rl41A_9v(`IjX-UyVfmJmBttB3_;x zTGd)dbvxP2%B-+#iK6J36diDOvLRPm=hej<9xl@X&P>ljZ6rCIL~LnV3U^?6E|+^< zz11zB&mSc5XU2MT9hdUkk1!l=KP&?OSiI??snlwo_oaQ#;mAGk0yG)ioUB7GNF4D6N+k?qNHqv++DuLJA=Gp$a^ zF?cQ8nM!7tU3S?C@03~o-s!;h#=C!&hn+oxSN-K>K37tqjNgY~B$3gF%ygA=EJ)c? z#yPhh_@hLxnfeO_SJVnfU?wXRoN5)5G}Aebbk5~U)c$74om?nzO9|2AT2Vw%^!`Gj z@D7s9BguQCLcvj1mZ`vUzya(Egj{@`edpWs848hJEW3+yvN;njxs zv8$ze#K5ijeEu~7opLQ>w}aQ>;|NAwr4^q6oaA?#^w(0C;>PI^Jd@Ao57`bSew3uu zHBgViWGQ!L54h@TU$LQp2+9(2jMe}JW6<(cuNvio@+YtORy!ty1=TSSJHLBv598blkvyk??xi_bguS5jqpL*)4AsWN!qY{>r_;*R?Ifn(z-kb400|OE` zhg@=FVnVJ3ERxhI(d8U1fqE1l@9wgMX^J!__iCBB{1VK2siUQ$zvz#!J$-QBfe z!-ie)ZsWTGU1pYpcrcDf;`7bSs*Dxz?p>R6x!j9GLqolI1JBR|>f5{`FvBtt*wk1i z0y8WVff+XX8t-;+hBXdWOhn~xAQOR2D+2!?_@P|k^Bn>O00000NkvXXu0mjfW-}A~ literal 0 HcmV?d00001 diff --git a/mail_attach_existing_attachment/tests/test_mail_attach_existing_attachment.py b/mail_attach_existing_attachment/tests/test_mail_attach_existing_attachment.py index eed39bc3f..af1aaaec9 100644 --- a/mail_attach_existing_attachment/tests/test_mail_attach_existing_attachment.py +++ b/mail_attach_existing_attachment/tests/test_mail_attach_existing_attachment.py @@ -44,6 +44,6 @@ def test_send_email_attachment(self): 'object_attachment_ids': [(6, 0, [attach1.id])] } mail = self.env['mail.compose.message'].create(vals) - values = mail.get_mail_values(mail, [self.partner_01.id]) + values = mail.get_mail_values([self.partner_01.id]) self.assertTrue(attach1.id in values[self.partner_01.id]['attachment_ids']) diff --git a/mail_attach_existing_attachment/wizard/mail_compose_message.py b/mail_attach_existing_attachment/wizard/mail_compose_message.py index 4c7d43f30..6e154a14e 100644 --- a/mail_attach_existing_attachment/wizard/mail_compose_message.py +++ b/mail_attach_existing_attachment/wizard/mail_compose_message.py @@ -35,7 +35,7 @@ def default_get(self, fields_list): if res.get('res_id') and res.get('model') and \ res.get('composition_mode', '') != 'mass_mail' and\ not res.get('can_attach_attachment'): - res['can_attach_attachment'] = True + res['can_attach_attachment'] = True # pragma: no cover return res can_attach_attachment = fields.Boolean(string='Can Attach Attachment') @@ -44,14 +44,10 @@ def default_get(self, fields_list): relation='mail_compose_message_ir_attachments_object_rel', column1='wizard_id', column2='attachment_id', string='Attachments') - @api.model - def get_mail_values(self, wizard, res_ids): - res = super(MailComposeMessage, self).get_mail_values(wizard, res_ids) - if wizard.object_attachment_ids.ids and wizard.model and\ - len(res_ids) == 1: - for res_id in res_ids: - if not res[res_id].get('attachment_ids'): - res[res_id]['attachment_ids'] = [] - res[res_id]['attachment_ids'].extend( - wizard.object_attachment_ids.ids) + @api.multi + def get_mail_values(self, res_ids): + res = super(MailComposeMessage, self).get_mail_values(res_ids) + if self.object_attachment_ids.ids and self.model and len(res_ids) == 1: + res[res_ids[0]].setdefault('attachment_ids', []).extend( + self.object_attachment_ids.ids) return res From 50bc941941f9d731b5e339130955b1364f1e480b Mon Sep 17 00:00:00 2001 From: Damien Bouvy Date: Tue, 11 Oct 2016 20:22:36 +0200 Subject: [PATCH 03/42] [MIG] mail_attach_existing_attachment: Migrated to 10.0 --- mail_attach_existing_attachment/README.rst | 2 +- .../{__openerp__.py => __manifest__.py} | 2 +- mail_attach_existing_attachment/i18n/de.po | 16 +++++---- mail_attach_existing_attachment/i18n/es.po | 16 +++++---- mail_attach_existing_attachment/i18n/fr.po | 16 +++++---- mail_attach_existing_attachment/i18n/it.po | 35 +++++++++++++++++++ .../wizard/mail_compose_message.py | 2 +- .../wizard/mail_compose_message_view.xml | 34 +++++++++--------- 8 files changed, 81 insertions(+), 42 deletions(-) rename mail_attach_existing_attachment/{__openerp__.py => __manifest__.py} (98%) create mode 100644 mail_attach_existing_attachment/i18n/it.po diff --git a/mail_attach_existing_attachment/README.rst b/mail_attach_existing_attachment/README.rst index d81fb5879..a3eea1475 100644 --- a/mail_attach_existing_attachment/README.rst +++ b/mail_attach_existing_attachment/README.rst @@ -31,7 +31,7 @@ To configure this module, you need to: .. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas :alt: Try me on Runbot - :target: https://runbot.odoo-community.org/runbot/205/9.0 + :target: https://runbot.odoo-community.org/runbot/205/10.0 Known issues / Roadmap ====================== diff --git a/mail_attach_existing_attachment/__openerp__.py b/mail_attach_existing_attachment/__manifest__.py similarity index 98% rename from mail_attach_existing_attachment/__openerp__.py rename to mail_attach_existing_attachment/__manifest__.py index 58f1642dd..fbc2b424a 100644 --- a/mail_attach_existing_attachment/__openerp__.py +++ b/mail_attach_existing_attachment/__manifest__.py @@ -31,7 +31,7 @@ "Odoo Community Association (OCA)", 'website': "http://acsone.eu", 'category': 'Social Network', - 'version': '9.0.1.0.0', + 'version': '10.0.1.0.0', 'license': 'AGPL-3', 'depends': [ 'mail', diff --git a/mail_attach_existing_attachment/i18n/de.po b/mail_attach_existing_attachment/i18n/de.po index 98e6791e8..022273015 100644 --- a/mail_attach_existing_attachment/i18n/de.po +++ b/mail_attach_existing_attachment/i18n/de.po @@ -3,14 +3,16 @@ # * mail_attach_existing_attachment # # Translators: +# OCA Transbot , 2016 +# Niki Waibel , 2016 msgid "" msgstr "" -"Project-Id-Version: social (9.0)\n" +"Project-Id-Version: Odoo Server 10.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-06-13 02:44+0000\n" -"PO-Revision-Date: 2016-06-12 23:57+0000\n" -"Last-Translator: <>\n" -"Language-Team: German (http://www.transifex.com/oca/OCA-social-9-0/language/de/)\n" +"POT-Creation-Date: 2016-11-29 14:24+0000\n" +"PO-Revision-Date: 2016-11-29 14:24+0000\n" +"Last-Translator: Niki Waibel , 2016\n" +"Language-Team: German (https://www.transifex.com/oca/teams/23907/de/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" @@ -20,12 +22,12 @@ msgstr "" #. module: mail_attach_existing_attachment #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message_object_attachment_ids msgid "Attachments" -msgstr "" +msgstr "Anhänge" #. module: mail_attach_existing_attachment #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message_can_attach_attachment msgid "Can Attach Attachment" -msgstr "" +msgstr "Kann Anhang anhängen" #. module: mail_attach_existing_attachment #: model:ir.model,name:mail_attach_existing_attachment.model_mail_compose_message diff --git a/mail_attach_existing_attachment/i18n/es.po b/mail_attach_existing_attachment/i18n/es.po index 3db638d9c..015f08a39 100644 --- a/mail_attach_existing_attachment/i18n/es.po +++ b/mail_attach_existing_attachment/i18n/es.po @@ -3,14 +3,16 @@ # * mail_attach_existing_attachment # # Translators: +# OCA Transbot , 2017 +# Pedro M. Baeza , 2017 msgid "" msgstr "" -"Project-Id-Version: social (9.0)\n" +"Project-Id-Version: Odoo Server 10.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-06-13 02:44+0000\n" -"PO-Revision-Date: 2016-06-12 23:57+0000\n" -"Last-Translator: <>\n" -"Language-Team: Spanish (http://www.transifex.com/oca/OCA-social-9-0/language/es/)\n" +"POT-Creation-Date: 2017-12-01 02:19+0000\n" +"PO-Revision-Date: 2017-12-01 02:19+0000\n" +"Last-Translator: Pedro M. Baeza , 2017\n" +"Language-Team: Spanish (https://www.transifex.com/oca/teams/23907/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" @@ -20,12 +22,12 @@ msgstr "" #. module: mail_attach_existing_attachment #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message_object_attachment_ids msgid "Attachments" -msgstr "" +msgstr "Adjuntos" #. module: mail_attach_existing_attachment #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message_can_attach_attachment msgid "Can Attach Attachment" -msgstr "" +msgstr "Puede adjuntar adjuntos" #. module: mail_attach_existing_attachment #: model:ir.model,name:mail_attach_existing_attachment.model_mail_compose_message diff --git a/mail_attach_existing_attachment/i18n/fr.po b/mail_attach_existing_attachment/i18n/fr.po index b84642276..0220407d3 100644 --- a/mail_attach_existing_attachment/i18n/fr.po +++ b/mail_attach_existing_attachment/i18n/fr.po @@ -3,14 +3,16 @@ # * mail_attach_existing_attachment # # Translators: +# OCA Transbot , 2016 +# Quentin THEURET , 2017 msgid "" msgstr "" -"Project-Id-Version: social (9.0)\n" +"Project-Id-Version: Odoo Server 10.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-06-13 02:44+0000\n" -"PO-Revision-Date: 2016-06-12 23:57+0000\n" -"Last-Translator: <>\n" -"Language-Team: French (http://www.transifex.com/oca/OCA-social-9-0/language/fr/)\n" +"POT-Creation-Date: 2017-07-22 09:45+0000\n" +"PO-Revision-Date: 2017-07-22 09:45+0000\n" +"Last-Translator: Quentin THEURET , 2017\n" +"Language-Team: French (https://www.transifex.com/oca/teams/23907/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" @@ -20,12 +22,12 @@ msgstr "" #. module: mail_attach_existing_attachment #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message_object_attachment_ids msgid "Attachments" -msgstr "" +msgstr "Pièces jointes" #. module: mail_attach_existing_attachment #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message_can_attach_attachment msgid "Can Attach Attachment" -msgstr "" +msgstr "Il est possible d'attacher des pièces jointes" #. module: mail_attach_existing_attachment #: model:ir.model,name:mail_attach_existing_attachment.model_mail_compose_message diff --git a/mail_attach_existing_attachment/i18n/it.po b/mail_attach_existing_attachment/i18n/it.po new file mode 100644 index 000000000..ed7ee33a6 --- /dev/null +++ b/mail_attach_existing_attachment/i18n/it.po @@ -0,0 +1,35 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mail_attach_existing_attachment +# +# Translators: +# OCA Transbot , 2016 +# Marius Marolla , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-05-17 01:02+0000\n" +"PO-Revision-Date: 2017-05-17 01:02+0000\n" +"Last-Translator: Marius Marolla , 2017\n" +"Language-Team: Italian (https://www.transifex.com/oca/teams/23907/it/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: it\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message_object_attachment_ids +msgid "Attachments" +msgstr "Allegati" + +#. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message_can_attach_attachment +msgid "Can Attach Attachment" +msgstr "Inserimento Allegati Ammesso" + +#. module: mail_attach_existing_attachment +#: model:ir.model,name:mail_attach_existing_attachment.model_mail_compose_message +msgid "Email composition wizard" +msgstr "Wizard Creazione Email" diff --git a/mail_attach_existing_attachment/wizard/mail_compose_message.py b/mail_attach_existing_attachment/wizard/mail_compose_message.py index 6e154a14e..a86e4a802 100644 --- a/mail_attach_existing_attachment/wizard/mail_compose_message.py +++ b/mail_attach_existing_attachment/wizard/mail_compose_message.py @@ -23,7 +23,7 @@ # ############################################################################## -from openerp import models, fields, api +from odoo import models, fields, api class MailComposeMessage(models.TransientModel): diff --git a/mail_attach_existing_attachment/wizard/mail_compose_message_view.xml b/mail_attach_existing_attachment/wizard/mail_compose_message_view.xml index aa10025b9..d79a03429 100644 --- a/mail_attach_existing_attachment/wizard/mail_compose_message_view.xml +++ b/mail_attach_existing_attachment/wizard/mail_compose_message_view.xml @@ -1,19 +1,17 @@ - - - - mail.compose.message.form (mail_attach_existing_attachment) - mail.compose.message - - - - -
-
- -
-
-
-
-
-
\ No newline at end of file + + + mail.compose.message.form (mail_attach_existing_attachment) + mail.compose.message + + + + +
+
+ +
+
+
+
+
From 4fd4c1d8b324adfbc82885e991fd1f17adf258c2 Mon Sep 17 00:00:00 2001 From: ernesto Date: Mon, 16 Apr 2018 17:16:07 -0400 Subject: [PATCH 04/42] [MIG] mail_attach_existing_attachment: Migration to 11.0 --- mail_attach_existing_attachment/README.rst | 2 +- mail_attach_existing_attachment/__init__.py | 1 - .../__manifest__.py | 3 +- mail_attach_existing_attachment/i18n/ca.po | 7 +++-- mail_attach_existing_attachment/i18n/de.po | 4 +-- mail_attach_existing_attachment/i18n/es.po | 4 +-- mail_attach_existing_attachment/i18n/es_CO.po | 7 +++-- mail_attach_existing_attachment/i18n/fr.po | 4 +-- mail_attach_existing_attachment/i18n/hr.po | 10 ++++--- mail_attach_existing_attachment/i18n/it.po | 4 +-- .../i18n/mail_attach_existing_attachment.pot | 30 +++++++++++++++++++ mail_attach_existing_attachment/i18n/pt_BR.po | 7 +++-- mail_attach_existing_attachment/i18n/sl.po | 10 ++++--- mail_attach_existing_attachment/i18n/zh_CN.po | 7 +++-- .../tests/__init__.py | 1 - .../test_mail_attach_existing_attachment.py | 10 +++++-- .../wizard/__init__.py | 1 - .../wizard/mail_compose_message.py | 1 - 18 files changed, 75 insertions(+), 38 deletions(-) create mode 100644 mail_attach_existing_attachment/i18n/mail_attach_existing_attachment.pot diff --git a/mail_attach_existing_attachment/README.rst b/mail_attach_existing_attachment/README.rst index a3eea1475..b51893df8 100644 --- a/mail_attach_existing_attachment/README.rst +++ b/mail_attach_existing_attachment/README.rst @@ -31,7 +31,7 @@ To configure this module, you need to: .. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas :alt: Try me on Runbot - :target: https://runbot.odoo-community.org/runbot/205/10.0 + :target: https://runbot.odoo-community.org/runbot/205/11.0 Known issues / Roadmap ====================== diff --git a/mail_attach_existing_attachment/__init__.py b/mail_attach_existing_attachment/__init__.py index 02baef47b..40272379f 100644 --- a/mail_attach_existing_attachment/__init__.py +++ b/mail_attach_existing_attachment/__init__.py @@ -1,2 +1 @@ -# -*- coding: utf-8 -*- from . import wizard diff --git a/mail_attach_existing_attachment/__manifest__.py b/mail_attach_existing_attachment/__manifest__.py index fbc2b424a..901835c2d 100644 --- a/mail_attach_existing_attachment/__manifest__.py +++ b/mail_attach_existing_attachment/__manifest__.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- ############################################################################## # # This file is part of mail_attach_existing_attachment, @@ -31,7 +30,7 @@ "Odoo Community Association (OCA)", 'website': "http://acsone.eu", 'category': 'Social Network', - 'version': '10.0.1.0.0', + 'version': '11.0.1.0.0', 'license': 'AGPL-3', 'depends': [ 'mail', diff --git a/mail_attach_existing_attachment/i18n/ca.po b/mail_attach_existing_attachment/i18n/ca.po index f5334acad..78413f428 100644 --- a/mail_attach_existing_attachment/i18n/ca.po +++ b/mail_attach_existing_attachment/i18n/ca.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * mail_attach_existing_attachment -# +# # Translators: msgid "" msgstr "" @@ -10,11 +10,12 @@ msgstr "" "POT-Creation-Date: 2016-06-13 02:44+0000\n" "PO-Revision-Date: 2016-06-12 23:57+0000\n" "Last-Translator: <>\n" -"Language-Team: Catalan (http://www.transifex.com/oca/OCA-social-9-0/language/ca/)\n" +"Language-Team: Catalan (http://www.transifex.com/oca/OCA-social-9-0/language/" +"ca/)\n" +"Language: ca\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: ca\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: mail_attach_existing_attachment diff --git a/mail_attach_existing_attachment/i18n/de.po b/mail_attach_existing_attachment/i18n/de.po index 022273015..2c6e26323 100644 --- a/mail_attach_existing_attachment/i18n/de.po +++ b/mail_attach_existing_attachment/i18n/de.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * mail_attach_existing_attachment -# +# # Translators: # OCA Transbot , 2016 # Niki Waibel , 2016 @@ -13,10 +13,10 @@ msgstr "" "PO-Revision-Date: 2016-11-29 14:24+0000\n" "Last-Translator: Niki Waibel , 2016\n" "Language-Team: German (https://www.transifex.com/oca/teams/23907/de/)\n" +"Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: de\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: mail_attach_existing_attachment diff --git a/mail_attach_existing_attachment/i18n/es.po b/mail_attach_existing_attachment/i18n/es.po index 015f08a39..95e6980ef 100644 --- a/mail_attach_existing_attachment/i18n/es.po +++ b/mail_attach_existing_attachment/i18n/es.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * mail_attach_existing_attachment -# +# # Translators: # OCA Transbot , 2017 # Pedro M. Baeza , 2017 @@ -13,10 +13,10 @@ msgstr "" "PO-Revision-Date: 2017-12-01 02:19+0000\n" "Last-Translator: Pedro M. Baeza , 2017\n" "Language-Team: Spanish (https://www.transifex.com/oca/teams/23907/es/)\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: mail_attach_existing_attachment diff --git a/mail_attach_existing_attachment/i18n/es_CO.po b/mail_attach_existing_attachment/i18n/es_CO.po index 0d62d5fcb..25924b96e 100644 --- a/mail_attach_existing_attachment/i18n/es_CO.po +++ b/mail_attach_existing_attachment/i18n/es_CO.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * mail_attach_existing_attachment -# +# # Translators: msgid "" msgstr "" @@ -10,11 +10,12 @@ msgstr "" "POT-Creation-Date: 2016-06-13 02:44+0000\n" "PO-Revision-Date: 2016-06-12 23:57+0000\n" "Last-Translator: <>\n" -"Language-Team: Spanish (Colombia) (http://www.transifex.com/oca/OCA-social-9-0/language/es_CO/)\n" +"Language-Team: Spanish (Colombia) (http://www.transifex.com/oca/OCA-" +"social-9-0/language/es_CO/)\n" +"Language: es_CO\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: es_CO\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: mail_attach_existing_attachment diff --git a/mail_attach_existing_attachment/i18n/fr.po b/mail_attach_existing_attachment/i18n/fr.po index 0220407d3..a420ef1bc 100644 --- a/mail_attach_existing_attachment/i18n/fr.po +++ b/mail_attach_existing_attachment/i18n/fr.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * mail_attach_existing_attachment -# +# # Translators: # OCA Transbot , 2016 # Quentin THEURET , 2017 @@ -13,10 +13,10 @@ msgstr "" "PO-Revision-Date: 2017-07-22 09:45+0000\n" "Last-Translator: Quentin THEURET , 2017\n" "Language-Team: French (https://www.transifex.com/oca/teams/23907/fr/)\n" +"Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #. module: mail_attach_existing_attachment diff --git a/mail_attach_existing_attachment/i18n/hr.po b/mail_attach_existing_attachment/i18n/hr.po index 49b0ed73c..5ceb5fb39 100644 --- a/mail_attach_existing_attachment/i18n/hr.po +++ b/mail_attach_existing_attachment/i18n/hr.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * mail_attach_existing_attachment -# +# # Translators: # Bole , 2016 msgid "" @@ -11,12 +11,14 @@ msgstr "" "POT-Creation-Date: 2016-06-13 02:44+0000\n" "PO-Revision-Date: 2016-06-14 11:29+0000\n" "Last-Translator: Bole \n" -"Language-Team: Croatian (http://www.transifex.com/oca/OCA-social-9-0/language/hr/)\n" +"Language-Team: Croatian (http://www.transifex.com/oca/OCA-social-9-0/" +"language/hr/)\n" +"Language: hr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: hr\n" -"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" #. module: mail_attach_existing_attachment #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message_object_attachment_ids diff --git a/mail_attach_existing_attachment/i18n/it.po b/mail_attach_existing_attachment/i18n/it.po index ed7ee33a6..6930c7db5 100644 --- a/mail_attach_existing_attachment/i18n/it.po +++ b/mail_attach_existing_attachment/i18n/it.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * mail_attach_existing_attachment -# +# # Translators: # OCA Transbot , 2016 # Marius Marolla , 2017 @@ -13,10 +13,10 @@ msgstr "" "PO-Revision-Date: 2017-05-17 01:02+0000\n" "Last-Translator: Marius Marolla , 2017\n" "Language-Team: Italian (https://www.transifex.com/oca/teams/23907/it/)\n" +"Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: mail_attach_existing_attachment diff --git a/mail_attach_existing_attachment/i18n/mail_attach_existing_attachment.pot b/mail_attach_existing_attachment/i18n/mail_attach_existing_attachment.pot new file mode 100644 index 000000000..266b4463a --- /dev/null +++ b/mail_attach_existing_attachment/i18n/mail_attach_existing_attachment.pot @@ -0,0 +1,30 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mail_attach_existing_attachment +# +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_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message_object_attachment_ids +msgid "Attachments" +msgstr "" + +#. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message_can_attach_attachment +msgid "Can Attach Attachment" +msgstr "" + +#. module: mail_attach_existing_attachment +#: model:ir.model,name:mail_attach_existing_attachment.model_mail_compose_message +msgid "Email composition wizard" +msgstr "" + diff --git a/mail_attach_existing_attachment/i18n/pt_BR.po b/mail_attach_existing_attachment/i18n/pt_BR.po index df34c99ef..3205cc480 100644 --- a/mail_attach_existing_attachment/i18n/pt_BR.po +++ b/mail_attach_existing_attachment/i18n/pt_BR.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * mail_attach_existing_attachment -# +# # Translators: # Armando Vulcano Junior , 2015 msgid "" @@ -11,11 +11,12 @@ msgstr "" "POT-Creation-Date: 2016-06-13 02:44+0000\n" "PO-Revision-Date: 2016-06-13 03:11+0000\n" "Last-Translator: OCA Transbot \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/oca/OCA-social-9-0/language/pt_BR/)\n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/oca/OCA-" +"social-9-0/language/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #. module: mail_attach_existing_attachment diff --git a/mail_attach_existing_attachment/i18n/sl.po b/mail_attach_existing_attachment/i18n/sl.po index 2899f71dc..76343af02 100644 --- a/mail_attach_existing_attachment/i18n/sl.po +++ b/mail_attach_existing_attachment/i18n/sl.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * mail_attach_existing_attachment -# +# # Translators: # Matjaž Mozetič , 2015 msgid "" @@ -11,12 +11,14 @@ msgstr "" "POT-Creation-Date: 2016-06-13 02:44+0000\n" "PO-Revision-Date: 2016-06-13 03:11+0000\n" "Last-Translator: OCA Transbot \n" -"Language-Team: Slovenian (http://www.transifex.com/oca/OCA-social-9-0/language/sl/)\n" +"Language-Team: Slovenian (http://www.transifex.com/oca/OCA-social-9-0/" +"language/sl/)\n" +"Language: sl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: sl\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" +"%100==4 ? 2 : 3);\n" #. module: mail_attach_existing_attachment #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message_object_attachment_ids diff --git a/mail_attach_existing_attachment/i18n/zh_CN.po b/mail_attach_existing_attachment/i18n/zh_CN.po index 49469d788..2fdf0f0a5 100644 --- a/mail_attach_existing_attachment/i18n/zh_CN.po +++ b/mail_attach_existing_attachment/i18n/zh_CN.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * mail_attach_existing_attachment -# +# # Translators: # Jeffery Chenn , 2016 msgid "" @@ -11,11 +11,12 @@ msgstr "" "POT-Creation-Date: 2016-09-02 00:46+0000\n" "PO-Revision-Date: 2016-09-04 05:54+0000\n" "Last-Translator: Jeffery Chenn \n" -"Language-Team: Chinese (China) (http://www.transifex.com/oca/OCA-social-9-0/language/zh_CN/)\n" +"Language-Team: Chinese (China) (http://www.transifex.com/oca/OCA-social-9-0/" +"language/zh_CN/)\n" +"Language: zh_CN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0;\n" #. module: mail_attach_existing_attachment diff --git a/mail_attach_existing_attachment/tests/__init__.py b/mail_attach_existing_attachment/tests/__init__.py index 26c2cf040..fc1e8e4e2 100644 --- a/mail_attach_existing_attachment/tests/__init__.py +++ b/mail_attach_existing_attachment/tests/__init__.py @@ -1,3 +1,2 @@ -# -*- coding: utf-8 -*- from . import test_mail_attach_existing_attachment diff --git a/mail_attach_existing_attachment/tests/test_mail_attach_existing_attachment.py b/mail_attach_existing_attachment/tests/test_mail_attach_existing_attachment.py index af1aaaec9..a6730e773 100644 --- a/mail_attach_existing_attachment/tests/test_mail_attach_existing_attachment.py +++ b/mail_attach_existing_attachment/tests/test_mail_attach_existing_attachment.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- ############################################################################## # # This file is part of mail_attach_existing_attachment, @@ -23,7 +22,7 @@ # ############################################################################## -from openerp.tests import common +from odoo.tests import common class TestAttachExistingAttachment(common.TransactionCase): @@ -31,7 +30,12 @@ class TestAttachExistingAttachment(common.TransactionCase): def setUp(self): super(TestAttachExistingAttachment, self).setUp() self.partner_obj = self.env['res.partner'] - self.partner_01 = self.env.ref('base.res_partner_1') + self.partner_01 = self.env['res.partner'].create({ + 'name': 'Partner 1', + 'email': 'partner1@example.org', + 'is_company': True, + 'parent_id': False, + }) def test_send_email_attachment(self): attach1 = self.env['ir.attachment'].create({ diff --git a/mail_attach_existing_attachment/wizard/__init__.py b/mail_attach_existing_attachment/wizard/__init__.py index 12ddb2dc7..b528d997d 100644 --- a/mail_attach_existing_attachment/wizard/__init__.py +++ b/mail_attach_existing_attachment/wizard/__init__.py @@ -1,2 +1 @@ -# -*- coding: utf-8 -*- from . import mail_compose_message diff --git a/mail_attach_existing_attachment/wizard/mail_compose_message.py b/mail_attach_existing_attachment/wizard/mail_compose_message.py index a86e4a802..073c7da0e 100644 --- a/mail_attach_existing_attachment/wizard/mail_compose_message.py +++ b/mail_attach_existing_attachment/wizard/mail_compose_message.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- ############################################################################## # # This file is part of mail_attach_existing_attachment, From e9e56f075551ee5749a0406d7109c8711a989fd6 Mon Sep 17 00:00:00 2001 From: ernesto Date: Mon, 5 Nov 2018 10:14:40 -0500 Subject: [PATCH 05/42] [MIG] mail_attach_existing_attachment: Migration to 12.0 --- mail_attach_existing_attachment/README.rst | 90 ++-- .../__manifest__.py | 11 +- mail_attach_existing_attachment/i18n/ca.po | 12 +- mail_attach_existing_attachment/i18n/de.po | 13 +- mail_attach_existing_attachment/i18n/es.po | 13 +- mail_attach_existing_attachment/i18n/es_CO.po | 12 +- mail_attach_existing_attachment/i18n/fr.po | 13 +- mail_attach_existing_attachment/i18n/hr.po | 13 +- mail_attach_existing_attachment/i18n/it.po | 13 +- .../i18n/mail_attach_existing_attachment.pot | 14 +- mail_attach_existing_attachment/i18n/pt_BR.po | 13 +- mail_attach_existing_attachment/i18n/sl.po | 13 +- mail_attach_existing_attachment/i18n/zh_CN.po | 13 +- .../readme/CONTRIBUTORS.rst | 5 + .../readme/DESCRIPTION.rst | 2 + .../readme/ROADMAP.rst | 1 + .../readme/USAGE.rst | 11 + .../static/description/attachment.png | Bin 8492 -> 15404 bytes .../description/ex_mail_compose_message.png | Bin 54406 -> 51219 bytes .../static/description/index.html | 450 ++++++++++++++++++ .../wizard/mail_compose_message.py | 3 +- 21 files changed, 611 insertions(+), 104 deletions(-) create mode 100644 mail_attach_existing_attachment/readme/CONTRIBUTORS.rst create mode 100644 mail_attach_existing_attachment/readme/DESCRIPTION.rst create mode 100644 mail_attach_existing_attachment/readme/ROADMAP.rst create mode 100644 mail_attach_existing_attachment/readme/USAGE.rst create mode 100644 mail_attach_existing_attachment/static/description/index.html diff --git a/mail_attach_existing_attachment/README.rst b/mail_attach_existing_attachment/README.rst index b51893df8..ec8919f49 100644 --- a/mail_attach_existing_attachment/README.rst +++ b/mail_attach_existing_attachment/README.rst @@ -1,38 +1,53 @@ -.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg - :alt: License: AGPL-3 - +=============================== Mail Attach Existing Attachment =============================== -This module was written to add the possibility to add attachments located on -the object by sending it by email with the mail compose message wizard +.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -Installation -============ +.. |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%2Fsocial-lightgray.png?logo=github + :target: https://github.com/OCA/social/tree/12.0/mail_attach_existing_attachment + :alt: OCA/social +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/social-12-0/social-12-0-mail_attach_existing_attachment + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png + :target: https://runbot.odoo-community.org/runbot/205/12.0 + :alt: Try me on Runbot + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module was written to add the possibility to add attachments located on +the object by sending it by email with the mail compose message wizard -To install this module, you need to: +**Table of contents** -* Click on install +.. contents:: + :local: Usage ===== -To configure this module, you need to: +To use this module, you need to: -* Adding some attachments on an object +* Adding some attachments on an object by creating a new *Log note* -.. figure:: static/description/attachment.png +.. figure:: https://raw.githubusercontent.com/OCA/social/12.0/mail_attach_existing_attachment/mail_attach_existing_attachment/static/description/attachment.png :alt: Attachment on purchase order * Then, by sending the object via email, you can select the attachment added earlier -.. figure:: static/description/ex_mail_compose_message.png +.. figure:: https://raw.githubusercontent.com/OCA/social/12.0/mail_attach_existing_attachment/mail_attach_existing_attachment/static/description/ex_mail_compose_message.png :alt: Sends the Purchase Order by email -.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas - :alt: Try me on Runbot - :target: https://runbot.odoo-community.org/runbot/205/11.0 - Known issues / Roadmap ====================== @@ -41,29 +56,44 @@ Known issues / Roadmap 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. +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 +~~~~~~~ + +* ACSONE SA/NV +* Tecnativa + Contributors ------------- +~~~~~~~~~~~~ * Adrien Peiffer -* Sergio Teruel +* `Tecnativa `_: -Maintainer ----------- + * Sergio Teruel + * Ernesto Tejeda -.. image:: http://odoo-community.org/logo.png - :alt: Odoo Community Association - :target: http://odoo-community.org +Maintainers +~~~~~~~~~~~ This module is maintained by the OCA. -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. +.. 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/social `_ project on GitHub. -To contribute to this module, please visit http://odoo-community.org. +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/mail_attach_existing_attachment/__manifest__.py b/mail_attach_existing_attachment/__manifest__.py index 901835c2d..c907555ef 100644 --- a/mail_attach_existing_attachment/__manifest__.py +++ b/mail_attach_existing_attachment/__manifest__.py @@ -23,14 +23,13 @@ ############################################################################## { 'name': "Mail Attach Existing Attachment", - 'summary': """ - Adding attachment on the object by sending this one""", - 'author': "ACSONE SA/NV," - "Tecnativa," + 'summary': "Adding attachment on the object by sending this one", + 'author': "ACSONE SA/NV, " + "Tecnativa, " "Odoo Community Association (OCA)", - 'website': "http://acsone.eu", + 'website': "https://github.com/OCA/social", 'category': 'Social Network', - 'version': '11.0.1.0.0', + 'version': '12.0.1.0.0', 'license': 'AGPL-3', 'depends': [ 'mail', diff --git a/mail_attach_existing_attachment/i18n/ca.po b/mail_attach_existing_attachment/i18n/ca.po index 78413f428..cdfb4cacf 100644 --- a/mail_attach_existing_attachment/i18n/ca.po +++ b/mail_attach_existing_attachment/i18n/ca.po @@ -19,12 +19,7 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message_object_attachment_ids -msgid "Attachments" -msgstr "" - -#. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message_can_attach_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__can_attach_attachment msgid "Can Attach Attachment" msgstr "" @@ -32,3 +27,8 @@ msgstr "" #: model:ir.model,name:mail_attach_existing_attachment.model_mail_compose_message msgid "Email composition wizard" msgstr "Assistent per composició de correus electrònics" + +#. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__object_attachment_ids +msgid "Object Attachments" +msgstr "" diff --git a/mail_attach_existing_attachment/i18n/de.po b/mail_attach_existing_attachment/i18n/de.po index 2c6e26323..117c19351 100644 --- a/mail_attach_existing_attachment/i18n/de.po +++ b/mail_attach_existing_attachment/i18n/de.po @@ -20,12 +20,7 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message_object_attachment_ids -msgid "Attachments" -msgstr "Anhänge" - -#. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message_can_attach_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__can_attach_attachment msgid "Can Attach Attachment" msgstr "Kann Anhang anhängen" @@ -33,3 +28,9 @@ msgstr "Kann Anhang anhängen" #: model:ir.model,name:mail_attach_existing_attachment.model_mail_compose_message msgid "Email composition wizard" msgstr "Assistent zum Email verfassen" + +#. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__object_attachment_ids +#, fuzzy +msgid "Object Attachments" +msgstr "Anhänge" diff --git a/mail_attach_existing_attachment/i18n/es.po b/mail_attach_existing_attachment/i18n/es.po index 95e6980ef..e948e76d6 100644 --- a/mail_attach_existing_attachment/i18n/es.po +++ b/mail_attach_existing_attachment/i18n/es.po @@ -20,12 +20,7 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message_object_attachment_ids -msgid "Attachments" -msgstr "Adjuntos" - -#. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message_can_attach_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__can_attach_attachment msgid "Can Attach Attachment" msgstr "Puede adjuntar adjuntos" @@ -33,3 +28,9 @@ msgstr "Puede adjuntar adjuntos" #: model:ir.model,name:mail_attach_existing_attachment.model_mail_compose_message msgid "Email composition wizard" msgstr "Asistente composición Correo Electrónico" + +#. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__object_attachment_ids +#, fuzzy +msgid "Object Attachments" +msgstr "Adjuntos" diff --git a/mail_attach_existing_attachment/i18n/es_CO.po b/mail_attach_existing_attachment/i18n/es_CO.po index 25924b96e..f85607c42 100644 --- a/mail_attach_existing_attachment/i18n/es_CO.po +++ b/mail_attach_existing_attachment/i18n/es_CO.po @@ -19,12 +19,7 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message_object_attachment_ids -msgid "Attachments" -msgstr "" - -#. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message_can_attach_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__can_attach_attachment msgid "Can Attach Attachment" msgstr "" @@ -32,3 +27,8 @@ msgstr "" #: model:ir.model,name:mail_attach_existing_attachment.model_mail_compose_message msgid "Email composition wizard" msgstr "Asistente de redacción de E-mail" + +#. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__object_attachment_ids +msgid "Object Attachments" +msgstr "" diff --git a/mail_attach_existing_attachment/i18n/fr.po b/mail_attach_existing_attachment/i18n/fr.po index a420ef1bc..24f1e490e 100644 --- a/mail_attach_existing_attachment/i18n/fr.po +++ b/mail_attach_existing_attachment/i18n/fr.po @@ -20,12 +20,7 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message_object_attachment_ids -msgid "Attachments" -msgstr "Pièces jointes" - -#. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message_can_attach_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__can_attach_attachment msgid "Can Attach Attachment" msgstr "Il est possible d'attacher des pièces jointes" @@ -33,3 +28,9 @@ msgstr "Il est possible d'attacher des pièces jointes" #: model:ir.model,name:mail_attach_existing_attachment.model_mail_compose_message msgid "Email composition wizard" msgstr "Assistant de composition de courriel" + +#. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__object_attachment_ids +#, fuzzy +msgid "Object Attachments" +msgstr "Pièces jointes" diff --git a/mail_attach_existing_attachment/i18n/hr.po b/mail_attach_existing_attachment/i18n/hr.po index 5ceb5fb39..cbeebfdd8 100644 --- a/mail_attach_existing_attachment/i18n/hr.po +++ b/mail_attach_existing_attachment/i18n/hr.po @@ -21,12 +21,7 @@ msgstr "" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" #. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message_object_attachment_ids -msgid "Attachments" -msgstr "Privitci" - -#. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message_can_attach_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__can_attach_attachment msgid "Can Attach Attachment" msgstr "Može pridružiti privitak" @@ -34,3 +29,9 @@ msgstr "Može pridružiti privitak" #: model:ir.model,name:mail_attach_existing_attachment.model_mail_compose_message msgid "Email composition wizard" msgstr "Čarobnjak za sastavljanje maila" + +#. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__object_attachment_ids +#, fuzzy +msgid "Object Attachments" +msgstr "Privitci" diff --git a/mail_attach_existing_attachment/i18n/it.po b/mail_attach_existing_attachment/i18n/it.po index 6930c7db5..9b750d0ab 100644 --- a/mail_attach_existing_attachment/i18n/it.po +++ b/mail_attach_existing_attachment/i18n/it.po @@ -20,12 +20,7 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message_object_attachment_ids -msgid "Attachments" -msgstr "Allegati" - -#. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message_can_attach_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__can_attach_attachment msgid "Can Attach Attachment" msgstr "Inserimento Allegati Ammesso" @@ -33,3 +28,9 @@ msgstr "Inserimento Allegati Ammesso" #: model:ir.model,name:mail_attach_existing_attachment.model_mail_compose_message msgid "Email composition wizard" msgstr "Wizard Creazione Email" + +#. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__object_attachment_ids +#, fuzzy +msgid "Object Attachments" +msgstr "Allegati" diff --git a/mail_attach_existing_attachment/i18n/mail_attach_existing_attachment.pot b/mail_attach_existing_attachment/i18n/mail_attach_existing_attachment.pot index 266b4463a..329b973c7 100644 --- a/mail_attach_existing_attachment/i18n/mail_attach_existing_attachment.pot +++ b/mail_attach_existing_attachment/i18n/mail_attach_existing_attachment.pot @@ -4,7 +4,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 11.0\n" +"Project-Id-Version: Odoo Server 12.0\n" "Report-Msgid-Bugs-To: \n" "Last-Translator: <>\n" "Language-Team: \n" @@ -14,12 +14,7 @@ msgstr "" "Plural-Forms: \n" #. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message_object_attachment_ids -msgid "Attachments" -msgstr "" - -#. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message_can_attach_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__can_attach_attachment msgid "Can Attach Attachment" msgstr "" @@ -28,3 +23,8 @@ msgstr "" msgid "Email composition wizard" msgstr "" +#. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__object_attachment_ids +msgid "Object Attachments" +msgstr "" + diff --git a/mail_attach_existing_attachment/i18n/pt_BR.po b/mail_attach_existing_attachment/i18n/pt_BR.po index 3205cc480..e7e837b89 100644 --- a/mail_attach_existing_attachment/i18n/pt_BR.po +++ b/mail_attach_existing_attachment/i18n/pt_BR.po @@ -20,12 +20,7 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message_object_attachment_ids -msgid "Attachments" -msgstr "Anexos" - -#. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message_can_attach_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__can_attach_attachment msgid "Can Attach Attachment" msgstr "Pode Anexar Anexo" @@ -33,3 +28,9 @@ msgstr "Pode Anexar Anexo" #: model:ir.model,name:mail_attach_existing_attachment.model_mail_compose_message msgid "Email composition wizard" msgstr "Assistente de Composição de Email" + +#. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__object_attachment_ids +#, fuzzy +msgid "Object Attachments" +msgstr "Anexos" diff --git a/mail_attach_existing_attachment/i18n/sl.po b/mail_attach_existing_attachment/i18n/sl.po index 76343af02..3b78e47e1 100644 --- a/mail_attach_existing_attachment/i18n/sl.po +++ b/mail_attach_existing_attachment/i18n/sl.po @@ -21,12 +21,7 @@ msgstr "" "%100==4 ? 2 : 3);\n" #. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message_object_attachment_ids -msgid "Attachments" -msgstr "Priponke" - -#. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message_can_attach_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__can_attach_attachment msgid "Can Attach Attachment" msgstr "Lahko pripenja priponke" @@ -34,3 +29,9 @@ msgstr "Lahko pripenja priponke" #: model:ir.model,name:mail_attach_existing_attachment.model_mail_compose_message msgid "Email composition wizard" msgstr "Čarovnik za sestavljanje e-pošte" + +#. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__object_attachment_ids +#, fuzzy +msgid "Object Attachments" +msgstr "Priponke" diff --git a/mail_attach_existing_attachment/i18n/zh_CN.po b/mail_attach_existing_attachment/i18n/zh_CN.po index 2fdf0f0a5..a61c0d028 100644 --- a/mail_attach_existing_attachment/i18n/zh_CN.po +++ b/mail_attach_existing_attachment/i18n/zh_CN.po @@ -20,12 +20,7 @@ msgstr "" "Plural-Forms: nplurals=1; plural=0;\n" #. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message_object_attachment_ids -msgid "Attachments" -msgstr "附件" - -#. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message_can_attach_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__can_attach_attachment msgid "Can Attach Attachment" msgstr "" @@ -33,3 +28,9 @@ msgstr "" #: model:ir.model,name:mail_attach_existing_attachment.model_mail_compose_message msgid "Email composition wizard" msgstr "" + +#. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__object_attachment_ids +#, fuzzy +msgid "Object Attachments" +msgstr "附件" diff --git a/mail_attach_existing_attachment/readme/CONTRIBUTORS.rst b/mail_attach_existing_attachment/readme/CONTRIBUTORS.rst new file mode 100644 index 000000000..db6910ff2 --- /dev/null +++ b/mail_attach_existing_attachment/readme/CONTRIBUTORS.rst @@ -0,0 +1,5 @@ +* Adrien Peiffer +* `Tecnativa `_: + + * Sergio Teruel + * Ernesto Tejeda diff --git a/mail_attach_existing_attachment/readme/DESCRIPTION.rst b/mail_attach_existing_attachment/readme/DESCRIPTION.rst new file mode 100644 index 000000000..189719c21 --- /dev/null +++ b/mail_attach_existing_attachment/readme/DESCRIPTION.rst @@ -0,0 +1,2 @@ +This module was written to add the possibility to add attachments located on +the object by sending it by email with the mail compose message wizard diff --git a/mail_attach_existing_attachment/readme/ROADMAP.rst b/mail_attach_existing_attachment/readme/ROADMAP.rst new file mode 100644 index 000000000..5d24095fd --- /dev/null +++ b/mail_attach_existing_attachment/readme/ROADMAP.rst @@ -0,0 +1 @@ +* The module only allows the addition of attachments linked to the object. diff --git a/mail_attach_existing_attachment/readme/USAGE.rst b/mail_attach_existing_attachment/readme/USAGE.rst new file mode 100644 index 000000000..22a328e9a --- /dev/null +++ b/mail_attach_existing_attachment/readme/USAGE.rst @@ -0,0 +1,11 @@ +To use this module, you need to: + +* Adding some attachments on an object by creating a new *Log note* + +.. figure:: mail_attach_existing_attachment/static/description/attachment.png + :alt: Attachment on purchase order + +* Then, by sending the object via email, you can select the attachment added earlier + +.. figure:: mail_attach_existing_attachment/static/description/ex_mail_compose_message.png + :alt: Sends the Purchase Order by email diff --git a/mail_attach_existing_attachment/static/description/attachment.png b/mail_attach_existing_attachment/static/description/attachment.png index 15e101e16880087442bb75203733f735e416a40d..0a6c2c23b7572b28b252e7974ba23103f1a84710 100644 GIT binary patch literal 15404 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 MSxc$tsb$dr0@f~l(EtDd literal 8492 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 Zg!zQgYWP}Temt2ED9WkIR!W-%{}0yJhUWkP diff --git a/mail_attach_existing_attachment/static/description/ex_mail_compose_message.png b/mail_attach_existing_attachment/static/description/ex_mail_compose_message.png index 5742434efcc37a251e83deeb58b9f32caa1f2cc1..c6437475a428e9d2f56e4b74fd499237ca1d9cd1 100644 GIT binary patch literal 51219 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

%j|z!rtnD$t=fIw0@|9=|X03 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 literal 54406 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 + + + + + +Mail Attach Existing Attachment + + + +

+

Mail Attach Existing Attachment

+ + +

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

+

This module was written to add the possibility to add attachments located on +the object by sending it by email with the mail compose message wizard

+

Table of contents

+ +
+

Usage

+

To use this module, you need to:

+
    +
  • Adding some attachments on an object by creating a new Log note
  • +
+
+Attachment on purchase order +
+
    +
  • Then, by sending the object via email, you can select the attachment added earlier
  • +
+
+Sends the Purchase Order by email +
+
+
+

Known issues / Roadmap

+
    +
  • The module only allows the addition of attachments linked to the object.
  • +
+
+
+

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

+
    +
  • ACSONE SA/NV
  • +
  • Tecnativa
  • +
+
+
+

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/social project on GitHub.

+

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

+
+
+
+ + diff --git a/mail_attach_existing_attachment/wizard/mail_compose_message.py b/mail_attach_existing_attachment/wizard/mail_compose_message.py index 073c7da0e..5b4b32e5e 100644 --- a/mail_attach_existing_attachment/wizard/mail_compose_message.py +++ b/mail_attach_existing_attachment/wizard/mail_compose_message.py @@ -41,7 +41,8 @@ def default_get(self, fields_list): object_attachment_ids = fields.Many2many( comodel_name='ir.attachment', relation='mail_compose_message_ir_attachments_object_rel', - column1='wizard_id', column2='attachment_id', string='Attachments') + column1='wizard_id', column2='attachment_id', + string='Object Attachments') @api.multi def get_mail_values(self, res_ids): From 49c85008f3c0d0d510bf069852a496a5b100596f Mon Sep 17 00:00:00 2001 From: Rodrigo Macedo Date: Mon, 26 Aug 2019 13:42:40 +0000 Subject: [PATCH 06/42] Translated using Weblate (Portuguese (Brazil)) Currently translated at 100.0% (3 of 3 strings) Translation: social-12.0/social-12.0-mail_attach_existing_attachment Translate-URL: https://translation.odoo-community.org/projects/social-12-0/social-12-0-mail_attach_existing_attachment/pt_BR/ --- mail_attach_existing_attachment/i18n/pt_BR.po | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/mail_attach_existing_attachment/i18n/pt_BR.po b/mail_attach_existing_attachment/i18n/pt_BR.po index e7e837b89..c3421c6be 100644 --- a/mail_attach_existing_attachment/i18n/pt_BR.po +++ b/mail_attach_existing_attachment/i18n/pt_BR.po @@ -9,15 +9,16 @@ msgstr "" "Project-Id-Version: social (9.0)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-06-13 02:44+0000\n" -"PO-Revision-Date: 2016-06-13 03:11+0000\n" -"Last-Translator: OCA Transbot \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/oca/OCA-" -"social-9-0/language/pt_BR/)\n" +"PO-Revision-Date: 2019-08-26 16:01+0000\n" +"Last-Translator: Rodrigo Macedo \n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/oca/" +"OCA-social-9-0/language/pt_BR/)\n" "Language: pt_BR\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" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 3.8\n" #. module: mail_attach_existing_attachment #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__can_attach_attachment @@ -31,6 +32,5 @@ msgstr "Assistente de Composição de Email" #. module: mail_attach_existing_attachment #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__object_attachment_ids -#, fuzzy msgid "Object Attachments" -msgstr "Anexos" +msgstr "Anexos de Objeto" From a4371e41ffb1d3b297f7a11fed7603dcfef69aff Mon Sep 17 00:00:00 2001 From: Matjaz Mozetic Date: Thu, 19 Mar 2020 08:15:51 +0000 Subject: [PATCH 07/42] Translated using Weblate (Slovenian) Currently translated at 100.0% (3 of 3 strings) Translation: social-12.0/social-12.0-mail_attach_existing_attachment Translate-URL: https://translation.odoo-community.org/projects/social-12-0/social-12-0-mail_attach_existing_attachment/sl/ --- mail_attach_existing_attachment/i18n/sl.po | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/mail_attach_existing_attachment/i18n/sl.po b/mail_attach_existing_attachment/i18n/sl.po index 3b78e47e1..01d53a25b 100644 --- a/mail_attach_existing_attachment/i18n/sl.po +++ b/mail_attach_existing_attachment/i18n/sl.po @@ -9,16 +9,17 @@ msgstr "" "Project-Id-Version: social (9.0)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-06-13 02:44+0000\n" -"PO-Revision-Date: 2016-06-13 03:11+0000\n" -"Last-Translator: OCA Transbot \n" +"PO-Revision-Date: 2020-03-19 10:13+0000\n" +"Last-Translator: Matjaz Mozetic \n" "Language-Team: Slovenian (http://www.transifex.com/oca/OCA-social-9-0/" "language/sl/)\n" "Language: sl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" -"%100==4 ? 2 : 3);\n" +"Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || " +"n%100==4 ? 2 : 3;\n" +"X-Generator: Weblate 3.10\n" #. module: mail_attach_existing_attachment #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__can_attach_attachment @@ -32,6 +33,5 @@ msgstr "Čarovnik za sestavljanje e-pošte" #. module: mail_attach_existing_attachment #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__object_attachment_ids -#, fuzzy msgid "Object Attachments" -msgstr "Priponke" +msgstr "Priponke objekta" From a17bf64b40add86c6d3204213c0c3209844c25dd Mon Sep 17 00:00:00 2001 From: David Beal Date: Wed, 22 Apr 2020 09:46:00 +0200 Subject: [PATCH 08/42] FIX image display --- mail_attach_existing_attachment/README.rst | 4 ++-- mail_attach_existing_attachment/i18n/ca.po | 2 ++ mail_attach_existing_attachment/i18n/de.po | 2 ++ mail_attach_existing_attachment/i18n/es.po | 2 ++ mail_attach_existing_attachment/i18n/es_CO.po | 2 ++ mail_attach_existing_attachment/i18n/fr.po | 2 ++ mail_attach_existing_attachment/i18n/hr.po | 2 ++ mail_attach_existing_attachment/i18n/it.po | 2 ++ .../i18n/mail_attach_existing_attachment.pot | 2 ++ mail_attach_existing_attachment/i18n/pt_BR.po | 6 ++++-- mail_attach_existing_attachment/i18n/sl.po | 6 ++++-- mail_attach_existing_attachment/i18n/zh_CN.po | 2 ++ mail_attach_existing_attachment/readme/USAGE.rst | 4 ++-- .../static/description/index.html | 4 ++-- 14 files changed, 32 insertions(+), 10 deletions(-) diff --git a/mail_attach_existing_attachment/README.rst b/mail_attach_existing_attachment/README.rst index ec8919f49..307c529a1 100644 --- a/mail_attach_existing_attachment/README.rst +++ b/mail_attach_existing_attachment/README.rst @@ -40,12 +40,12 @@ To use this module, you need to: * Adding some attachments on an object by creating a new *Log note* -.. figure:: https://raw.githubusercontent.com/OCA/social/12.0/mail_attach_existing_attachment/mail_attach_existing_attachment/static/description/attachment.png +.. figure:: https://raw.githubusercontent.com/OCA/social/12.0/mail_attach_existing_attachment/static/description/attachment.png :alt: Attachment on purchase order * Then, by sending the object via email, you can select the attachment added earlier -.. figure:: https://raw.githubusercontent.com/OCA/social/12.0/mail_attach_existing_attachment/mail_attach_existing_attachment/static/description/ex_mail_compose_message.png +.. figure:: https://raw.githubusercontent.com/OCA/social/12.0/mail_attach_existing_attachment/static/description/ex_mail_compose_message.png :alt: Sends the Purchase Order by email Known issues / Roadmap diff --git a/mail_attach_existing_attachment/i18n/ca.po b/mail_attach_existing_attachment/i18n/ca.po index cdfb4cacf..7f599ca09 100644 --- a/mail_attach_existing_attachment/i18n/ca.po +++ b/mail_attach_existing_attachment/i18n/ca.po @@ -19,6 +19,7 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__can_attach_attachment #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__can_attach_attachment msgid "Can Attach Attachment" msgstr "" @@ -29,6 +30,7 @@ msgid "Email composition wizard" msgstr "Assistent per composició de correus electrònics" #. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__object_attachment_ids #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__object_attachment_ids msgid "Object Attachments" msgstr "" diff --git a/mail_attach_existing_attachment/i18n/de.po b/mail_attach_existing_attachment/i18n/de.po index 117c19351..46ed67b42 100644 --- a/mail_attach_existing_attachment/i18n/de.po +++ b/mail_attach_existing_attachment/i18n/de.po @@ -20,6 +20,7 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__can_attach_attachment #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__can_attach_attachment msgid "Can Attach Attachment" msgstr "Kann Anhang anhängen" @@ -30,6 +31,7 @@ msgid "Email composition wizard" msgstr "Assistent zum Email verfassen" #. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__object_attachment_ids #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__object_attachment_ids #, fuzzy msgid "Object Attachments" diff --git a/mail_attach_existing_attachment/i18n/es.po b/mail_attach_existing_attachment/i18n/es.po index e948e76d6..e83ec5023 100644 --- a/mail_attach_existing_attachment/i18n/es.po +++ b/mail_attach_existing_attachment/i18n/es.po @@ -20,6 +20,7 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__can_attach_attachment #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__can_attach_attachment msgid "Can Attach Attachment" msgstr "Puede adjuntar adjuntos" @@ -30,6 +31,7 @@ msgid "Email composition wizard" msgstr "Asistente composición Correo Electrónico" #. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__object_attachment_ids #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__object_attachment_ids #, fuzzy msgid "Object Attachments" diff --git a/mail_attach_existing_attachment/i18n/es_CO.po b/mail_attach_existing_attachment/i18n/es_CO.po index f85607c42..a11b3ba04 100644 --- a/mail_attach_existing_attachment/i18n/es_CO.po +++ b/mail_attach_existing_attachment/i18n/es_CO.po @@ -19,6 +19,7 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__can_attach_attachment #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__can_attach_attachment msgid "Can Attach Attachment" msgstr "" @@ -29,6 +30,7 @@ msgid "Email composition wizard" msgstr "Asistente de redacción de E-mail" #. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__object_attachment_ids #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__object_attachment_ids msgid "Object Attachments" msgstr "" diff --git a/mail_attach_existing_attachment/i18n/fr.po b/mail_attach_existing_attachment/i18n/fr.po index 24f1e490e..5fad366f2 100644 --- a/mail_attach_existing_attachment/i18n/fr.po +++ b/mail_attach_existing_attachment/i18n/fr.po @@ -20,6 +20,7 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__can_attach_attachment #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__can_attach_attachment msgid "Can Attach Attachment" msgstr "Il est possible d'attacher des pièces jointes" @@ -30,6 +31,7 @@ msgid "Email composition wizard" msgstr "Assistant de composition de courriel" #. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__object_attachment_ids #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__object_attachment_ids #, fuzzy msgid "Object Attachments" diff --git a/mail_attach_existing_attachment/i18n/hr.po b/mail_attach_existing_attachment/i18n/hr.po index cbeebfdd8..907bb5d77 100644 --- a/mail_attach_existing_attachment/i18n/hr.po +++ b/mail_attach_existing_attachment/i18n/hr.po @@ -21,6 +21,7 @@ msgstr "" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" #. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__can_attach_attachment #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__can_attach_attachment msgid "Can Attach Attachment" msgstr "Može pridružiti privitak" @@ -31,6 +32,7 @@ msgid "Email composition wizard" msgstr "Čarobnjak za sastavljanje maila" #. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__object_attachment_ids #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__object_attachment_ids #, fuzzy msgid "Object Attachments" diff --git a/mail_attach_existing_attachment/i18n/it.po b/mail_attach_existing_attachment/i18n/it.po index 9b750d0ab..5834c4f45 100644 --- a/mail_attach_existing_attachment/i18n/it.po +++ b/mail_attach_existing_attachment/i18n/it.po @@ -20,6 +20,7 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__can_attach_attachment #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__can_attach_attachment msgid "Can Attach Attachment" msgstr "Inserimento Allegati Ammesso" @@ -30,6 +31,7 @@ msgid "Email composition wizard" msgstr "Wizard Creazione Email" #. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__object_attachment_ids #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__object_attachment_ids #, fuzzy msgid "Object Attachments" diff --git a/mail_attach_existing_attachment/i18n/mail_attach_existing_attachment.pot b/mail_attach_existing_attachment/i18n/mail_attach_existing_attachment.pot index 329b973c7..c5d795bac 100644 --- a/mail_attach_existing_attachment/i18n/mail_attach_existing_attachment.pot +++ b/mail_attach_existing_attachment/i18n/mail_attach_existing_attachment.pot @@ -14,6 +14,7 @@ msgstr "" "Plural-Forms: \n" #. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__can_attach_attachment #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__can_attach_attachment msgid "Can Attach Attachment" msgstr "" @@ -24,6 +25,7 @@ msgid "Email composition wizard" msgstr "" #. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__object_attachment_ids #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__object_attachment_ids msgid "Object Attachments" msgstr "" diff --git a/mail_attach_existing_attachment/i18n/pt_BR.po b/mail_attach_existing_attachment/i18n/pt_BR.po index c3421c6be..97c40b24a 100644 --- a/mail_attach_existing_attachment/i18n/pt_BR.po +++ b/mail_attach_existing_attachment/i18n/pt_BR.po @@ -11,8 +11,8 @@ msgstr "" "POT-Creation-Date: 2016-06-13 02:44+0000\n" "PO-Revision-Date: 2019-08-26 16:01+0000\n" "Last-Translator: Rodrigo Macedo \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/oca/" -"OCA-social-9-0/language/pt_BR/)\n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/oca/OCA-" +"social-9-0/language/pt_BR/)\n" "Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -21,6 +21,7 @@ msgstr "" "X-Generator: Weblate 3.8\n" #. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__can_attach_attachment #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__can_attach_attachment msgid "Can Attach Attachment" msgstr "Pode Anexar Anexo" @@ -31,6 +32,7 @@ msgid "Email composition wizard" msgstr "Assistente de Composição de Email" #. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__object_attachment_ids #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__object_attachment_ids msgid "Object Attachments" msgstr "Anexos de Objeto" diff --git a/mail_attach_existing_attachment/i18n/sl.po b/mail_attach_existing_attachment/i18n/sl.po index 01d53a25b..2794df127 100644 --- a/mail_attach_existing_attachment/i18n/sl.po +++ b/mail_attach_existing_attachment/i18n/sl.po @@ -17,11 +17,12 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || " -"n%100==4 ? 2 : 3;\n" +"Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" +"%100==4 ? 2 : 3;\n" "X-Generator: Weblate 3.10\n" #. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__can_attach_attachment #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__can_attach_attachment msgid "Can Attach Attachment" msgstr "Lahko pripenja priponke" @@ -32,6 +33,7 @@ msgid "Email composition wizard" msgstr "Čarovnik za sestavljanje e-pošte" #. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__object_attachment_ids #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__object_attachment_ids msgid "Object Attachments" msgstr "Priponke objekta" diff --git a/mail_attach_existing_attachment/i18n/zh_CN.po b/mail_attach_existing_attachment/i18n/zh_CN.po index a61c0d028..7cff2bcab 100644 --- a/mail_attach_existing_attachment/i18n/zh_CN.po +++ b/mail_attach_existing_attachment/i18n/zh_CN.po @@ -20,6 +20,7 @@ msgstr "" "Plural-Forms: nplurals=1; plural=0;\n" #. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__can_attach_attachment #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__can_attach_attachment msgid "Can Attach Attachment" msgstr "" @@ -30,6 +31,7 @@ msgid "Email composition wizard" msgstr "" #. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__object_attachment_ids #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__object_attachment_ids #, fuzzy msgid "Object Attachments" diff --git a/mail_attach_existing_attachment/readme/USAGE.rst b/mail_attach_existing_attachment/readme/USAGE.rst index 22a328e9a..cd0abffec 100644 --- a/mail_attach_existing_attachment/readme/USAGE.rst +++ b/mail_attach_existing_attachment/readme/USAGE.rst @@ -2,10 +2,10 @@ To use this module, you need to: * Adding some attachments on an object by creating a new *Log note* -.. figure:: mail_attach_existing_attachment/static/description/attachment.png +.. figure:: ../static/description/attachment.png :alt: Attachment on purchase order * Then, by sending the object via email, you can select the attachment added earlier -.. figure:: mail_attach_existing_attachment/static/description/ex_mail_compose_message.png +.. figure:: ../static/description/ex_mail_compose_message.png :alt: Sends the Purchase Order by email diff --git a/mail_attach_existing_attachment/static/description/index.html b/mail_attach_existing_attachment/static/description/index.html index 45fa0f4a6..3030895a4 100644 --- a/mail_attach_existing_attachment/static/description/index.html +++ b/mail_attach_existing_attachment/static/description/index.html @@ -391,13 +391,13 @@

Usage

  • Adding some attachments on an object by creating a new Log note
  • -Attachment on purchase order +Attachment on purchase order
    • Then, by sending the object via email, you can select the attachment added earlier
    -Sends the Purchase Order by email +Sends the Purchase Order by email
    From 4b3d2a63e8ecc187453da5b7716cd673f8a7b977 Mon Sep 17 00:00:00 2001 From: Radovan Skolnik Date: Mon, 24 Aug 2020 15:42:33 +0200 Subject: [PATCH 09/42] [IMP] mail_attach_existing_attachment: black, isort, prettier --- .../__manifest__.py | 27 ++++------- .../tests/__init__.py | 1 - .../test_mail_attach_existing_attachment.py | 46 +++++++++++-------- .../wizard/mail_compose_message.py | 32 +++++++------ 4 files changed, 55 insertions(+), 51 deletions(-) diff --git a/mail_attach_existing_attachment/__manifest__.py b/mail_attach_existing_attachment/__manifest__.py index c907555ef..ef3195718 100644 --- a/mail_attach_existing_attachment/__manifest__.py +++ b/mail_attach_existing_attachment/__manifest__.py @@ -22,21 +22,14 @@ # ############################################################################## { - 'name': "Mail Attach Existing Attachment", - 'summary': "Adding attachment on the object by sending this one", - 'author': "ACSONE SA/NV, " - "Tecnativa, " - "Odoo Community Association (OCA)", - 'website': "https://github.com/OCA/social", - 'category': 'Social Network', - 'version': '12.0.1.0.0', - 'license': 'AGPL-3', - 'depends': [ - 'mail', - 'document', - ], - 'data': [ - 'wizard/mail_compose_message_view.xml', - ], - 'installable': True, + "name": "Mail Attach Existing Attachment", + "summary": "Adding attachment on the object by sending this one", + "author": "ACSONE SA/NV, " "Tecnativa, " "Odoo Community Association (OCA)", + "website": "https://github.com/OCA/social", + "category": "Social Network", + "version": "12.0.1.0.0", + "license": "AGPL-3", + "depends": ["mail", "document"], + "data": ["wizard/mail_compose_message_view.xml"], + "installable": True, } diff --git a/mail_attach_existing_attachment/tests/__init__.py b/mail_attach_existing_attachment/tests/__init__.py index fc1e8e4e2..01f264cc1 100644 --- a/mail_attach_existing_attachment/tests/__init__.py +++ b/mail_attach_existing_attachment/tests/__init__.py @@ -1,2 +1 @@ - from . import test_mail_attach_existing_attachment diff --git a/mail_attach_existing_attachment/tests/test_mail_attach_existing_attachment.py b/mail_attach_existing_attachment/tests/test_mail_attach_existing_attachment.py index a6730e773..43d59b325 100644 --- a/mail_attach_existing_attachment/tests/test_mail_attach_existing_attachment.py +++ b/mail_attach_existing_attachment/tests/test_mail_attach_existing_attachment.py @@ -26,28 +26,34 @@ class TestAttachExistingAttachment(common.TransactionCase): - def setUp(self): super(TestAttachExistingAttachment, self).setUp() - self.partner_obj = self.env['res.partner'] - self.partner_01 = self.env['res.partner'].create({ - 'name': 'Partner 1', - 'email': 'partner1@example.org', - 'is_company': True, - 'parent_id': False, - }) + self.partner_obj = self.env["res.partner"] + self.partner_01 = self.env["res.partner"].create( + { + "name": "Partner 1", + "email": "partner1@example.org", + "is_company": True, + "parent_id": False, + } + ) def test_send_email_attachment(self): - attach1 = self.env['ir.attachment'].create({ - 'name': 'Attach1', 'datas_fname': 'Attach1', - 'datas': 'bWlncmF0aW9uIHRlc3Q=', - 'res_model': 'res.partner', 'res_id': self.partner_01.id}) - vals = {'model': 'res.partner', - 'partner_ids': [(6, 0, [self.partner_01.id])], - 'res_id': self.partner_01.id, - 'object_attachment_ids': [(6, 0, [attach1.id])] - } - mail = self.env['mail.compose.message'].create(vals) + attach1 = self.env["ir.attachment"].create( + { + "name": "Attach1", + "datas_fname": "Attach1", + "datas": "bWlncmF0aW9uIHRlc3Q=", + "res_model": "res.partner", + "res_id": self.partner_01.id, + } + ) + vals = { + "model": "res.partner", + "partner_ids": [(6, 0, [self.partner_01.id])], + "res_id": self.partner_01.id, + "object_attachment_ids": [(6, 0, [attach1.id])], + } + mail = self.env["mail.compose.message"].create(vals) values = mail.get_mail_values([self.partner_01.id]) - self.assertTrue(attach1.id in - values[self.partner_01.id]['attachment_ids']) + self.assertTrue(attach1.id in values[self.partner_01.id]["attachment_ids"]) diff --git a/mail_attach_existing_attachment/wizard/mail_compose_message.py b/mail_attach_existing_attachment/wizard/mail_compose_message.py index 5b4b32e5e..d42d9d547 100644 --- a/mail_attach_existing_attachment/wizard/mail_compose_message.py +++ b/mail_attach_existing_attachment/wizard/mail_compose_message.py @@ -22,32 +22,38 @@ # ############################################################################## -from odoo import models, fields, api +from odoo import api, fields, models class MailComposeMessage(models.TransientModel): - _inherit = 'mail.compose.message' + _inherit = "mail.compose.message" @api.model def default_get(self, fields_list): res = super(MailComposeMessage, self).default_get(fields_list) - if res.get('res_id') and res.get('model') and \ - res.get('composition_mode', '') != 'mass_mail' and\ - not res.get('can_attach_attachment'): - res['can_attach_attachment'] = True # pragma: no cover + if ( + res.get("res_id") + and res.get("model") + and res.get("composition_mode", "") != "mass_mail" + and not res.get("can_attach_attachment") + ): + res["can_attach_attachment"] = True # pragma: no cover return res - can_attach_attachment = fields.Boolean(string='Can Attach Attachment') + can_attach_attachment = fields.Boolean(string="Can Attach Attachment") object_attachment_ids = fields.Many2many( - comodel_name='ir.attachment', - relation='mail_compose_message_ir_attachments_object_rel', - column1='wizard_id', column2='attachment_id', - string='Object Attachments') + comodel_name="ir.attachment", + relation="mail_compose_message_ir_attachments_object_rel", + column1="wizard_id", + column2="attachment_id", + string="Object Attachments", + ) @api.multi def get_mail_values(self, res_ids): res = super(MailComposeMessage, self).get_mail_values(res_ids) if self.object_attachment_ids.ids and self.model and len(res_ids) == 1: - res[res_ids[0]].setdefault('attachment_ids', []).extend( - self.object_attachment_ids.ids) + res[res_ids[0]].setdefault("attachment_ids", []).extend( + self.object_attachment_ids.ids + ) return res From 40b70a28d574d70d5f17a6e51706798c4691ac8d Mon Sep 17 00:00:00 2001 From: Radovan Skolnik Date: Mon, 24 Aug 2020 16:24:53 +0200 Subject: [PATCH 10/42] [MIG] mail_attach_existing_attachment: Migration to 13.0 --- mail_attach_existing_attachment/README.rst | 14 ++++---- .../__manifest__.py | 32 ++++--------------- mail_attach_existing_attachment/i18n/ca.po | 2 -- mail_attach_existing_attachment/i18n/de.po | 2 -- mail_attach_existing_attachment/i18n/es.po | 2 -- mail_attach_existing_attachment/i18n/es_CO.po | 2 -- mail_attach_existing_attachment/i18n/fr.po | 2 -- mail_attach_existing_attachment/i18n/hr.po | 2 -- mail_attach_existing_attachment/i18n/it.po | 2 -- .../i18n/mail_attach_existing_attachment.pot | 9 ++---- mail_attach_existing_attachment/i18n/pt_BR.po | 2 -- mail_attach_existing_attachment/i18n/sl.po | 2 -- mail_attach_existing_attachment/i18n/zh_CN.po | 2 -- .../static/description/index.html | 10 +++--- .../test_mail_attach_existing_attachment.py | 26 ++------------- .../wizard/mail_compose_message.py | 30 +++-------------- 16 files changed, 27 insertions(+), 114 deletions(-) diff --git a/mail_attach_existing_attachment/README.rst b/mail_attach_existing_attachment/README.rst index 307c529a1..9aa0187d1 100644 --- a/mail_attach_existing_attachment/README.rst +++ b/mail_attach_existing_attachment/README.rst @@ -14,13 +14,13 @@ Mail Attach Existing Attachment :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fsocial-lightgray.png?logo=github - :target: https://github.com/OCA/social/tree/12.0/mail_attach_existing_attachment + :target: https://github.com/OCA/social/tree/13.0/mail_attach_existing_attachment :alt: OCA/social .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/social-12-0/social-12-0-mail_attach_existing_attachment + :target: https://translation.odoo-community.org/projects/social-13-0/social-13-0-mail_attach_existing_attachment :alt: Translate me on Weblate .. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png - :target: https://runbot.odoo-community.org/runbot/205/12.0 + :target: https://runbot.odoo-community.org/runbot/205/13.0 :alt: Try me on Runbot |badge1| |badge2| |badge3| |badge4| |badge5| @@ -40,12 +40,12 @@ To use this module, you need to: * Adding some attachments on an object by creating a new *Log note* -.. figure:: https://raw.githubusercontent.com/OCA/social/12.0/mail_attach_existing_attachment/static/description/attachment.png +.. figure:: https://raw.githubusercontent.com/OCA/social/13.0/mail_attach_existing_attachment/static/description/attachment.png :alt: Attachment on purchase order * Then, by sending the object via email, you can select the attachment added earlier -.. figure:: https://raw.githubusercontent.com/OCA/social/12.0/mail_attach_existing_attachment/static/description/ex_mail_compose_message.png +.. figure:: https://raw.githubusercontent.com/OCA/social/13.0/mail_attach_existing_attachment/static/description/ex_mail_compose_message.png :alt: Sends the Purchase Order by email Known issues / Roadmap @@ -59,7 +59,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 smashing it by providing a detailed and welcomed -`feedback `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -94,6 +94,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/social `_ project on GitHub. +This module is part of the `OCA/social `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/mail_attach_existing_attachment/__manifest__.py b/mail_attach_existing_attachment/__manifest__.py index ef3195718..a6df627da 100644 --- a/mail_attach_existing_attachment/__manifest__.py +++ b/mail_attach_existing_attachment/__manifest__.py @@ -1,35 +1,15 @@ -############################################################################## -# -# This file is part of mail_attach_existing_attachment, -# an Odoo module. -# -# Copyright (c) 2015 ACSONE SA/NV () -# -# mail_attach_existing_attachment is free software: -# you can redistribute it and/or modify it under the terms of the GNU -# Affero General Public License as published by the Free Software -# Foundation,either version 3 of the License, or (at your option) any -# later version. -# -# mail_attach_existing_attachment is distributed -# in the hope that it will be useful, but WITHOUT ANY WARRANTY; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -# PURPOSE. See the GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with mail_attach_existing_attachment. -# If not, see . -# -############################################################################## +# Copyright 2015 ACSONE SA/NV +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + { "name": "Mail Attach Existing Attachment", "summary": "Adding attachment on the object by sending this one", - "author": "ACSONE SA/NV, " "Tecnativa, " "Odoo Community Association (OCA)", + "author": "ACSONE SA/NV, Tecnativa, Odoo Community Association (OCA)", "website": "https://github.com/OCA/social", "category": "Social Network", - "version": "12.0.1.0.0", + "version": "13.0.1.0.0", "license": "AGPL-3", - "depends": ["mail", "document"], + "depends": ["mail"], "data": ["wizard/mail_compose_message_view.xml"], "installable": True, } diff --git a/mail_attach_existing_attachment/i18n/ca.po b/mail_attach_existing_attachment/i18n/ca.po index 7f599ca09..cdfb4cacf 100644 --- a/mail_attach_existing_attachment/i18n/ca.po +++ b/mail_attach_existing_attachment/i18n/ca.po @@ -19,7 +19,6 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__can_attach_attachment #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__can_attach_attachment msgid "Can Attach Attachment" msgstr "" @@ -30,7 +29,6 @@ msgid "Email composition wizard" msgstr "Assistent per composició de correus electrònics" #. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__object_attachment_ids #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__object_attachment_ids msgid "Object Attachments" msgstr "" diff --git a/mail_attach_existing_attachment/i18n/de.po b/mail_attach_existing_attachment/i18n/de.po index 46ed67b42..117c19351 100644 --- a/mail_attach_existing_attachment/i18n/de.po +++ b/mail_attach_existing_attachment/i18n/de.po @@ -20,7 +20,6 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__can_attach_attachment #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__can_attach_attachment msgid "Can Attach Attachment" msgstr "Kann Anhang anhängen" @@ -31,7 +30,6 @@ msgid "Email composition wizard" msgstr "Assistent zum Email verfassen" #. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__object_attachment_ids #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__object_attachment_ids #, fuzzy msgid "Object Attachments" diff --git a/mail_attach_existing_attachment/i18n/es.po b/mail_attach_existing_attachment/i18n/es.po index e83ec5023..e948e76d6 100644 --- a/mail_attach_existing_attachment/i18n/es.po +++ b/mail_attach_existing_attachment/i18n/es.po @@ -20,7 +20,6 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__can_attach_attachment #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__can_attach_attachment msgid "Can Attach Attachment" msgstr "Puede adjuntar adjuntos" @@ -31,7 +30,6 @@ msgid "Email composition wizard" msgstr "Asistente composición Correo Electrónico" #. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__object_attachment_ids #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__object_attachment_ids #, fuzzy msgid "Object Attachments" diff --git a/mail_attach_existing_attachment/i18n/es_CO.po b/mail_attach_existing_attachment/i18n/es_CO.po index a11b3ba04..f85607c42 100644 --- a/mail_attach_existing_attachment/i18n/es_CO.po +++ b/mail_attach_existing_attachment/i18n/es_CO.po @@ -19,7 +19,6 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__can_attach_attachment #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__can_attach_attachment msgid "Can Attach Attachment" msgstr "" @@ -30,7 +29,6 @@ msgid "Email composition wizard" msgstr "Asistente de redacción de E-mail" #. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__object_attachment_ids #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__object_attachment_ids msgid "Object Attachments" msgstr "" diff --git a/mail_attach_existing_attachment/i18n/fr.po b/mail_attach_existing_attachment/i18n/fr.po index 5fad366f2..24f1e490e 100644 --- a/mail_attach_existing_attachment/i18n/fr.po +++ b/mail_attach_existing_attachment/i18n/fr.po @@ -20,7 +20,6 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__can_attach_attachment #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__can_attach_attachment msgid "Can Attach Attachment" msgstr "Il est possible d'attacher des pièces jointes" @@ -31,7 +30,6 @@ msgid "Email composition wizard" msgstr "Assistant de composition de courriel" #. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__object_attachment_ids #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__object_attachment_ids #, fuzzy msgid "Object Attachments" diff --git a/mail_attach_existing_attachment/i18n/hr.po b/mail_attach_existing_attachment/i18n/hr.po index 907bb5d77..cbeebfdd8 100644 --- a/mail_attach_existing_attachment/i18n/hr.po +++ b/mail_attach_existing_attachment/i18n/hr.po @@ -21,7 +21,6 @@ msgstr "" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" #. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__can_attach_attachment #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__can_attach_attachment msgid "Can Attach Attachment" msgstr "Može pridružiti privitak" @@ -32,7 +31,6 @@ msgid "Email composition wizard" msgstr "Čarobnjak za sastavljanje maila" #. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__object_attachment_ids #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__object_attachment_ids #, fuzzy msgid "Object Attachments" diff --git a/mail_attach_existing_attachment/i18n/it.po b/mail_attach_existing_attachment/i18n/it.po index 5834c4f45..9b750d0ab 100644 --- a/mail_attach_existing_attachment/i18n/it.po +++ b/mail_attach_existing_attachment/i18n/it.po @@ -20,7 +20,6 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__can_attach_attachment #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__can_attach_attachment msgid "Can Attach Attachment" msgstr "Inserimento Allegati Ammesso" @@ -31,7 +30,6 @@ msgid "Email composition wizard" msgstr "Wizard Creazione Email" #. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__object_attachment_ids #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__object_attachment_ids #, fuzzy msgid "Object Attachments" diff --git a/mail_attach_existing_attachment/i18n/mail_attach_existing_attachment.pot b/mail_attach_existing_attachment/i18n/mail_attach_existing_attachment.pot index c5d795bac..38b7b38c7 100644 --- a/mail_attach_existing_attachment/i18n/mail_attach_existing_attachment.pot +++ b/mail_attach_existing_attachment/i18n/mail_attach_existing_attachment.pot @@ -1,12 +1,12 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: -# * mail_attach_existing_attachment +# * mail_attach_existing_attachment # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 12.0\n" +"Project-Id-Version: Odoo Server 13.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: <>\n" +"Last-Translator: \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -14,7 +14,6 @@ msgstr "" "Plural-Forms: \n" #. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__can_attach_attachment #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__can_attach_attachment msgid "Can Attach Attachment" msgstr "" @@ -25,8 +24,6 @@ msgid "Email composition wizard" msgstr "" #. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__object_attachment_ids #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__object_attachment_ids msgid "Object Attachments" msgstr "" - diff --git a/mail_attach_existing_attachment/i18n/pt_BR.po b/mail_attach_existing_attachment/i18n/pt_BR.po index 97c40b24a..268ebacf6 100644 --- a/mail_attach_existing_attachment/i18n/pt_BR.po +++ b/mail_attach_existing_attachment/i18n/pt_BR.po @@ -21,7 +21,6 @@ msgstr "" "X-Generator: Weblate 3.8\n" #. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__can_attach_attachment #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__can_attach_attachment msgid "Can Attach Attachment" msgstr "Pode Anexar Anexo" @@ -32,7 +31,6 @@ msgid "Email composition wizard" msgstr "Assistente de Composição de Email" #. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__object_attachment_ids #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__object_attachment_ids msgid "Object Attachments" msgstr "Anexos de Objeto" diff --git a/mail_attach_existing_attachment/i18n/sl.po b/mail_attach_existing_attachment/i18n/sl.po index 2794df127..6a3bb8ab5 100644 --- a/mail_attach_existing_attachment/i18n/sl.po +++ b/mail_attach_existing_attachment/i18n/sl.po @@ -22,7 +22,6 @@ msgstr "" "X-Generator: Weblate 3.10\n" #. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__can_attach_attachment #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__can_attach_attachment msgid "Can Attach Attachment" msgstr "Lahko pripenja priponke" @@ -33,7 +32,6 @@ msgid "Email composition wizard" msgstr "Čarovnik za sestavljanje e-pošte" #. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__object_attachment_ids #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__object_attachment_ids msgid "Object Attachments" msgstr "Priponke objekta" diff --git a/mail_attach_existing_attachment/i18n/zh_CN.po b/mail_attach_existing_attachment/i18n/zh_CN.po index 7cff2bcab..a61c0d028 100644 --- a/mail_attach_existing_attachment/i18n/zh_CN.po +++ b/mail_attach_existing_attachment/i18n/zh_CN.po @@ -20,7 +20,6 @@ msgstr "" "Plural-Forms: nplurals=1; plural=0;\n" #. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__can_attach_attachment #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__can_attach_attachment msgid "Can Attach Attachment" msgstr "" @@ -31,7 +30,6 @@ msgid "Email composition wizard" msgstr "" #. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__object_attachment_ids #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__object_attachment_ids #, fuzzy msgid "Object Attachments" diff --git a/mail_attach_existing_attachment/static/description/index.html b/mail_attach_existing_attachment/static/description/index.html index 3030895a4..3cbc65fc8 100644 --- a/mail_attach_existing_attachment/static/description/index.html +++ b/mail_attach_existing_attachment/static/description/index.html @@ -367,7 +367,7 @@

    Mail Attach Existing Attachment

    !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

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

    +

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

    This module was written to add the possibility to add attachments located on the object by sending it by email with the mail compose message wizard

    Table of contents

    @@ -391,13 +391,13 @@

    Usage

  • Adding some attachments on an object by creating a new Log note
  • -Attachment on purchase order +Attachment on purchase order
    • Then, by sending the object via email, you can select the attachment added earlier
    -Sends the Purchase Order by email +Sends the Purchase Order by email
    @@ -411,7 +411,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 smashing it by providing a detailed and welcomed -feedback.

    +feedback.

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

    @@ -441,7 +441,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/social project on GitHub.

    +

    This module is part of the OCA/social project on GitHub.

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

    diff --git a/mail_attach_existing_attachment/tests/test_mail_attach_existing_attachment.py b/mail_attach_existing_attachment/tests/test_mail_attach_existing_attachment.py index 43d59b325..56b19aeb0 100644 --- a/mail_attach_existing_attachment/tests/test_mail_attach_existing_attachment.py +++ b/mail_attach_existing_attachment/tests/test_mail_attach_existing_attachment.py @@ -1,26 +1,5 @@ -############################################################################## -# -# This file is part of mail_attach_existing_attachment, -# an Odoo module. -# -# Copyright (c) 2015 ACSONE SA/NV () -# -# mail_attach_existing_attachment is free software: -# you can redistribute it and/or modify it under the terms of the GNU -# Affero General Public License as published by the Free Software -# Foundation,either version 3 of the License, or (at your option) any -# later version. -# -# mail_attach_existing_attachment is distributed -# in the hope that it will be useful, but WITHOUT ANY WARRANTY; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -# PURPOSE. See the GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with mail_attach_existing_attachment. -# If not, see . -# -############################################################################## +# Copyright 2015 ACSONE SA/NV +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). from odoo.tests import common @@ -42,7 +21,6 @@ def test_send_email_attachment(self): attach1 = self.env["ir.attachment"].create( { "name": "Attach1", - "datas_fname": "Attach1", "datas": "bWlncmF0aW9uIHRlc3Q=", "res_model": "res.partner", "res_id": self.partner_01.id, diff --git a/mail_attach_existing_attachment/wizard/mail_compose_message.py b/mail_attach_existing_attachment/wizard/mail_compose_message.py index d42d9d547..0f5b52628 100644 --- a/mail_attach_existing_attachment/wizard/mail_compose_message.py +++ b/mail_attach_existing_attachment/wizard/mail_compose_message.py @@ -1,26 +1,5 @@ -############################################################################## -# -# This file is part of mail_attach_existing_attachment, -# an Odoo module. -# -# Copyright (c) 2015 ACSONE SA/NV () -# -# mail_attach_existing_attachment is free software: -# you can redistribute it and/or modify it under the terms of the GNU -# Affero General Public License as published by the Free Software -# Foundation,either version 3 of the License, or (at your option) any -# later version. -# -# mail_attach_existing_attachment is distributed -# in the hope that it will be useful, but WITHOUT ANY WARRANTY; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -# PURPOSE. See the GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with mail_attach_existing_attachment. -# If not, see . -# -############################################################################## +# Copyright 2015 ACSONE SA/NV +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). from odoo import api, fields, models @@ -30,7 +9,7 @@ class MailComposeMessage(models.TransientModel): @api.model def default_get(self, fields_list): - res = super(MailComposeMessage, self).default_get(fields_list) + res = super().default_get(fields_list) if ( res.get("res_id") and res.get("model") @@ -49,9 +28,8 @@ def default_get(self, fields_list): string="Object Attachments", ) - @api.multi def get_mail_values(self, res_ids): - res = super(MailComposeMessage, self).get_mail_values(res_ids) + res = super().get_mail_values(res_ids) if self.object_attachment_ids.ids and self.model and len(res_ids) == 1: res[res_ids[0]].setdefault("attachment_ids", []).extend( self.object_attachment_ids.ids From 192037a8117c6d6e93e4bf1a898849aa7d27dc75 Mon Sep 17 00:00:00 2001 From: Yves Goldberg Date: Tue, 13 Oct 2020 06:13:25 +0000 Subject: [PATCH 11/42] Added translation using Weblate (Hebrew) --- mail_attach_existing_attachment/i18n/he.po | 33 ++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 mail_attach_existing_attachment/i18n/he.po diff --git a/mail_attach_existing_attachment/i18n/he.po b/mail_attach_existing_attachment/i18n/he.po new file mode 100644 index 000000000..8f3672cf2 --- /dev/null +++ b/mail_attach_existing_attachment/i18n/he.po @@ -0,0 +1,33 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mail_attach_existing_attachment +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 13.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2020-10-19 08:08+0000\n" +"Last-Translator: Yves Goldberg \n" +"Language-Team: none\n" +"Language: he\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=4; plural=(n == 1) ? 0 : ((n == 2) ? 1 : ((n > 10 && " +"n % 10 == 0) ? 2 : 3));\n" +"X-Generator: Weblate 3.10\n" + +#. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__can_attach_attachment +msgid "Can Attach Attachment" +msgstr "ניתן לצרף קובץ מצורף" + +#. module: mail_attach_existing_attachment +#: model:ir.model,name:mail_attach_existing_attachment.model_mail_compose_message +msgid "Email composition wizard" +msgstr "אשף יצירת דואר אלקטרוני" + +#. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__object_attachment_ids +msgid "Object Attachments" +msgstr "קבצים מצורפים לאובייקט" From 7da569eb5872e3bb8365ae264d4142900e8ad944 Mon Sep 17 00:00:00 2001 From: Jairo Llopis Date: Tue, 26 Jan 2021 14:06:17 +0000 Subject: [PATCH 12/42] [IMP] pre-commit run -a --- .../wizard/mail_compose_message_view.xml | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/mail_attach_existing_attachment/wizard/mail_compose_message_view.xml b/mail_attach_existing_attachment/wizard/mail_compose_message_view.xml index d79a03429..d75bdc9fe 100644 --- a/mail_attach_existing_attachment/wizard/mail_compose_message_view.xml +++ b/mail_attach_existing_attachment/wizard/mail_compose_message_view.xml @@ -1,15 +1,21 @@ - + - mail.compose.message.form (mail_attach_existing_attachment) + mail.compose.message.form (mail_attach_existing_attachment) mail.compose.message - + - +

    - +
    From ffbb350ea6a56bbbfc8473bea1a99948a6bc9bd2 Mon Sep 17 00:00:00 2001 From: Ernesto Tejeda Date: Wed, 21 Jul 2021 16:19:48 -0400 Subject: [PATCH 13/42] [MIG] mail_attach_existing_attachment: Migration to 14.0 --- mail_attach_existing_attachment/README.rst | 14 +++++++------- mail_attach_existing_attachment/__manifest__.py | 2 +- .../static/description/index.html | 10 +++++----- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/mail_attach_existing_attachment/README.rst b/mail_attach_existing_attachment/README.rst index 9aa0187d1..13da29600 100644 --- a/mail_attach_existing_attachment/README.rst +++ b/mail_attach_existing_attachment/README.rst @@ -14,13 +14,13 @@ Mail Attach Existing Attachment :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fsocial-lightgray.png?logo=github - :target: https://github.com/OCA/social/tree/13.0/mail_attach_existing_attachment + :target: https://github.com/OCA/social/tree/14.0/mail_attach_existing_attachment :alt: OCA/social .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/social-13-0/social-13-0-mail_attach_existing_attachment + :target: https://translation.odoo-community.org/projects/social-14-0/social-14-0-mail_attach_existing_attachment :alt: Translate me on Weblate .. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png - :target: https://runbot.odoo-community.org/runbot/205/13.0 + :target: https://runbot.odoo-community.org/runbot/205/14.0 :alt: Try me on Runbot |badge1| |badge2| |badge3| |badge4| |badge5| @@ -40,12 +40,12 @@ To use this module, you need to: * Adding some attachments on an object by creating a new *Log note* -.. figure:: https://raw.githubusercontent.com/OCA/social/13.0/mail_attach_existing_attachment/static/description/attachment.png +.. figure:: https://raw.githubusercontent.com/OCA/social/14.0/mail_attach_existing_attachment/static/description/attachment.png :alt: Attachment on purchase order * Then, by sending the object via email, you can select the attachment added earlier -.. figure:: https://raw.githubusercontent.com/OCA/social/13.0/mail_attach_existing_attachment/static/description/ex_mail_compose_message.png +.. figure:: https://raw.githubusercontent.com/OCA/social/14.0/mail_attach_existing_attachment/static/description/ex_mail_compose_message.png :alt: Sends the Purchase Order by email Known issues / Roadmap @@ -59,7 +59,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 smashing it by providing a detailed and welcomed -`feedback `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -94,6 +94,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/social `_ project on GitHub. +This module is part of the `OCA/social `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/mail_attach_existing_attachment/__manifest__.py b/mail_attach_existing_attachment/__manifest__.py index a6df627da..9434f6058 100644 --- a/mail_attach_existing_attachment/__manifest__.py +++ b/mail_attach_existing_attachment/__manifest__.py @@ -7,7 +7,7 @@ "author": "ACSONE SA/NV, Tecnativa, Odoo Community Association (OCA)", "website": "https://github.com/OCA/social", "category": "Social Network", - "version": "13.0.1.0.0", + "version": "14.0.1.0.0", "license": "AGPL-3", "depends": ["mail"], "data": ["wizard/mail_compose_message_view.xml"], diff --git a/mail_attach_existing_attachment/static/description/index.html b/mail_attach_existing_attachment/static/description/index.html index 3cbc65fc8..556d3eeeb 100644 --- a/mail_attach_existing_attachment/static/description/index.html +++ b/mail_attach_existing_attachment/static/description/index.html @@ -367,7 +367,7 @@

    Mail Attach Existing Attachment

    !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

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

    +

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

    This module was written to add the possibility to add attachments located on the object by sending it by email with the mail compose message wizard

    Table of contents

    @@ -391,13 +391,13 @@

    Usage

  • Adding some attachments on an object by creating a new Log note
  • -Attachment on purchase order +Attachment on purchase order
    • Then, by sending the object via email, you can select the attachment added earlier
    -Sends the Purchase Order by email +Sends the Purchase Order by email
    @@ -411,7 +411,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 smashing it by providing a detailed and welcomed -feedback.

    +feedback.

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

    @@ -441,7 +441,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/social project on GitHub.

    +

    This module is part of the OCA/social project on GitHub.

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

    From 23fbb47f6f5ba97811454f367ee6df549dcc482c Mon Sep 17 00:00:00 2001 From: oca-travis Date: Thu, 22 Jul 2021 11:15:51 +0000 Subject: [PATCH 14/42] [UPD] Update mail_attach_existing_attachment.pot --- .../i18n/mail_attach_existing_attachment.pot | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/mail_attach_existing_attachment/i18n/mail_attach_existing_attachment.pot b/mail_attach_existing_attachment/i18n/mail_attach_existing_attachment.pot index 38b7b38c7..bfea22214 100644 --- a/mail_attach_existing_attachment/i18n/mail_attach_existing_attachment.pot +++ b/mail_attach_existing_attachment/i18n/mail_attach_existing_attachment.pot @@ -4,7 +4,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 13.0\n" +"Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" "Last-Translator: \n" "Language-Team: \n" @@ -18,11 +18,26 @@ msgstr "" msgid "Can Attach Attachment" msgstr "" +#. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__display_name +msgid "Display Name" +msgstr "" + #. module: mail_attach_existing_attachment #: model:ir.model,name:mail_attach_existing_attachment.model_mail_compose_message msgid "Email composition wizard" msgstr "" +#. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__id +msgid "ID" +msgstr "" + +#. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message____last_update +msgid "Last Modified on" +msgstr "" + #. module: mail_attach_existing_attachment #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__object_attachment_ids msgid "Object Attachments" From 0a4902c2733a2cdf46cad9208b215d98be0da8cd Mon Sep 17 00:00:00 2001 From: oca-travis Date: Thu, 11 Nov 2021 12:43:46 +0000 Subject: [PATCH 15/42] [UPD] Update mail_attach_existing_attachment.pot --- .../i18n/mail_attach_existing_attachment.pot | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/mail_attach_existing_attachment/i18n/mail_attach_existing_attachment.pot b/mail_attach_existing_attachment/i18n/mail_attach_existing_attachment.pot index bfea22214..446cd593a 100644 --- a/mail_attach_existing_attachment/i18n/mail_attach_existing_attachment.pot +++ b/mail_attach_existing_attachment/i18n/mail_attach_existing_attachment.pot @@ -14,6 +14,8 @@ msgstr "" "Plural-Forms: \n" #. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__can_attach_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_tour_upload_bill__can_attach_attachment #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__can_attach_attachment msgid "Can Attach Attachment" msgstr "" @@ -39,6 +41,8 @@ msgid "Last Modified on" msgstr "" #. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__object_attachment_ids +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_tour_upload_bill__object_attachment_ids #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__object_attachment_ids msgid "Object Attachments" msgstr "" From b186b0869b821c6508206390c73473289a89b311 Mon Sep 17 00:00:00 2001 From: OCA Transbot Date: Thu, 11 Nov 2021 12:50:10 +0000 Subject: [PATCH 16/42] Update translation files Updated by "Update PO files to match POT (msgmerge)" hook in Weblate. Translation: social-14.0/social-14.0-mail_attach_existing_attachment Translate-URL: https://translation.odoo-community.org/projects/social-14-0/social-14-0-mail_attach_existing_attachment/ --- mail_attach_existing_attachment/i18n/ca.po | 19 +++++++++++++++++++ mail_attach_existing_attachment/i18n/de.po | 19 +++++++++++++++++++ mail_attach_existing_attachment/i18n/es.po | 19 +++++++++++++++++++ mail_attach_existing_attachment/i18n/es_CO.po | 19 +++++++++++++++++++ mail_attach_existing_attachment/i18n/fr.po | 19 +++++++++++++++++++ mail_attach_existing_attachment/i18n/he.po | 19 +++++++++++++++++++ mail_attach_existing_attachment/i18n/hr.po | 19 +++++++++++++++++++ mail_attach_existing_attachment/i18n/it.po | 19 +++++++++++++++++++ mail_attach_existing_attachment/i18n/pt_BR.po | 19 +++++++++++++++++++ mail_attach_existing_attachment/i18n/sl.po | 19 +++++++++++++++++++ mail_attach_existing_attachment/i18n/zh_CN.po | 19 +++++++++++++++++++ 11 files changed, 209 insertions(+) diff --git a/mail_attach_existing_attachment/i18n/ca.po b/mail_attach_existing_attachment/i18n/ca.po index cdfb4cacf..27d5dde93 100644 --- a/mail_attach_existing_attachment/i18n/ca.po +++ b/mail_attach_existing_attachment/i18n/ca.po @@ -19,16 +19,35 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__can_attach_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_tour_upload_bill__can_attach_attachment #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__can_attach_attachment msgid "Can Attach Attachment" msgstr "" +#. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__display_name +msgid "Display Name" +msgstr "" + #. module: mail_attach_existing_attachment #: model:ir.model,name:mail_attach_existing_attachment.model_mail_compose_message msgid "Email composition wizard" msgstr "Assistent per composició de correus electrònics" #. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__id +msgid "ID" +msgstr "" + +#. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message____last_update +msgid "Last Modified on" +msgstr "" + +#. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__object_attachment_ids +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_tour_upload_bill__object_attachment_ids #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__object_attachment_ids msgid "Object Attachments" msgstr "" diff --git a/mail_attach_existing_attachment/i18n/de.po b/mail_attach_existing_attachment/i18n/de.po index 117c19351..2ac0ff00e 100644 --- a/mail_attach_existing_attachment/i18n/de.po +++ b/mail_attach_existing_attachment/i18n/de.po @@ -20,16 +20,35 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__can_attach_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_tour_upload_bill__can_attach_attachment #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__can_attach_attachment msgid "Can Attach Attachment" msgstr "Kann Anhang anhängen" +#. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__display_name +msgid "Display Name" +msgstr "" + #. module: mail_attach_existing_attachment #: model:ir.model,name:mail_attach_existing_attachment.model_mail_compose_message msgid "Email composition wizard" msgstr "Assistent zum Email verfassen" #. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__id +msgid "ID" +msgstr "" + +#. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message____last_update +msgid "Last Modified on" +msgstr "" + +#. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__object_attachment_ids +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_tour_upload_bill__object_attachment_ids #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__object_attachment_ids #, fuzzy msgid "Object Attachments" diff --git a/mail_attach_existing_attachment/i18n/es.po b/mail_attach_existing_attachment/i18n/es.po index e948e76d6..412d165f5 100644 --- a/mail_attach_existing_attachment/i18n/es.po +++ b/mail_attach_existing_attachment/i18n/es.po @@ -20,16 +20,35 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__can_attach_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_tour_upload_bill__can_attach_attachment #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__can_attach_attachment msgid "Can Attach Attachment" msgstr "Puede adjuntar adjuntos" +#. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__display_name +msgid "Display Name" +msgstr "" + #. module: mail_attach_existing_attachment #: model:ir.model,name:mail_attach_existing_attachment.model_mail_compose_message msgid "Email composition wizard" msgstr "Asistente composición Correo Electrónico" #. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__id +msgid "ID" +msgstr "" + +#. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message____last_update +msgid "Last Modified on" +msgstr "" + +#. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__object_attachment_ids +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_tour_upload_bill__object_attachment_ids #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__object_attachment_ids #, fuzzy msgid "Object Attachments" diff --git a/mail_attach_existing_attachment/i18n/es_CO.po b/mail_attach_existing_attachment/i18n/es_CO.po index f85607c42..3682fc5ff 100644 --- a/mail_attach_existing_attachment/i18n/es_CO.po +++ b/mail_attach_existing_attachment/i18n/es_CO.po @@ -19,16 +19,35 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__can_attach_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_tour_upload_bill__can_attach_attachment #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__can_attach_attachment msgid "Can Attach Attachment" msgstr "" +#. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__display_name +msgid "Display Name" +msgstr "" + #. module: mail_attach_existing_attachment #: model:ir.model,name:mail_attach_existing_attachment.model_mail_compose_message msgid "Email composition wizard" msgstr "Asistente de redacción de E-mail" #. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__id +msgid "ID" +msgstr "" + +#. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message____last_update +msgid "Last Modified on" +msgstr "" + +#. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__object_attachment_ids +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_tour_upload_bill__object_attachment_ids #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__object_attachment_ids msgid "Object Attachments" msgstr "" diff --git a/mail_attach_existing_attachment/i18n/fr.po b/mail_attach_existing_attachment/i18n/fr.po index 24f1e490e..b2b4adb9c 100644 --- a/mail_attach_existing_attachment/i18n/fr.po +++ b/mail_attach_existing_attachment/i18n/fr.po @@ -20,16 +20,35 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__can_attach_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_tour_upload_bill__can_attach_attachment #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__can_attach_attachment msgid "Can Attach Attachment" msgstr "Il est possible d'attacher des pièces jointes" +#. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__display_name +msgid "Display Name" +msgstr "" + #. module: mail_attach_existing_attachment #: model:ir.model,name:mail_attach_existing_attachment.model_mail_compose_message msgid "Email composition wizard" msgstr "Assistant de composition de courriel" #. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__id +msgid "ID" +msgstr "" + +#. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message____last_update +msgid "Last Modified on" +msgstr "" + +#. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__object_attachment_ids +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_tour_upload_bill__object_attachment_ids #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__object_attachment_ids #, fuzzy msgid "Object Attachments" diff --git a/mail_attach_existing_attachment/i18n/he.po b/mail_attach_existing_attachment/i18n/he.po index 8f3672cf2..9da5d6496 100644 --- a/mail_attach_existing_attachment/i18n/he.po +++ b/mail_attach_existing_attachment/i18n/he.po @@ -18,16 +18,35 @@ msgstr "" "X-Generator: Weblate 3.10\n" #. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__can_attach_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_tour_upload_bill__can_attach_attachment #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__can_attach_attachment msgid "Can Attach Attachment" msgstr "ניתן לצרף קובץ מצורף" +#. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__display_name +msgid "Display Name" +msgstr "" + #. module: mail_attach_existing_attachment #: model:ir.model,name:mail_attach_existing_attachment.model_mail_compose_message msgid "Email composition wizard" msgstr "אשף יצירת דואר אלקטרוני" #. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__id +msgid "ID" +msgstr "" + +#. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message____last_update +msgid "Last Modified on" +msgstr "" + +#. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__object_attachment_ids +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_tour_upload_bill__object_attachment_ids #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__object_attachment_ids msgid "Object Attachments" msgstr "קבצים מצורפים לאובייקט" diff --git a/mail_attach_existing_attachment/i18n/hr.po b/mail_attach_existing_attachment/i18n/hr.po index cbeebfdd8..127ca01cf 100644 --- a/mail_attach_existing_attachment/i18n/hr.po +++ b/mail_attach_existing_attachment/i18n/hr.po @@ -21,16 +21,35 @@ msgstr "" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" #. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__can_attach_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_tour_upload_bill__can_attach_attachment #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__can_attach_attachment msgid "Can Attach Attachment" msgstr "Može pridružiti privitak" +#. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__display_name +msgid "Display Name" +msgstr "" + #. module: mail_attach_existing_attachment #: model:ir.model,name:mail_attach_existing_attachment.model_mail_compose_message msgid "Email composition wizard" msgstr "Čarobnjak za sastavljanje maila" #. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__id +msgid "ID" +msgstr "" + +#. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message____last_update +msgid "Last Modified on" +msgstr "" + +#. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__object_attachment_ids +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_tour_upload_bill__object_attachment_ids #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__object_attachment_ids #, fuzzy msgid "Object Attachments" diff --git a/mail_attach_existing_attachment/i18n/it.po b/mail_attach_existing_attachment/i18n/it.po index 9b750d0ab..83e95e83c 100644 --- a/mail_attach_existing_attachment/i18n/it.po +++ b/mail_attach_existing_attachment/i18n/it.po @@ -20,16 +20,35 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__can_attach_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_tour_upload_bill__can_attach_attachment #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__can_attach_attachment msgid "Can Attach Attachment" msgstr "Inserimento Allegati Ammesso" +#. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__display_name +msgid "Display Name" +msgstr "" + #. module: mail_attach_existing_attachment #: model:ir.model,name:mail_attach_existing_attachment.model_mail_compose_message msgid "Email composition wizard" msgstr "Wizard Creazione Email" #. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__id +msgid "ID" +msgstr "" + +#. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message____last_update +msgid "Last Modified on" +msgstr "" + +#. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__object_attachment_ids +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_tour_upload_bill__object_attachment_ids #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__object_attachment_ids #, fuzzy msgid "Object Attachments" diff --git a/mail_attach_existing_attachment/i18n/pt_BR.po b/mail_attach_existing_attachment/i18n/pt_BR.po index 268ebacf6..ef1cf65a4 100644 --- a/mail_attach_existing_attachment/i18n/pt_BR.po +++ b/mail_attach_existing_attachment/i18n/pt_BR.po @@ -21,16 +21,35 @@ msgstr "" "X-Generator: Weblate 3.8\n" #. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__can_attach_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_tour_upload_bill__can_attach_attachment #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__can_attach_attachment msgid "Can Attach Attachment" msgstr "Pode Anexar Anexo" +#. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__display_name +msgid "Display Name" +msgstr "" + #. module: mail_attach_existing_attachment #: model:ir.model,name:mail_attach_existing_attachment.model_mail_compose_message msgid "Email composition wizard" msgstr "Assistente de Composição de Email" #. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__id +msgid "ID" +msgstr "" + +#. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message____last_update +msgid "Last Modified on" +msgstr "" + +#. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__object_attachment_ids +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_tour_upload_bill__object_attachment_ids #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__object_attachment_ids msgid "Object Attachments" msgstr "Anexos de Objeto" diff --git a/mail_attach_existing_attachment/i18n/sl.po b/mail_attach_existing_attachment/i18n/sl.po index 6a3bb8ab5..7e3e4e4c7 100644 --- a/mail_attach_existing_attachment/i18n/sl.po +++ b/mail_attach_existing_attachment/i18n/sl.po @@ -22,16 +22,35 @@ msgstr "" "X-Generator: Weblate 3.10\n" #. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__can_attach_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_tour_upload_bill__can_attach_attachment #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__can_attach_attachment msgid "Can Attach Attachment" msgstr "Lahko pripenja priponke" +#. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__display_name +msgid "Display Name" +msgstr "" + #. module: mail_attach_existing_attachment #: model:ir.model,name:mail_attach_existing_attachment.model_mail_compose_message msgid "Email composition wizard" msgstr "Čarovnik za sestavljanje e-pošte" #. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__id +msgid "ID" +msgstr "" + +#. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message____last_update +msgid "Last Modified on" +msgstr "" + +#. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__object_attachment_ids +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_tour_upload_bill__object_attachment_ids #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__object_attachment_ids msgid "Object Attachments" msgstr "Priponke objekta" diff --git a/mail_attach_existing_attachment/i18n/zh_CN.po b/mail_attach_existing_attachment/i18n/zh_CN.po index a61c0d028..81713acbe 100644 --- a/mail_attach_existing_attachment/i18n/zh_CN.po +++ b/mail_attach_existing_attachment/i18n/zh_CN.po @@ -20,16 +20,35 @@ msgstr "" "Plural-Forms: nplurals=1; plural=0;\n" #. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__can_attach_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_tour_upload_bill__can_attach_attachment #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__can_attach_attachment msgid "Can Attach Attachment" msgstr "" +#. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__display_name +msgid "Display Name" +msgstr "" + #. module: mail_attach_existing_attachment #: model:ir.model,name:mail_attach_existing_attachment.model_mail_compose_message msgid "Email composition wizard" msgstr "" #. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__id +msgid "ID" +msgstr "" + +#. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message____last_update +msgid "Last Modified on" +msgstr "" + +#. module: mail_attach_existing_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__object_attachment_ids +#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_tour_upload_bill__object_attachment_ids #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__object_attachment_ids #, fuzzy msgid "Object Attachments" From a07f358c6fdae2988b89d94b3a68391ffc7f29a7 Mon Sep 17 00:00:00 2001 From: Alvaro Date: Thu, 9 Dec 2021 14:20:32 +0100 Subject: [PATCH 17/42] [15.0][MIG]mail_attach_existing_attachment: module migration fron 14.0 to 15.0 --- mail_attach_existing_attachment/__manifest__.py | 2 +- mail_attach_existing_attachment/wizard/mail_compose_message.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/mail_attach_existing_attachment/__manifest__.py b/mail_attach_existing_attachment/__manifest__.py index 9434f6058..223eaeef8 100644 --- a/mail_attach_existing_attachment/__manifest__.py +++ b/mail_attach_existing_attachment/__manifest__.py @@ -7,7 +7,7 @@ "author": "ACSONE SA/NV, Tecnativa, Odoo Community Association (OCA)", "website": "https://github.com/OCA/social", "category": "Social Network", - "version": "14.0.1.0.0", + "version": "15.0.1.0.0", "license": "AGPL-3", "depends": ["mail"], "data": ["wizard/mail_compose_message_view.xml"], diff --git a/mail_attach_existing_attachment/wizard/mail_compose_message.py b/mail_attach_existing_attachment/wizard/mail_compose_message.py index 0f5b52628..671bb987c 100644 --- a/mail_attach_existing_attachment/wizard/mail_compose_message.py +++ b/mail_attach_existing_attachment/wizard/mail_compose_message.py @@ -19,7 +19,7 @@ def default_get(self, fields_list): res["can_attach_attachment"] = True # pragma: no cover return res - can_attach_attachment = fields.Boolean(string="Can Attach Attachment") + can_attach_attachment = fields.Boolean() object_attachment_ids = fields.Many2many( comodel_name="ir.attachment", relation="mail_compose_message_ir_attachments_object_rel", From 8017587249f4e787e899015778df53d12f6739be Mon Sep 17 00:00:00 2001 From: oca-ci Date: Fri, 21 Jan 2022 08:31:55 +0000 Subject: [PATCH 18/42] [UPD] Update mail_attach_existing_attachment.pot --- .../i18n/mail_attach_existing_attachment.pot | 21 +------------------ 1 file changed, 1 insertion(+), 20 deletions(-) diff --git a/mail_attach_existing_attachment/i18n/mail_attach_existing_attachment.pot b/mail_attach_existing_attachment/i18n/mail_attach_existing_attachment.pot index 446cd593a..f74e248d7 100644 --- a/mail_attach_existing_attachment/i18n/mail_attach_existing_attachment.pot +++ b/mail_attach_existing_attachment/i18n/mail_attach_existing_attachment.pot @@ -4,7 +4,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 14.0\n" +"Project-Id-Version: Odoo Server 15.0\n" "Report-Msgid-Bugs-To: \n" "Last-Translator: \n" "Language-Team: \n" @@ -14,35 +14,16 @@ msgstr "" "Plural-Forms: \n" #. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__can_attach_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_tour_upload_bill__can_attach_attachment #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__can_attach_attachment msgid "Can Attach Attachment" msgstr "" -#. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__display_name -msgid "Display Name" -msgstr "" - #. module: mail_attach_existing_attachment #: model:ir.model,name:mail_attach_existing_attachment.model_mail_compose_message msgid "Email composition wizard" msgstr "" #. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__id -msgid "ID" -msgstr "" - -#. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message____last_update -msgid "Last Modified on" -msgstr "" - -#. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__object_attachment_ids -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_tour_upload_bill__object_attachment_ids #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__object_attachment_ids msgid "Object Attachments" msgstr "" From 16142fa9c92cf293526c52b456ce46e86456efd6 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Fri, 21 Jan 2022 08:34:33 +0000 Subject: [PATCH 19/42] [UPD] README.rst --- mail_attach_existing_attachment/README.rst | 14 +++++++------- .../static/description/index.html | 10 +++++----- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/mail_attach_existing_attachment/README.rst b/mail_attach_existing_attachment/README.rst index 13da29600..28642dfaa 100644 --- a/mail_attach_existing_attachment/README.rst +++ b/mail_attach_existing_attachment/README.rst @@ -14,13 +14,13 @@ Mail Attach Existing Attachment :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fsocial-lightgray.png?logo=github - :target: https://github.com/OCA/social/tree/14.0/mail_attach_existing_attachment + :target: https://github.com/OCA/social/tree/15.0/mail_attach_existing_attachment :alt: OCA/social .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/social-14-0/social-14-0-mail_attach_existing_attachment + :target: https://translation.odoo-community.org/projects/social-15-0/social-15-0-mail_attach_existing_attachment :alt: Translate me on Weblate .. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png - :target: https://runbot.odoo-community.org/runbot/205/14.0 + :target: https://runbot.odoo-community.org/runbot/205/15.0 :alt: Try me on Runbot |badge1| |badge2| |badge3| |badge4| |badge5| @@ -40,12 +40,12 @@ To use this module, you need to: * Adding some attachments on an object by creating a new *Log note* -.. figure:: https://raw.githubusercontent.com/OCA/social/14.0/mail_attach_existing_attachment/static/description/attachment.png +.. figure:: https://raw.githubusercontent.com/OCA/social/15.0/mail_attach_existing_attachment/static/description/attachment.png :alt: Attachment on purchase order * Then, by sending the object via email, you can select the attachment added earlier -.. figure:: https://raw.githubusercontent.com/OCA/social/14.0/mail_attach_existing_attachment/static/description/ex_mail_compose_message.png +.. figure:: https://raw.githubusercontent.com/OCA/social/15.0/mail_attach_existing_attachment/static/description/ex_mail_compose_message.png :alt: Sends the Purchase Order by email Known issues / Roadmap @@ -59,7 +59,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 smashing it by providing a detailed and welcomed -`feedback `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -94,6 +94,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/social `_ project on GitHub. +This module is part of the `OCA/social `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/mail_attach_existing_attachment/static/description/index.html b/mail_attach_existing_attachment/static/description/index.html index 556d3eeeb..63d3c1107 100644 --- a/mail_attach_existing_attachment/static/description/index.html +++ b/mail_attach_existing_attachment/static/description/index.html @@ -367,7 +367,7 @@

    Mail Attach Existing Attachment

    !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

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

    +

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

    This module was written to add the possibility to add attachments located on the object by sending it by email with the mail compose message wizard

    Table of contents

    @@ -391,13 +391,13 @@

    Usage

  • Adding some attachments on an object by creating a new Log note
  • -Attachment on purchase order +Attachment on purchase order
    • Then, by sending the object via email, you can select the attachment added earlier
    -Sends the Purchase Order by email +Sends the Purchase Order by email
    @@ -411,7 +411,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 smashing it by providing a detailed and welcomed -feedback.

    +feedback.

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

    @@ -441,7 +441,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/social project on GitHub.

    +

    This module is part of the OCA/social project on GitHub.

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

    From 16e7ebc31b4055b1287a0b40c7bb23fb9be239db Mon Sep 17 00:00:00 2001 From: Benoit Aimont Date: Mon, 29 Aug 2022 14:15:22 +0200 Subject: [PATCH 20/42] [MIG] mail_attach_existing_attachment: Migration to 16.0 --- mail_attach_existing_attachment/README.rst | 16 ++++++++-------- mail_attach_existing_attachment/__manifest__.py | 2 +- .../i18n/mail_attach_existing_attachment.pot | 2 +- .../readme/CONTRIBUTORS.rst | 1 + mail_attach_existing_attachment/readme/USAGE.rst | 2 +- .../static/description/index.html | 10 +++++----- .../test_mail_attach_existing_attachment.py | 2 +- 7 files changed, 18 insertions(+), 17 deletions(-) diff --git a/mail_attach_existing_attachment/README.rst b/mail_attach_existing_attachment/README.rst index 28642dfaa..95e2deaa9 100644 --- a/mail_attach_existing_attachment/README.rst +++ b/mail_attach_existing_attachment/README.rst @@ -14,16 +14,16 @@ Mail Attach Existing Attachment :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fsocial-lightgray.png?logo=github - :target: https://github.com/OCA/social/tree/15.0/mail_attach_existing_attachment + :target: https://github.com/OCA/social/tree/16.0/mail_attach_existing_attachment :alt: OCA/social .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/social-15-0/social-15-0-mail_attach_existing_attachment + :target: https://translation.odoo-community.org/projects/social-16-0/social-16-0-mail_attach_existing_attachment :alt: Translate me on Weblate .. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png - :target: https://runbot.odoo-community.org/runbot/205/15.0 + :target: https://runbot.odoo-community.org/runbot/205/16.0 :alt: Try me on Runbot -|badge1| |badge2| |badge3| |badge4| |badge5| +|badge1| |badge2| |badge3| |badge4| |badge5| This module was written to add the possibility to add attachments located on the object by sending it by email with the mail compose message wizard @@ -40,12 +40,12 @@ To use this module, you need to: * Adding some attachments on an object by creating a new *Log note* -.. figure:: https://raw.githubusercontent.com/OCA/social/15.0/mail_attach_existing_attachment/static/description/attachment.png +.. figure:: https://raw.githubusercontent.com/OCA/social/16.0/mail_attach_existing_attachment/static/description/attachment.png :alt: Attachment on purchase order * Then, by sending the object via email, you can select the attachment added earlier -.. figure:: https://raw.githubusercontent.com/OCA/social/15.0/mail_attach_existing_attachment/static/description/ex_mail_compose_message.png +.. figure:: https://raw.githubusercontent.com/OCA/social/16.0/mail_attach_existing_attachment/static/description/ex_mail_compose_message.png :alt: Sends the Purchase Order by email Known issues / Roadmap @@ -59,7 +59,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 smashing it by providing a detailed and welcomed -`feedback `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -94,6 +94,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/social `_ project on GitHub. +This module is part of the `OCA/social `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/mail_attach_existing_attachment/__manifest__.py b/mail_attach_existing_attachment/__manifest__.py index 223eaeef8..40f134bc7 100644 --- a/mail_attach_existing_attachment/__manifest__.py +++ b/mail_attach_existing_attachment/__manifest__.py @@ -7,7 +7,7 @@ "author": "ACSONE SA/NV, Tecnativa, Odoo Community Association (OCA)", "website": "https://github.com/OCA/social", "category": "Social Network", - "version": "15.0.1.0.0", + "version": "16.0.1.0.0", "license": "AGPL-3", "depends": ["mail"], "data": ["wizard/mail_compose_message_view.xml"], diff --git a/mail_attach_existing_attachment/i18n/mail_attach_existing_attachment.pot b/mail_attach_existing_attachment/i18n/mail_attach_existing_attachment.pot index f74e248d7..37e913b7a 100644 --- a/mail_attach_existing_attachment/i18n/mail_attach_existing_attachment.pot +++ b/mail_attach_existing_attachment/i18n/mail_attach_existing_attachment.pot @@ -4,7 +4,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 15.0\n" +"Project-Id-Version: Odoo Server 16.0\n" "Report-Msgid-Bugs-To: \n" "Last-Translator: \n" "Language-Team: \n" diff --git a/mail_attach_existing_attachment/readme/CONTRIBUTORS.rst b/mail_attach_existing_attachment/readme/CONTRIBUTORS.rst index db6910ff2..411341263 100644 --- a/mail_attach_existing_attachment/readme/CONTRIBUTORS.rst +++ b/mail_attach_existing_attachment/readme/CONTRIBUTORS.rst @@ -1,4 +1,5 @@ * Adrien Peiffer +* Benoit Aimont * `Tecnativa `_: * Sergio Teruel diff --git a/mail_attach_existing_attachment/readme/USAGE.rst b/mail_attach_existing_attachment/readme/USAGE.rst index cd0abffec..68fac7544 100644 --- a/mail_attach_existing_attachment/readme/USAGE.rst +++ b/mail_attach_existing_attachment/readme/USAGE.rst @@ -1,6 +1,6 @@ To use this module, you need to: -* Adding some attachments on an object by creating a new *Log note* +* Add some attachments on an object by creating a new *Log note* .. figure:: ../static/description/attachment.png :alt: Attachment on purchase order diff --git a/mail_attach_existing_attachment/static/description/index.html b/mail_attach_existing_attachment/static/description/index.html index 63d3c1107..db022f9a4 100644 --- a/mail_attach_existing_attachment/static/description/index.html +++ b/mail_attach_existing_attachment/static/description/index.html @@ -367,7 +367,7 @@

    Mail Attach Existing Attachment

    !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

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

    +

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

    This module was written to add the possibility to add attachments located on the object by sending it by email with the mail compose message wizard

    Table of contents

    @@ -391,13 +391,13 @@

    Usage

  • Adding some attachments on an object by creating a new Log note
  • -Attachment on purchase order +Attachment on purchase order
    • Then, by sending the object via email, you can select the attachment added earlier
    -Sends the Purchase Order by email +Sends the Purchase Order by email
    @@ -411,7 +411,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 smashing it by providing a detailed and welcomed -feedback.

    +feedback.

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

    @@ -441,7 +441,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/social project on GitHub.

    +

    This module is part of the OCA/social project on GitHub.

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

    diff --git a/mail_attach_existing_attachment/tests/test_mail_attach_existing_attachment.py b/mail_attach_existing_attachment/tests/test_mail_attach_existing_attachment.py index 56b19aeb0..d762a36b7 100644 --- a/mail_attach_existing_attachment/tests/test_mail_attach_existing_attachment.py +++ b/mail_attach_existing_attachment/tests/test_mail_attach_existing_attachment.py @@ -6,7 +6,7 @@ class TestAttachExistingAttachment(common.TransactionCase): def setUp(self): - super(TestAttachExistingAttachment, self).setUp() + super().setUp() self.partner_obj = self.env["res.partner"] self.partner_01 = self.env["res.partner"].create( { From 903df338240bf96aaa78ba8a208e70161d2f3df8 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Thu, 19 Jan 2023 15:34:14 +0000 Subject: [PATCH 21/42] [UPD] README.rst --- mail_attach_existing_attachment/README.rst | 5 +++-- .../static/description/index.html | 3 ++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/mail_attach_existing_attachment/README.rst b/mail_attach_existing_attachment/README.rst index 95e2deaa9..7720d0b92 100644 --- a/mail_attach_existing_attachment/README.rst +++ b/mail_attach_existing_attachment/README.rst @@ -23,7 +23,7 @@ Mail Attach Existing Attachment :target: https://runbot.odoo-community.org/runbot/205/16.0 :alt: Try me on Runbot -|badge1| |badge2| |badge3| |badge4| |badge5| +|badge1| |badge2| |badge3| |badge4| |badge5| This module was written to add the possibility to add attachments located on the object by sending it by email with the mail compose message wizard @@ -38,7 +38,7 @@ Usage To use this module, you need to: -* Adding some attachments on an object by creating a new *Log note* +* Add some attachments on an object by creating a new *Log note* .. figure:: https://raw.githubusercontent.com/OCA/social/16.0/mail_attach_existing_attachment/static/description/attachment.png :alt: Attachment on purchase order @@ -76,6 +76,7 @@ Contributors ~~~~~~~~~~~~ * Adrien Peiffer +* Benoit Aimont * `Tecnativa `_: * Sergio Teruel diff --git a/mail_attach_existing_attachment/static/description/index.html b/mail_attach_existing_attachment/static/description/index.html index db022f9a4..51612eb47 100644 --- a/mail_attach_existing_attachment/static/description/index.html +++ b/mail_attach_existing_attachment/static/description/index.html @@ -388,7 +388,7 @@

    Mail Attach Existing Attachment

    Usage

    To use this module, you need to:

      -
    • Adding some attachments on an object by creating a new Log note
    • +
    • Add some attachments on an object by creating a new Log note
    Attachment on purchase order @@ -427,6 +427,7 @@

    Authors

    Contributors

    • Adrien Peiffer <adrien.peiffer@acsone.eu>
    • +
    • Benoit Aimont <benoit.aimont@acsone.eu>
    • Tecnativa:
      • Sergio Teruel
      • Ernesto Tejeda
      • From 4832a6713e9d0787afcc7c76c86e415b4c515328 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Thu, 19 Jan 2023 15:34:15 +0000 Subject: [PATCH 22/42] mail_attach_existing_attachment 16.0.1.0.1 --- mail_attach_existing_attachment/__manifest__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mail_attach_existing_attachment/__manifest__.py b/mail_attach_existing_attachment/__manifest__.py index 40f134bc7..682801a50 100644 --- a/mail_attach_existing_attachment/__manifest__.py +++ b/mail_attach_existing_attachment/__manifest__.py @@ -7,7 +7,7 @@ "author": "ACSONE SA/NV, Tecnativa, Odoo Community Association (OCA)", "website": "https://github.com/OCA/social", "category": "Social Network", - "version": "16.0.1.0.0", + "version": "16.0.1.0.1", "license": "AGPL-3", "depends": ["mail"], "data": ["wizard/mail_compose_message_view.xml"], From 1d1649eb2faa2ab359e73968ad98ea44d56c7ad5 Mon Sep 17 00:00:00 2001 From: Weblate Date: Thu, 19 Jan 2023 20:08:36 +0000 Subject: [PATCH 23/42] Update translation files Updated by "Update PO files to match POT (msgmerge)" hook in Weblate. Translation: social-16.0/social-16.0-mail_attach_existing_attachment Translate-URL: https://translation.odoo-community.org/projects/social-16-0/social-16-0-mail_attach_existing_attachment/ --- mail_attach_existing_attachment/i18n/ca.po | 19 ------------------- mail_attach_existing_attachment/i18n/de.po | 19 ------------------- mail_attach_existing_attachment/i18n/es.po | 19 ------------------- mail_attach_existing_attachment/i18n/es_CO.po | 19 ------------------- mail_attach_existing_attachment/i18n/fr.po | 19 ------------------- mail_attach_existing_attachment/i18n/he.po | 19 ------------------- mail_attach_existing_attachment/i18n/hr.po | 19 ------------------- mail_attach_existing_attachment/i18n/it.po | 19 ------------------- mail_attach_existing_attachment/i18n/pt_BR.po | 19 ------------------- mail_attach_existing_attachment/i18n/sl.po | 19 ------------------- mail_attach_existing_attachment/i18n/zh_CN.po | 19 ------------------- 11 files changed, 209 deletions(-) diff --git a/mail_attach_existing_attachment/i18n/ca.po b/mail_attach_existing_attachment/i18n/ca.po index 27d5dde93..cdfb4cacf 100644 --- a/mail_attach_existing_attachment/i18n/ca.po +++ b/mail_attach_existing_attachment/i18n/ca.po @@ -19,35 +19,16 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__can_attach_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_tour_upload_bill__can_attach_attachment #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__can_attach_attachment msgid "Can Attach Attachment" msgstr "" -#. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__display_name -msgid "Display Name" -msgstr "" - #. module: mail_attach_existing_attachment #: model:ir.model,name:mail_attach_existing_attachment.model_mail_compose_message msgid "Email composition wizard" msgstr "Assistent per composició de correus electrònics" #. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__id -msgid "ID" -msgstr "" - -#. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message____last_update -msgid "Last Modified on" -msgstr "" - -#. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__object_attachment_ids -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_tour_upload_bill__object_attachment_ids #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__object_attachment_ids msgid "Object Attachments" msgstr "" diff --git a/mail_attach_existing_attachment/i18n/de.po b/mail_attach_existing_attachment/i18n/de.po index 2ac0ff00e..117c19351 100644 --- a/mail_attach_existing_attachment/i18n/de.po +++ b/mail_attach_existing_attachment/i18n/de.po @@ -20,35 +20,16 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__can_attach_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_tour_upload_bill__can_attach_attachment #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__can_attach_attachment msgid "Can Attach Attachment" msgstr "Kann Anhang anhängen" -#. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__display_name -msgid "Display Name" -msgstr "" - #. module: mail_attach_existing_attachment #: model:ir.model,name:mail_attach_existing_attachment.model_mail_compose_message msgid "Email composition wizard" msgstr "Assistent zum Email verfassen" #. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__id -msgid "ID" -msgstr "" - -#. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message____last_update -msgid "Last Modified on" -msgstr "" - -#. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__object_attachment_ids -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_tour_upload_bill__object_attachment_ids #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__object_attachment_ids #, fuzzy msgid "Object Attachments" diff --git a/mail_attach_existing_attachment/i18n/es.po b/mail_attach_existing_attachment/i18n/es.po index 412d165f5..e948e76d6 100644 --- a/mail_attach_existing_attachment/i18n/es.po +++ b/mail_attach_existing_attachment/i18n/es.po @@ -20,35 +20,16 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__can_attach_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_tour_upload_bill__can_attach_attachment #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__can_attach_attachment msgid "Can Attach Attachment" msgstr "Puede adjuntar adjuntos" -#. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__display_name -msgid "Display Name" -msgstr "" - #. module: mail_attach_existing_attachment #: model:ir.model,name:mail_attach_existing_attachment.model_mail_compose_message msgid "Email composition wizard" msgstr "Asistente composición Correo Electrónico" #. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__id -msgid "ID" -msgstr "" - -#. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message____last_update -msgid "Last Modified on" -msgstr "" - -#. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__object_attachment_ids -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_tour_upload_bill__object_attachment_ids #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__object_attachment_ids #, fuzzy msgid "Object Attachments" diff --git a/mail_attach_existing_attachment/i18n/es_CO.po b/mail_attach_existing_attachment/i18n/es_CO.po index 3682fc5ff..f85607c42 100644 --- a/mail_attach_existing_attachment/i18n/es_CO.po +++ b/mail_attach_existing_attachment/i18n/es_CO.po @@ -19,35 +19,16 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__can_attach_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_tour_upload_bill__can_attach_attachment #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__can_attach_attachment msgid "Can Attach Attachment" msgstr "" -#. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__display_name -msgid "Display Name" -msgstr "" - #. module: mail_attach_existing_attachment #: model:ir.model,name:mail_attach_existing_attachment.model_mail_compose_message msgid "Email composition wizard" msgstr "Asistente de redacción de E-mail" #. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__id -msgid "ID" -msgstr "" - -#. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message____last_update -msgid "Last Modified on" -msgstr "" - -#. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__object_attachment_ids -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_tour_upload_bill__object_attachment_ids #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__object_attachment_ids msgid "Object Attachments" msgstr "" diff --git a/mail_attach_existing_attachment/i18n/fr.po b/mail_attach_existing_attachment/i18n/fr.po index b2b4adb9c..24f1e490e 100644 --- a/mail_attach_existing_attachment/i18n/fr.po +++ b/mail_attach_existing_attachment/i18n/fr.po @@ -20,35 +20,16 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__can_attach_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_tour_upload_bill__can_attach_attachment #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__can_attach_attachment msgid "Can Attach Attachment" msgstr "Il est possible d'attacher des pièces jointes" -#. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__display_name -msgid "Display Name" -msgstr "" - #. module: mail_attach_existing_attachment #: model:ir.model,name:mail_attach_existing_attachment.model_mail_compose_message msgid "Email composition wizard" msgstr "Assistant de composition de courriel" #. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__id -msgid "ID" -msgstr "" - -#. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message____last_update -msgid "Last Modified on" -msgstr "" - -#. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__object_attachment_ids -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_tour_upload_bill__object_attachment_ids #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__object_attachment_ids #, fuzzy msgid "Object Attachments" diff --git a/mail_attach_existing_attachment/i18n/he.po b/mail_attach_existing_attachment/i18n/he.po index 9da5d6496..8f3672cf2 100644 --- a/mail_attach_existing_attachment/i18n/he.po +++ b/mail_attach_existing_attachment/i18n/he.po @@ -18,35 +18,16 @@ msgstr "" "X-Generator: Weblate 3.10\n" #. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__can_attach_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_tour_upload_bill__can_attach_attachment #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__can_attach_attachment msgid "Can Attach Attachment" msgstr "ניתן לצרף קובץ מצורף" -#. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__display_name -msgid "Display Name" -msgstr "" - #. module: mail_attach_existing_attachment #: model:ir.model,name:mail_attach_existing_attachment.model_mail_compose_message msgid "Email composition wizard" msgstr "אשף יצירת דואר אלקטרוני" #. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__id -msgid "ID" -msgstr "" - -#. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message____last_update -msgid "Last Modified on" -msgstr "" - -#. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__object_attachment_ids -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_tour_upload_bill__object_attachment_ids #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__object_attachment_ids msgid "Object Attachments" msgstr "קבצים מצורפים לאובייקט" diff --git a/mail_attach_existing_attachment/i18n/hr.po b/mail_attach_existing_attachment/i18n/hr.po index 127ca01cf..cbeebfdd8 100644 --- a/mail_attach_existing_attachment/i18n/hr.po +++ b/mail_attach_existing_attachment/i18n/hr.po @@ -21,35 +21,16 @@ msgstr "" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" #. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__can_attach_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_tour_upload_bill__can_attach_attachment #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__can_attach_attachment msgid "Can Attach Attachment" msgstr "Može pridružiti privitak" -#. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__display_name -msgid "Display Name" -msgstr "" - #. module: mail_attach_existing_attachment #: model:ir.model,name:mail_attach_existing_attachment.model_mail_compose_message msgid "Email composition wizard" msgstr "Čarobnjak za sastavljanje maila" #. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__id -msgid "ID" -msgstr "" - -#. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message____last_update -msgid "Last Modified on" -msgstr "" - -#. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__object_attachment_ids -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_tour_upload_bill__object_attachment_ids #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__object_attachment_ids #, fuzzy msgid "Object Attachments" diff --git a/mail_attach_existing_attachment/i18n/it.po b/mail_attach_existing_attachment/i18n/it.po index 83e95e83c..9b750d0ab 100644 --- a/mail_attach_existing_attachment/i18n/it.po +++ b/mail_attach_existing_attachment/i18n/it.po @@ -20,35 +20,16 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__can_attach_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_tour_upload_bill__can_attach_attachment #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__can_attach_attachment msgid "Can Attach Attachment" msgstr "Inserimento Allegati Ammesso" -#. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__display_name -msgid "Display Name" -msgstr "" - #. module: mail_attach_existing_attachment #: model:ir.model,name:mail_attach_existing_attachment.model_mail_compose_message msgid "Email composition wizard" msgstr "Wizard Creazione Email" #. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__id -msgid "ID" -msgstr "" - -#. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message____last_update -msgid "Last Modified on" -msgstr "" - -#. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__object_attachment_ids -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_tour_upload_bill__object_attachment_ids #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__object_attachment_ids #, fuzzy msgid "Object Attachments" diff --git a/mail_attach_existing_attachment/i18n/pt_BR.po b/mail_attach_existing_attachment/i18n/pt_BR.po index ef1cf65a4..268ebacf6 100644 --- a/mail_attach_existing_attachment/i18n/pt_BR.po +++ b/mail_attach_existing_attachment/i18n/pt_BR.po @@ -21,35 +21,16 @@ msgstr "" "X-Generator: Weblate 3.8\n" #. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__can_attach_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_tour_upload_bill__can_attach_attachment #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__can_attach_attachment msgid "Can Attach Attachment" msgstr "Pode Anexar Anexo" -#. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__display_name -msgid "Display Name" -msgstr "" - #. module: mail_attach_existing_attachment #: model:ir.model,name:mail_attach_existing_attachment.model_mail_compose_message msgid "Email composition wizard" msgstr "Assistente de Composição de Email" #. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__id -msgid "ID" -msgstr "" - -#. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message____last_update -msgid "Last Modified on" -msgstr "" - -#. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__object_attachment_ids -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_tour_upload_bill__object_attachment_ids #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__object_attachment_ids msgid "Object Attachments" msgstr "Anexos de Objeto" diff --git a/mail_attach_existing_attachment/i18n/sl.po b/mail_attach_existing_attachment/i18n/sl.po index 7e3e4e4c7..6a3bb8ab5 100644 --- a/mail_attach_existing_attachment/i18n/sl.po +++ b/mail_attach_existing_attachment/i18n/sl.po @@ -22,35 +22,16 @@ msgstr "" "X-Generator: Weblate 3.10\n" #. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__can_attach_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_tour_upload_bill__can_attach_attachment #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__can_attach_attachment msgid "Can Attach Attachment" msgstr "Lahko pripenja priponke" -#. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__display_name -msgid "Display Name" -msgstr "" - #. module: mail_attach_existing_attachment #: model:ir.model,name:mail_attach_existing_attachment.model_mail_compose_message msgid "Email composition wizard" msgstr "Čarovnik za sestavljanje e-pošte" #. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__id -msgid "ID" -msgstr "" - -#. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message____last_update -msgid "Last Modified on" -msgstr "" - -#. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__object_attachment_ids -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_tour_upload_bill__object_attachment_ids #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__object_attachment_ids msgid "Object Attachments" msgstr "Priponke objekta" diff --git a/mail_attach_existing_attachment/i18n/zh_CN.po b/mail_attach_existing_attachment/i18n/zh_CN.po index 81713acbe..a61c0d028 100644 --- a/mail_attach_existing_attachment/i18n/zh_CN.po +++ b/mail_attach_existing_attachment/i18n/zh_CN.po @@ -20,35 +20,16 @@ msgstr "" "Plural-Forms: nplurals=1; plural=0;\n" #. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__can_attach_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_tour_upload_bill__can_attach_attachment #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__can_attach_attachment msgid "Can Attach Attachment" msgstr "" -#. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__display_name -msgid "Display Name" -msgstr "" - #. module: mail_attach_existing_attachment #: model:ir.model,name:mail_attach_existing_attachment.model_mail_compose_message msgid "Email composition wizard" msgstr "" #. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__id -msgid "ID" -msgstr "" - -#. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message____last_update -msgid "Last Modified on" -msgstr "" - -#. module: mail_attach_existing_attachment -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_invoice_send__object_attachment_ids -#: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_account_tour_upload_bill__object_attachment_ids #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__object_attachment_ids #, fuzzy msgid "Object Attachments" From b51c2d2e36573b06868be469c29924cfa5ace774 Mon Sep 17 00:00:00 2001 From: mymage Date: Mon, 24 Jul 2023 07:57:28 +0000 Subject: [PATCH 24/42] Translated using Weblate (Italian) Currently translated at 66.6% (2 of 3 strings) Translation: social-16.0/social-16.0-mail_attach_existing_attachment Translate-URL: https://translation.odoo-community.org/projects/social-16-0/social-16-0-mail_attach_existing_attachment/it/ --- mail_attach_existing_attachment/i18n/it.po | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/mail_attach_existing_attachment/i18n/it.po b/mail_attach_existing_attachment/i18n/it.po index 9b750d0ab..757b65fc8 100644 --- a/mail_attach_existing_attachment/i18n/it.po +++ b/mail_attach_existing_attachment/i18n/it.po @@ -10,14 +10,15 @@ msgstr "" "Project-Id-Version: Odoo Server 10.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-05-17 01:02+0000\n" -"PO-Revision-Date: 2017-05-17 01:02+0000\n" -"Last-Translator: Marius Marolla , 2017\n" +"PO-Revision-Date: 2023-07-24 10:10+0000\n" +"Last-Translator: mymage \n" "Language-Team: Italian (https://www.transifex.com/oca/teams/23907/it/)\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" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.17\n" #. module: mail_attach_existing_attachment #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__can_attach_attachment @@ -27,7 +28,7 @@ msgstr "Inserimento Allegati Ammesso" #. module: mail_attach_existing_attachment #: model:ir.model,name:mail_attach_existing_attachment.model_mail_compose_message msgid "Email composition wizard" -msgstr "Wizard Creazione Email" +msgstr "Procedura guidata creazione e-mail" #. module: mail_attach_existing_attachment #: model:ir.model.fields,field_description:mail_attach_existing_attachment.field_mail_compose_message__object_attachment_ids From 19721f4ad21133e27450b0cc52de886dcae35775 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Sun, 3 Sep 2023 17:03:29 +0000 Subject: [PATCH 25/42] [UPD] README.rst --- mail_attach_existing_attachment/README.rst | 15 ++++--- .../static/description/index.html | 42 ++++++++++--------- 2 files changed, 31 insertions(+), 26 deletions(-) diff --git a/mail_attach_existing_attachment/README.rst b/mail_attach_existing_attachment/README.rst index 7720d0b92..d30858c40 100644 --- a/mail_attach_existing_attachment/README.rst +++ b/mail_attach_existing_attachment/README.rst @@ -2,10 +2,13 @@ Mail Attach Existing Attachment =============================== -.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:abc6af897ab2e0f7898e5b9fc07671e0bb96c1fb8ffcee09980a3173537b6318 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png :target: https://odoo-community.org/page/development-status @@ -19,11 +22,11 @@ Mail Attach Existing Attachment .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png :target: https://translation.odoo-community.org/projects/social-16-0/social-16-0-mail_attach_existing_attachment :alt: Translate me on Weblate -.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png - :target: https://runbot.odoo-community.org/runbot/205/16.0 - :alt: Try me on Runbot +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/social&target_branch=16.0 + :alt: Try me on Runboat -|badge1| |badge2| |badge3| |badge4| |badge5| +|badge1| |badge2| |badge3| |badge4| |badge5| This module was written to add the possibility to add attachments located on the object by sending it by email with the mail compose message wizard @@ -58,7 +61,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 smashing it by providing a detailed and welcomed +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. diff --git a/mail_attach_existing_attachment/static/description/index.html b/mail_attach_existing_attachment/static/description/index.html index 51612eb47..78206f9bb 100644 --- a/mail_attach_existing_attachment/static/description/index.html +++ b/mail_attach_existing_attachment/static/description/index.html @@ -1,20 +1,20 @@ - + - + Mail Attach Existing Attachment -
        -

        Mail Attach Existing Attachment

        +
        + + +Odoo Community Association + +
        +

        Mail Attach Existing Attachment

        -

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

        +

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

        This module was written to add the possibility to add attachments located on the object by sending it by email with the mail compose message wizard

        @@ -388,7 +393,7 @@

        Mail Attach Existing Attachment

    -

    Usage

    +

    Usage

    To use this module, you need to:

    • Add some attachments on an object by creating a new Log note
    • @@ -401,14 +406,14 @@

      Usage

      image2

    -

    Known issues / Roadmap

    +

    Known issues / Roadmap

    • The module only allows the addition of attachments linked to the object.
    -

    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 @@ -416,16 +421,16 @@

    Bug Tracker

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

    -

    Credits

    +

    Credits

    -

    Authors

    +

    Authors

    • ACSONE SA/NV
    • Tecnativa
    -

    Contributors

    +

    Contributors

    -

    Maintainers

    +

    Maintainers

    This module is maintained by the OCA.

    Odoo Community Association @@ -458,5 +463,6 @@

    Maintainers

    + From 728e20af3bc6c10c41f9ccc1155ffa860753b38a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Honor=C3=A9?= Date: Mon, 13 Apr 2026 09:28:52 +0200 Subject: [PATCH 42/42] [UPD] mail_attach_existing_attachment: update manifest and auto-update index/readme --- mail_attach_existing_attachment/README.rst | 14 +++++++------- mail_attach_existing_attachment/__manifest__.py | 2 +- .../static/description/index.html | 10 +++++----- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/mail_attach_existing_attachment/README.rst b/mail_attach_existing_attachment/README.rst index a5f488d14..d2a9ee2a1 100644 --- a/mail_attach_existing_attachment/README.rst +++ b/mail_attach_existing_attachment/README.rst @@ -21,13 +21,13 @@ Mail Attach Existing Attachment :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fmail-lightgray.png?logo=github - :target: https://github.com/OCA/mail/tree/18.0/mail_attach_existing_attachment + :target: https://github.com/OCA/mail/tree/19.0/mail_attach_existing_attachment :alt: OCA/mail .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/mail-18-0/mail-18-0-mail_attach_existing_attachment + :target: https://translation.odoo-community.org/projects/mail-19-0/mail-19-0-mail_attach_existing_attachment :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/mail&target_branch=18.0 + :target: https://runboat.odoo-community.org/builds?repo=OCA/mail&target_branch=19.0 :alt: Try me on Runboat |badge1| |badge2| |badge3| |badge4| |badge5| @@ -55,8 +55,8 @@ To use this module, you need to: |image2| -.. |image1| image:: https://raw.githubusercontent.com/OCA/mail/18.0/mail_attach_existing_attachment/static/description/attachment.png -.. |image2| image:: https://raw.githubusercontent.com/OCA/mail/18.0/mail_attach_existing_attachment/static/description/ex_mail_compose_message.png +.. |image1| image:: https://raw.githubusercontent.com/OCA/mail/19.0/mail_attach_existing_attachment/static/description/attachment.png +.. |image2| image:: https://raw.githubusercontent.com/OCA/mail/19.0/mail_attach_existing_attachment/static/description/ex_mail_compose_message.png Known issues / Roadmap ====================== @@ -70,7 +70,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. @@ -114,6 +114,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/mail `_ project on GitHub. +This module is part of the `OCA/mail `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/mail_attach_existing_attachment/__manifest__.py b/mail_attach_existing_attachment/__manifest__.py index 6b35495b3..8066499ba 100644 --- a/mail_attach_existing_attachment/__manifest__.py +++ b/mail_attach_existing_attachment/__manifest__.py @@ -7,7 +7,7 @@ "author": "ACSONE SA/NV, Tecnativa, Odoo Community Association (OCA)", "website": "https://github.com/OCA/mail", "category": "Social Network", - "version": "18.0.1.0.0", + "version": "19.0.1.0.0", "license": "AGPL-3", "depends": ["mail"], "data": ["wizard/mail_compose_message_view.xml"], diff --git a/mail_attach_existing_attachment/static/description/index.html b/mail_attach_existing_attachment/static/description/index.html index 7ab8fa95f..59511eba3 100644 --- a/mail_attach_existing_attachment/static/description/index.html +++ b/mail_attach_existing_attachment/static/description/index.html @@ -374,7 +374,7 @@

    Mail Attach Existing Attachment

    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! source digest: sha256:578cfdefd4d461e90fdf1d9de67f86992efeaf51c556f4be4da72a920740e881 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

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

    +

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

    This module was written to add the possibility to add attachments located on the object by sending it by email with the mail compose message wizard

    @@ -398,12 +398,12 @@

    Usage

    • Add some attachments on an object by creating a new Log note
    -

    image1

    +

    image1

    • Then, by sending the object via email, you can select the attachment added earlier
    -

    image2

    +

    image2

    Known issues / Roadmap

    @@ -417,7 +417,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.

    @@ -458,7 +458,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/mail project on GitHub.

    +

    This module is part of the OCA/mail project on GitHub.

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