From 0b9af8bda27a2cf72ab95d2320d6d7d647da3757 Mon Sep 17 00:00:00 2001 From: tbaden Date: Wed, 24 Apr 2019 18:20:03 +0200 Subject: [PATCH 01/21] [12.0][ADD]mail_attach_existing_attachment_account [UPD] README.rst [ADD] icon.png [UPD] Update mail_attach_existing_attachment_account.pot [UPD] README.rst --- .../README.rst | 74 +++ .../__init__.py | 2 + .../__manifest__.py | 22 + ...ail_attach_existing_attachment_account.pot | 14 + .../readme/CONTRIBUTORS.rst | 1 + .../readme/DESCRIPTION.rst | 2 + .../static/description/icon.png | Bin 0 -> 9455 bytes .../static/description/index.html | 420 ++++++++++++++++++ .../wizard/account_invoice_send_view.xml | 23 + 9 files changed, 558 insertions(+) create mode 100644 mail_attach_existing_attachment_account/README.rst create mode 100644 mail_attach_existing_attachment_account/__init__.py create mode 100644 mail_attach_existing_attachment_account/__manifest__.py create mode 100644 mail_attach_existing_attachment_account/i18n/mail_attach_existing_attachment_account.pot create mode 100644 mail_attach_existing_attachment_account/readme/CONTRIBUTORS.rst create mode 100644 mail_attach_existing_attachment_account/readme/DESCRIPTION.rst create mode 100644 mail_attach_existing_attachment_account/static/description/icon.png create mode 100644 mail_attach_existing_attachment_account/static/description/index.html create mode 100644 mail_attach_existing_attachment_account/wizard/account_invoice_send_view.xml diff --git a/mail_attach_existing_attachment_account/README.rst b/mail_attach_existing_attachment_account/README.rst new file mode 100644 index 000000000..21ecc41a9 --- /dev/null +++ b/mail_attach_existing_attachment_account/README.rst @@ -0,0 +1,74 @@ +========================================= +Mail Attach Existing Attachment (Account) +========================================= + +.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fsocial-lightgray.png?logo=github + :target: https://github.com/OCA/social/tree/12.0/mail_attach_existing_attachment_account + :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_account + :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 adds the mail_attach_existing_attachment feature to the account module, +since there is a change in odoo 12.0, which adds a new mail wizard form to the account module + +**Table of contents** + +.. contents:: + :local: + +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 +~~~~~~~ + +* Thore Baden + +Contributors +~~~~~~~~~~~~ + +* Thore Baden + +Maintainers +~~~~~~~~~~~ + +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +This module is part of the `OCA/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_account/__init__.py b/mail_attach_existing_attachment_account/__init__.py new file mode 100644 index 000000000..1d618c047 --- /dev/null +++ b/mail_attach_existing_attachment_account/__init__.py @@ -0,0 +1,2 @@ +# Copyright 2019 Thore Baden +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). diff --git a/mail_attach_existing_attachment_account/__manifest__.py b/mail_attach_existing_attachment_account/__manifest__.py new file mode 100644 index 000000000..2fa53da77 --- /dev/null +++ b/mail_attach_existing_attachment_account/__manifest__.py @@ -0,0 +1,22 @@ +# Copyright 2019 Thore Baden +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +{ + 'name': "Mail Attach Existing Attachment (Account)", + 'summary': "Module to use attach existing attachment for account module", + 'author': "Thore Baden, " + "Odoo Community Association (OCA)", + 'website': "https://github.com/OCA/social", + 'category': 'Social Network', + 'version': '12.0.1.0.0', + 'license': 'AGPL-3', + 'depends': [ + 'account', + 'mail_attach_existing_attachment', + ], + 'data': [ + 'wizard/account_invoice_send_view.xml', + ], + 'installable': True, + 'auto_install': True, +} diff --git a/mail_attach_existing_attachment_account/i18n/mail_attach_existing_attachment_account.pot b/mail_attach_existing_attachment_account/i18n/mail_attach_existing_attachment_account.pot new file mode 100644 index 000000000..d2e396f15 --- /dev/null +++ b/mail_attach_existing_attachment_account/i18n/mail_attach_existing_attachment_account.pot @@ -0,0 +1,14 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.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" + diff --git a/mail_attach_existing_attachment_account/readme/CONTRIBUTORS.rst b/mail_attach_existing_attachment_account/readme/CONTRIBUTORS.rst new file mode 100644 index 000000000..d68ba5085 --- /dev/null +++ b/mail_attach_existing_attachment_account/readme/CONTRIBUTORS.rst @@ -0,0 +1 @@ +* Thore Baden diff --git a/mail_attach_existing_attachment_account/readme/DESCRIPTION.rst b/mail_attach_existing_attachment_account/readme/DESCRIPTION.rst new file mode 100644 index 000000000..03b832e46 --- /dev/null +++ b/mail_attach_existing_attachment_account/readme/DESCRIPTION.rst @@ -0,0 +1,2 @@ +This Module adds the mail_attach_existing_attachment feature to the account module, +since there is a change in odoo 12.0, which adds a new mail wizard form to the account module diff --git a/mail_attach_existing_attachment_account/static/description/icon.png b/mail_attach_existing_attachment_account/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d GIT binary patch literal 9455 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 z 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 Xviia!U7SGha1wx#SCgwmn*{w2TRX*I literal 0 HcmV?d00001 diff --git a/mail_attach_existing_attachment_account/static/description/index.html b/mail_attach_existing_attachment_account/static/description/index.html new file mode 100644 index 000000000..8704fcdec --- /dev/null +++ b/mail_attach_existing_attachment_account/static/description/index.html @@ -0,0 +1,420 @@ + + + + + + +Mail Attach Existing Attachment (Account) + + + +
+

Mail Attach Existing Attachment (Account)

+ + +

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

+

This Module adds the mail_attach_existing_attachment feature to the account module, +since there is a change in odoo 12.0, which adds a new mail wizard form to the account module

+

Table of contents

+ +
+

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

+
    +
  • Thore Baden
  • +
+
+
+

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_account/wizard/account_invoice_send_view.xml b/mail_attach_existing_attachment_account/wizard/account_invoice_send_view.xml new file mode 100644 index 000000000..556595364 --- /dev/null +++ b/mail_attach_existing_attachment_account/wizard/account_invoice_send_view.xml @@ -0,0 +1,23 @@ + + + + + Send Invoice + account.invoice.send + + + + + + +
+
+ +
+
+
+
+
From bcf7f0e870318fae570792813c86d6dbc462a0a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Mart=C3=ADnez?= Date: Thu, 11 Nov 2021 11:53:59 +0100 Subject: [PATCH 02/21] [IMP] mail_attach_existing_attachment_account: black, isort, prettier --- .../__manifest__.py | 28 ++++++++----------- .../wizard/account_invoice_send_view.xml | 16 +++++++---- 2 files changed, 21 insertions(+), 23 deletions(-) diff --git a/mail_attach_existing_attachment_account/__manifest__.py b/mail_attach_existing_attachment_account/__manifest__.py index 2fa53da77..77932ab72 100644 --- a/mail_attach_existing_attachment_account/__manifest__.py +++ b/mail_attach_existing_attachment_account/__manifest__.py @@ -2,21 +2,15 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). { - 'name': "Mail Attach Existing Attachment (Account)", - 'summary': "Module to use attach existing attachment for account module", - 'author': "Thore Baden, " - "Odoo Community Association (OCA)", - 'website': "https://github.com/OCA/social", - 'category': 'Social Network', - 'version': '12.0.1.0.0', - 'license': 'AGPL-3', - 'depends': [ - 'account', - 'mail_attach_existing_attachment', - ], - 'data': [ - 'wizard/account_invoice_send_view.xml', - ], - 'installable': True, - 'auto_install': True, + "name": "Mail Attach Existing Attachment (Account)", + "summary": "Module to use attach existing attachment for account module", + "author": "Thore Baden, " "Odoo Community Association (OCA)", + "website": "https://github.com/OCA/social", + "category": "Social Network", + "version": "12.0.1.0.0", + "license": "AGPL-3", + "depends": ["account", "mail_attach_existing_attachment",], + "data": ["wizard/account_invoice_send_view.xml",], + "installable": True, + "auto_install": True, } diff --git a/mail_attach_existing_attachment_account/wizard/account_invoice_send_view.xml b/mail_attach_existing_attachment_account/wizard/account_invoice_send_view.xml index 556595364..88c19beaa 100644 --- a/mail_attach_existing_attachment_account/wizard/account_invoice_send_view.xml +++ b/mail_attach_existing_attachment_account/wizard/account_invoice_send_view.xml @@ -1,4 +1,4 @@ - + -

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 adds the mail_attach_existing_attachment feature to the account module, since there is a change in odoo 12.0, which adds a new mail wizard form to the account module

Table of contents

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

@@ -402,6 +402,10 @@

Authors

Contributors

@@ -411,7 +415,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_account/tests/__init__.py b/mail_attach_existing_attachment_account/tests/__init__.py new file mode 100644 index 000000000..277c7fbde --- /dev/null +++ b/mail_attach_existing_attachment_account/tests/__init__.py @@ -0,0 +1 @@ +from . import test_mail_attach_existing_attachment_account diff --git a/mail_attach_existing_attachment_account/tests/test_mail_attach_existing_attachment_account.py b/mail_attach_existing_attachment_account/tests/test_mail_attach_existing_attachment_account.py new file mode 100644 index 000000000..bdee88e89 --- /dev/null +++ b/mail_attach_existing_attachment_account/tests/test_mail_attach_existing_attachment_account.py @@ -0,0 +1,33 @@ +# Copyright 2021 Tecnativa - Víctor Martínez +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +from odoo.tests import Form, common + + +class TestMailAttachExistingAttachmentAccount(common.SavepointCase): + @classmethod + def setUpClass(cls): + super().setUpClass() + cls.product = cls.env["product.product"].create({"name": "Test product"}) + cls.partner = cls.env["res.partner"].create({"name": "Mr. Odoo"}) + cls.journal = cls.env["account.journal"].create( + {"name": "Test sale journal", "code": "TSALE", "type": "sale"} + ) + invoice_form = Form( + cls.env["account.move"].with_context(default_type="out_invoice") + ) + invoice_form.partner_id = cls.partner + with invoice_form.invoice_line_ids.new() as line_form: + line_form.product_id = cls.product + cls.invoice = invoice_form.save() + cls.invoice.action_post() + + def test_account_invoice_send(self): + compose = Form( + self.env["account.invoice.send"].with_context( + active_ids=self.invoice.ids, + default_model=self.invoice._name, + default_res_id=self.invoice.id, + default_res_model=self.invoice._name, + ) + ) + self.assertTrue(compose.can_attach_attachment) diff --git a/mail_attach_existing_attachment_account/wizard/__init__.py b/mail_attach_existing_attachment_account/wizard/__init__.py new file mode 100644 index 000000000..edaf0442f --- /dev/null +++ b/mail_attach_existing_attachment_account/wizard/__init__.py @@ -0,0 +1 @@ +from . import account_invoice_send diff --git a/mail_attach_existing_attachment_account/wizard/account_invoice_send.py b/mail_attach_existing_attachment_account/wizard/account_invoice_send.py new file mode 100644 index 000000000..e6603e352 --- /dev/null +++ b/mail_attach_existing_attachment_account/wizard/account_invoice_send.py @@ -0,0 +1,22 @@ +# Copyright 2021 Tecnativa - Víctor Martínez +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from odoo import api, fields, models + + +class AccountInvoiceSend(models.TransientModel): + _inherit = "account.invoice.send" + + @api.model + def default_get(self, fields_list): + res = super().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 + return res + + can_attach_attachment = fields.Boolean(string="Can Attach Attachment",) From e7b8e4ac8cc7ff3c8c15826b4780bf4d6585e8a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Mart=C3=ADnez?= Date: Thu, 11 Nov 2021 13:08:49 +0100 Subject: [PATCH 04/21] [IMP] mail_attach_existing_attachment_account: black, isort, prettier --- .../wizard/account_invoice_send.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/mail_attach_existing_attachment_account/wizard/account_invoice_send.py b/mail_attach_existing_attachment_account/wizard/account_invoice_send.py index e6603e352..9eee108e8 100644 --- a/mail_attach_existing_attachment_account/wizard/account_invoice_send.py +++ b/mail_attach_existing_attachment_account/wizard/account_invoice_send.py @@ -19,4 +19,6 @@ 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( + string="Can Attach Attachment", + ) From 34f0bd023a9026739fcc10187488cae06306c204 Mon Sep 17 00:00:00 2001 From: Ernesto Tejeda Date: Wed, 10 Nov 2021 15:57:18 -0500 Subject: [PATCH 05/21] [MIG] mail_attach_existing_attachment_account: Migration to 14.0 TT32120 --- .../README.rst | 11 ++++++----- .../__manifest__.py | 2 +- .../mail_attach_existing_attachment_account.pot | 17 ++++++++++++++++- .../readme/CONTRIBUTORS.rst | 1 + .../static/description/index.html | 7 ++++--- ...t_mail_attach_existing_attachment_account.py | 8 +++++++- 6 files changed, 35 insertions(+), 11 deletions(-) diff --git a/mail_attach_existing_attachment_account/README.rst b/mail_attach_existing_attachment_account/README.rst index 8b27d4298..1941d3616 100644 --- a/mail_attach_existing_attachment_account/README.rst +++ b/mail_attach_existing_attachment_account/README.rst @@ -14,13 +14,13 @@ Mail Attach Existing Attachment (Account) :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_account + :target: https://github.com/OCA/social/tree/14.0/mail_attach_existing_attachment_account :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_account + :target: https://translation.odoo-community.org/projects/social-14-0/social-14-0-mail_attach_existing_attachment_account :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| @@ -39,7 +39,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. @@ -59,6 +59,7 @@ Contributors * `Tecnativa `_: * Víctor Martínez + * Ernesto Tejeda Maintainers ~~~~~~~~~~~ @@ -73,6 +74,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_account/__manifest__.py b/mail_attach_existing_attachment_account/__manifest__.py index 9beadade7..1b27360e0 100644 --- a/mail_attach_existing_attachment_account/__manifest__.py +++ b/mail_attach_existing_attachment_account/__manifest__.py @@ -7,7 +7,7 @@ "author": "Thore Baden, 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": ["account", "mail_attach_existing_attachment"], "data": ["wizard/account_invoice_send_view.xml"], diff --git a/mail_attach_existing_attachment_account/i18n/mail_attach_existing_attachment_account.pot b/mail_attach_existing_attachment_account/i18n/mail_attach_existing_attachment_account.pot index e4acf0ca7..9f67a287e 100644 --- a/mail_attach_existing_attachment_account/i18n/mail_attach_existing_attachment_account.pot +++ b/mail_attach_existing_attachment_account/i18n/mail_attach_existing_attachment_account.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" @@ -22,3 +22,18 @@ msgstr "" #: model:ir.model.fields,field_description:mail_attach_existing_attachment_account.field_account_invoice_send__can_attach_attachment msgid "Can Attach Attachment" msgstr "" + +#. module: mail_attach_existing_attachment_account +#: model:ir.model.fields,field_description:mail_attach_existing_attachment_account.field_account_invoice_send__display_name +msgid "Display Name" +msgstr "" + +#. module: mail_attach_existing_attachment_account +#: model:ir.model.fields,field_description:mail_attach_existing_attachment_account.field_account_invoice_send__id +msgid "ID" +msgstr "" + +#. module: mail_attach_existing_attachment_account +#: model:ir.model.fields,field_description:mail_attach_existing_attachment_account.field_account_invoice_send____last_update +msgid "Last Modified on" +msgstr "" diff --git a/mail_attach_existing_attachment_account/readme/CONTRIBUTORS.rst b/mail_attach_existing_attachment_account/readme/CONTRIBUTORS.rst index f4dc58cce..2bba5cf99 100644 --- a/mail_attach_existing_attachment_account/readme/CONTRIBUTORS.rst +++ b/mail_attach_existing_attachment_account/readme/CONTRIBUTORS.rst @@ -3,3 +3,4 @@ * `Tecnativa `_: * Víctor Martínez + * Ernesto Tejeda diff --git a/mail_attach_existing_attachment_account/static/description/index.html b/mail_attach_existing_attachment_account/static/description/index.html index abd5448be..f9eb634eb 100644 --- a/mail_attach_existing_attachment_account/static/description/index.html +++ b/mail_attach_existing_attachment_account/static/description/index.html @@ -367,7 +367,7 @@

Mail Attach Existing Attachment (Account)

!! 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 adds the mail_attach_existing_attachment feature to the account module, since there is a change in odoo 12.0, which adds a new mail wizard form to the account module

Table of contents

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

@@ -404,6 +404,7 @@

Contributors

  • Thore Baden <thorebaden@gmail.com>
  • Tecnativa:
    • Víctor Martínez
    • +
    • Ernesto Tejeda
  • @@ -415,7 +416,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_account/tests/test_mail_attach_existing_attachment_account.py b/mail_attach_existing_attachment_account/tests/test_mail_attach_existing_attachment_account.py index bdee88e89..9e33465a1 100644 --- a/mail_attach_existing_attachment_account/tests/test_mail_attach_existing_attachment_account.py +++ b/mail_attach_existing_attachment_account/tests/test_mail_attach_existing_attachment_account.py @@ -12,12 +12,18 @@ def setUpClass(cls): cls.journal = cls.env["account.journal"].create( {"name": "Test sale journal", "code": "TSALE", "type": "sale"} ) + account_type = cls.env.ref("account.data_account_type_other_income") + cls.income_account = cls.env["account.account"].search( + [("user_type_id", "=", account_type.id)], + limit=1, + ) invoice_form = Form( - cls.env["account.move"].with_context(default_type="out_invoice") + cls.env["account.move"].with_context(default_move_type="out_invoice") ) invoice_form.partner_id = cls.partner with invoice_form.invoice_line_ids.new() as line_form: line_form.product_id = cls.product + line_form.account_id = cls.income_account cls.invoice = invoice_form.save() cls.invoice.action_post() From e880c4e201e7bada92dca0eb8257e02171a6851e Mon Sep 17 00:00:00 2001 From: "Pedro M. Baeza" Date: Wed, 16 Mar 2022 19:23:31 +0100 Subject: [PATCH 06/21] [FIX] mail_attach_existing_attachment_account: Resilient tests on multi-company Doing a bulk search on accounts without company filter can lead to selecting an account of other company, and thus, making the test to fail. We restrict the account search to the current company. --- mail_attach_existing_attachment_account/__manifest__.py | 2 +- .../tests/test_mail_attach_existing_attachment_account.py | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/mail_attach_existing_attachment_account/__manifest__.py b/mail_attach_existing_attachment_account/__manifest__.py index 1b27360e0..eeecbcd76 100644 --- a/mail_attach_existing_attachment_account/__manifest__.py +++ b/mail_attach_existing_attachment_account/__manifest__.py @@ -7,7 +7,7 @@ "author": "Thore Baden, Odoo Community Association (OCA)", "website": "https://github.com/OCA/social", "category": "Social Network", - "version": "14.0.1.0.0", + "version": "14.0.1.0.1", "license": "AGPL-3", "depends": ["account", "mail_attach_existing_attachment"], "data": ["wizard/account_invoice_send_view.xml"], diff --git a/mail_attach_existing_attachment_account/tests/test_mail_attach_existing_attachment_account.py b/mail_attach_existing_attachment_account/tests/test_mail_attach_existing_attachment_account.py index 9e33465a1..77c67efd1 100644 --- a/mail_attach_existing_attachment_account/tests/test_mail_attach_existing_attachment_account.py +++ b/mail_attach_existing_attachment_account/tests/test_mail_attach_existing_attachment_account.py @@ -14,7 +14,10 @@ def setUpClass(cls): ) account_type = cls.env.ref("account.data_account_type_other_income") cls.income_account = cls.env["account.account"].search( - [("user_type_id", "=", account_type.id)], + [ + ("user_type_id", "=", account_type.id), + ("company_id", "=", cls.env.company.id), + ], limit=1, ) invoice_form = Form( From 43cf8dfd544f6fd2ed62eaa64f6a81ab2d3cf87a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Bidoul?= Date: Fri, 22 Nov 2024 19:10:43 +0100 Subject: [PATCH 07/21] [MIG] mail_attach_existing_attachment_account from 14.0 --- .../__manifest__.py | 2 +- .../test_mail_attach_existing_attachment_account.py | 11 +---------- .../wizard/account_invoice_send.py | 4 +--- 3 files changed, 3 insertions(+), 14 deletions(-) diff --git a/mail_attach_existing_attachment_account/__manifest__.py b/mail_attach_existing_attachment_account/__manifest__.py index eeecbcd76..002c4ceda 100644 --- a/mail_attach_existing_attachment_account/__manifest__.py +++ b/mail_attach_existing_attachment_account/__manifest__.py @@ -7,7 +7,7 @@ "author": "Thore Baden, Odoo Community Association (OCA)", "website": "https://github.com/OCA/social", "category": "Social Network", - "version": "14.0.1.0.1", + "version": "16.0.1.0.1", "license": "AGPL-3", "depends": ["account", "mail_attach_existing_attachment"], "data": ["wizard/account_invoice_send_view.xml"], diff --git a/mail_attach_existing_attachment_account/tests/test_mail_attach_existing_attachment_account.py b/mail_attach_existing_attachment_account/tests/test_mail_attach_existing_attachment_account.py index 77c67efd1..3b6068aa0 100644 --- a/mail_attach_existing_attachment_account/tests/test_mail_attach_existing_attachment_account.py +++ b/mail_attach_existing_attachment_account/tests/test_mail_attach_existing_attachment_account.py @@ -3,7 +3,7 @@ from odoo.tests import Form, common -class TestMailAttachExistingAttachmentAccount(common.SavepointCase): +class TestMailAttachExistingAttachmentAccount(common.TransactionCase): @classmethod def setUpClass(cls): super().setUpClass() @@ -12,21 +12,12 @@ def setUpClass(cls): cls.journal = cls.env["account.journal"].create( {"name": "Test sale journal", "code": "TSALE", "type": "sale"} ) - account_type = cls.env.ref("account.data_account_type_other_income") - cls.income_account = cls.env["account.account"].search( - [ - ("user_type_id", "=", account_type.id), - ("company_id", "=", cls.env.company.id), - ], - limit=1, - ) invoice_form = Form( cls.env["account.move"].with_context(default_move_type="out_invoice") ) invoice_form.partner_id = cls.partner with invoice_form.invoice_line_ids.new() as line_form: line_form.product_id = cls.product - line_form.account_id = cls.income_account cls.invoice = invoice_form.save() cls.invoice.action_post() diff --git a/mail_attach_existing_attachment_account/wizard/account_invoice_send.py b/mail_attach_existing_attachment_account/wizard/account_invoice_send.py index 9eee108e8..8485d3d3c 100644 --- a/mail_attach_existing_attachment_account/wizard/account_invoice_send.py +++ b/mail_attach_existing_attachment_account/wizard/account_invoice_send.py @@ -19,6 +19,4 @@ 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() From 34f859c614deaceba06bb7ce82ab5e3aaeb39bdc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Bidoul?= Date: Fri, 22 Nov 2024 19:11:15 +0100 Subject: [PATCH 08/21] [IMP] mail_attach_existing_attachment_account: pre-commit stuff --- .../README.rst | 23 ++++++---- .../static/description/index.html | 46 ++++++++++--------- 2 files changed, 38 insertions(+), 31 deletions(-) diff --git a/mail_attach_existing_attachment_account/README.rst b/mail_attach_existing_attachment_account/README.rst index 1941d3616..83effa8fa 100644 --- a/mail_attach_existing_attachment_account/README.rst +++ b/mail_attach_existing_attachment_account/README.rst @@ -2,10 +2,13 @@ Mail Attach Existing Attachment (Account) ========================================= -.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:4ce1f7668e74ce6192e9ca412c06d6cd8d7747f6fdacb578c5c92670cdc23f03 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png :target: https://odoo-community.org/page/development-status @@ -14,16 +17,16 @@ Mail Attach Existing Attachment (Account) :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_account + :target: https://github.com/OCA/social/tree/16.0/mail_attach_existing_attachment_account :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_account + :target: https://translation.odoo-community.org/projects/social-16-0/social-16-0-mail_attach_existing_attachment_account :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 - :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 adds the mail_attach_existing_attachment feature to the account module, since there is a change in odoo 12.0, which adds a new mail wizard form to the account module @@ -38,8 +41,8 @@ Bug Tracker Bugs are tracked on `GitHub Issues `_. In case of trouble, please check there if your issue has already been reported. -If you spotted it first, help us smashing it by providing a detailed and welcomed -`feedback `_. +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. @@ -74,6 +77,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_account/static/description/index.html b/mail_attach_existing_attachment_account/static/description/index.html index f9eb634eb..719a7bfc9 100644 --- a/mail_attach_existing_attachment_account/static/description/index.html +++ b/mail_attach_existing_attachment_account/static/description/index.html @@ -1,20 +1,20 @@ - - + Mail Attach Existing Attachment (Account) -
    -

    Mail Attach Existing Attachment (Account)

    +
    + + +Odoo Community Association + +
    +

    Mail Attach Existing Attachment (Account)

    -

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

    +

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

    This Module adds the mail_attach_existing_attachment feature to the account module, since there is a change in odoo 12.0, which adds a new mail wizard form to the account module

    @@ -385,7 +391,7 @@

    Mail Attach Existing Attachment (Account)

    -

    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 @@ -393,28 +399,31 @@

    Bug Tracker

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

    -

    Credits

    +

    Credits

    -

    Authors

    +

    Authors

    • Thore Baden
    -

    Contributors

    +

    Contributors

    -

    Maintainers

    +

    Maintainers

    This module is maintained by the OCA.

    -Odoo Community Association + +Odoo Community Association +

    OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.

    @@ -423,5 +432,6 @@

    Maintainers

    +
    diff --git a/mail_attach_existing_attachment_account/tests/test_mail_attach_existing_attachment_account.py b/mail_attach_existing_attachment_account/tests/test_mail_attach_existing_attachment_account.py index 3b6068aa0..5ecd50fe3 100644 --- a/mail_attach_existing_attachment_account/tests/test_mail_attach_existing_attachment_account.py +++ b/mail_attach_existing_attachment_account/tests/test_mail_attach_existing_attachment_account.py @@ -1,9 +1,11 @@ # Copyright 2021 Tecnativa - Víctor Martínez # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -from odoo.tests import Form, common +from odoo.tests import Form +from odoo.addons.base.tests.common import BaseCommon -class TestMailAttachExistingAttachmentAccount(common.TransactionCase): + +class TestMailAttachExistingAttachmentAccount(BaseCommon): @classmethod def setUpClass(cls): super().setUpClass() @@ -23,7 +25,7 @@ def setUpClass(cls): def test_account_invoice_send(self): compose = Form( - self.env["account.invoice.send"].with_context( + self.env["account.move.send"].with_context( active_ids=self.invoice.ids, default_model=self.invoice._name, default_res_id=self.invoice.id, diff --git a/mail_attach_existing_attachment_account/wizard/__init__.py b/mail_attach_existing_attachment_account/wizard/__init__.py index edaf0442f..cf39f38e7 100644 --- a/mail_attach_existing_attachment_account/wizard/__init__.py +++ b/mail_attach_existing_attachment_account/wizard/__init__.py @@ -1 +1 @@ -from . import account_invoice_send +from . import account_move_send diff --git a/mail_attach_existing_attachment_account/wizard/account_invoice_send.py b/mail_attach_existing_attachment_account/wizard/account_invoice_send.py deleted file mode 100644 index 8485d3d3c..000000000 --- a/mail_attach_existing_attachment_account/wizard/account_invoice_send.py +++ /dev/null @@ -1,22 +0,0 @@ -# Copyright 2021 Tecnativa - Víctor Martínez -# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). - -from odoo import api, fields, models - - -class AccountInvoiceSend(models.TransientModel): - _inherit = "account.invoice.send" - - @api.model - def default_get(self, fields_list): - res = super().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 - return res - - can_attach_attachment = fields.Boolean() diff --git a/mail_attach_existing_attachment_account/wizard/account_invoice_send_view.xml b/mail_attach_existing_attachment_account/wizard/account_invoice_send_view.xml deleted file mode 100644 index 5b9718ac6..000000000 --- a/mail_attach_existing_attachment_account/wizard/account_invoice_send_view.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - Send Invoice - account.invoice.send - - - - - - - - - - - diff --git a/mail_attach_existing_attachment_account/wizard/account_move_send.py b/mail_attach_existing_attachment_account/wizard/account_move_send.py new file mode 100644 index 000000000..1db2e1434 --- /dev/null +++ b/mail_attach_existing_attachment_account/wizard/account_move_send.py @@ -0,0 +1,60 @@ +# Copyright 2021 Tecnativa - Víctor Martínez +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from odoo import api, fields, models + + +class AccountMoveSend(models.TransientModel): + _inherit = "account.move.send" + + can_attach_attachment = fields.Boolean() + object_attachment_ids = fields.Many2many( + comodel_name="ir.attachment", + relation="account_move_send_ir_attachments_object_rel", + column1="wizard_id", + column2="attachment_id", + string="Object Attachments", + ) + display_object_attachment_ids = fields.One2many( + comodel_name="ir.attachment", + compute="_compute_display_object_attachment_ids", + ) + + @api.depends("move_ids") + def _compute_display_object_attachment_ids(self): + for wizard in self: + if self.move_ids: + attachments = self.env["ir.attachment"].search( + [ + ("res_model", "=", "account.move"), + ("res_id", "in", self.move_ids.ids), + ] + ) + wizard.display_object_attachment_ids = attachments + else: + wizard.display_object_attachment_ids = False + + def _prepare_mail_values(self, res_ids): + res = super()._prepare_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 + + @api.model + def _get_invoice_extra_attachments(self, move): + res = super()._get_invoice_extra_attachments(move) + res |= self.object_attachment_ids + return res + + @api.model + def default_get(self, fields_list): + res = super().default_get(fields_list) + if ( + res.get("move_ids") + and res.get("mode", "") != "invoice_multi" + and not res.get("can_attach_attachment") + ): + res["can_attach_attachment"] = True # pragma: no cover + return res diff --git a/mail_attach_existing_attachment_account/wizard/account_move_send_view.xml b/mail_attach_existing_attachment_account/wizard/account_move_send_view.xml new file mode 100644 index 000000000..1ca393b9a --- /dev/null +++ b/mail_attach_existing_attachment_account/wizard/account_move_send_view.xml @@ -0,0 +1,24 @@ + + + + + Send Invoice + account.move.send + + + + + + + + + From b142db6e2f2f683e29f4545245640192e5811cf7 Mon Sep 17 00:00:00 2001 From: Anjeel Haria Date: Tue, 8 Jul 2025 19:15:21 +0530 Subject: [PATCH 14/21] [IMP] mail_attach_existing_attachment_account: pre-commit auto fixes --- .../README.rst | 32 ++++++++----------- .../__manifest__.py | 2 +- .../static/description/index.html | 30 +++++++---------- 3 files changed, 27 insertions(+), 37 deletions(-) diff --git a/mail_attach_existing_attachment_account/README.rst b/mail_attach_existing_attachment_account/README.rst index 563024b25..d22617df2 100644 --- a/mail_attach_existing_attachment_account/README.rst +++ b/mail_attach_existing_attachment_account/README.rst @@ -1,7 +1,3 @@ -.. image:: https://odoo-community.org/readme-banner-image - :target: https://odoo-community.org/get-involved?utm_source=readme - :alt: Odoo Community Association - ========================================= Mail Attach Existing Attachment (Account) ========================================= @@ -17,17 +13,17 @@ Mail Attach Existing Attachment (Account) .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png :target: https://odoo-community.org/page/development-status :alt: Beta -.. |badge2| image:: https://img.shields.io/badge/license-AGPL--3-blue.png +.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 -.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fsocial-lightgray.png?logo=github - :target: https://github.com/OCA/social/tree/17.0/mail_attach_existing_attachment_account - :alt: OCA/social +.. |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_account + :alt: OCA/mail .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/social-17-0/social-17-0-mail_attach_existing_attachment_account + :target: https://translation.odoo-community.org/projects/mail-18-0/mail-18-0-mail_attach_existing_attachment_account :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/social&target_branch=17.0 + :target: https://runboat.odoo-community.org/builds?repo=OCA/mail&target_branch=18.0 :alt: Try me on Runboat |badge1| |badge2| |badge3| |badge4| |badge5| @@ -44,10 +40,10 @@ mail wizard form to the account module Bug Tracker =========== -Bugs are tracked on `GitHub Issues `_. +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. @@ -62,12 +58,12 @@ Authors Contributors ------------ -- Thore Baden -- `Tecnativa `__: +- Thore Baden +- `Tecnativa `__: - - Víctor Martínez - - Ernesto Tejeda - - Carlos Lopez + - Víctor Martínez + - Ernesto Tejeda + - Carlos Lopez Maintainers ----------- @@ -82,6 +78,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/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_account/__manifest__.py b/mail_attach_existing_attachment_account/__manifest__.py index 46ac67411..039861f8f 100644 --- a/mail_attach_existing_attachment_account/__manifest__.py +++ b/mail_attach_existing_attachment_account/__manifest__.py @@ -5,7 +5,7 @@ "name": "Mail Attach Existing Attachment (Account)", "summary": "Module to use attach existing attachment for account module", "author": "Thore Baden, Odoo Community Association (OCA)", - "website": "https://github.com/OCA/social", + "website": "https://github.com/OCA/mail", "category": "Social Network", "version": "17.0.1.0.0", "license": "AGPL-3", diff --git a/mail_attach_existing_attachment_account/static/description/index.html b/mail_attach_existing_attachment_account/static/description/index.html index 274e3309b..8b7bd834b 100644 --- a/mail_attach_existing_attachment_account/static/description/index.html +++ b/mail_attach_existing_attachment_account/static/description/index.html @@ -3,7 +3,7 @@ -README.rst +Mail Attach Existing Attachment (Account) -
    +
    +

    Mail Attach Existing Attachment (Account)

    - - -Odoo Community Association - -
    -

    Mail Attach Existing Attachment (Account)

    -

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

    +

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

    This Module adds the mail_attach_existing_attachment feature to the account module, since there is a change in odoo 12.0, which adds a new mail wizard form to the account module

    @@ -391,23 +386,23 @@

    Mail Attach Existing Attachment (Account)

    -

    Bug Tracker

    -

    Bugs are tracked on GitHub Issues. +

    Bug Tracker

    +

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

    +feedback.

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

    -

    Credits

    +

    Credits

    -

    Authors

    +

    Authors

    • Thore Baden
    -

    Maintainers

    +

    Maintainers

    This module is maintained by the OCA.

    Odoo Community Association @@ -427,11 +422,10 @@

    Maintainers

    OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.

    -

    This module is part of the OCA/social 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.

    -
    From fc33bd5049b154167eae763d5590592e26596165 Mon Sep 17 00:00:00 2001 From: Anjeel Haria Date: Tue, 8 Jul 2025 19:17:51 +0530 Subject: [PATCH 15/21] [MIG] mail_attach_existing_attachment_account: Migration to 18.0 Added test cases Revert changes made for tests Updated tests Updated tests Updated tests --- .../README.rst | 18 ++++++++----- .../__manifest__.py | 4 +-- ...ail_attach_existing_attachment_account.pot | 12 ++++----- .../static/description/index.html | 26 ++++++++++++------- ...mail_attach_existing_attachment_account.py | 6 ++++- .../wizard/__init__.py | 2 +- ...ve_send.py => account_move_send_wizard.py} | 26 +++++-------------- ....xml => account_move_send_wizard_view.xml} | 10 +++---- 8 files changed, 53 insertions(+), 51 deletions(-) rename mail_attach_existing_attachment_account/wizard/{account_move_send.py => account_move_send_wizard.py} (63%) rename mail_attach_existing_attachment_account/wizard/{account_move_send_view.xml => account_move_send_wizard_view.xml} (77%) diff --git a/mail_attach_existing_attachment_account/README.rst b/mail_attach_existing_attachment_account/README.rst index d22617df2..8d78cf90a 100644 --- a/mail_attach_existing_attachment_account/README.rst +++ b/mail_attach_existing_attachment_account/README.rst @@ -1,3 +1,7 @@ +.. image:: https://odoo-community.org/readme-banner-image + :target: https://odoo-community.org/get-involved?utm_source=readme + :alt: Odoo Community Association + ========================================= Mail Attach Existing Attachment (Account) ========================================= @@ -7,13 +11,13 @@ Mail Attach Existing Attachment (Account) !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:5f94a7ad56e589d2457286d271da0c45bb0b0e8ef0a407aa4c566df3d234611c + !! source digest: sha256:85a891a10dde9cc1e76064ff7ae74d340b1eb2d3a72cb1ad3d69468251535ac0 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png :target: https://odoo-community.org/page/development-status :alt: Beta -.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png +.. |badge2| image:: https://img.shields.io/badge/license-AGPL--3-blue.png :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fmail-lightgray.png?logo=github @@ -58,12 +62,12 @@ Authors Contributors ------------ -- Thore Baden -- `Tecnativa `__: +- Thore Baden +- `Tecnativa `__: - - Víctor Martínez - - Ernesto Tejeda - - Carlos Lopez + - Víctor Martínez + - Ernesto Tejeda + - Carlos Lopez Maintainers ----------- diff --git a/mail_attach_existing_attachment_account/__manifest__.py b/mail_attach_existing_attachment_account/__manifest__.py index 039861f8f..0739e9ccf 100644 --- a/mail_attach_existing_attachment_account/__manifest__.py +++ b/mail_attach_existing_attachment_account/__manifest__.py @@ -7,10 +7,10 @@ "author": "Thore Baden, Odoo Community Association (OCA)", "website": "https://github.com/OCA/mail", "category": "Social Network", - "version": "17.0.1.0.0", + "version": "18.0.1.0.0", "license": "AGPL-3", "depends": ["account", "mail_attach_existing_attachment"], - "data": ["wizard/account_move_send_view.xml"], + "data": ["wizard/account_move_send_wizard_view.xml"], "installable": True, "auto_install": True, } diff --git a/mail_attach_existing_attachment_account/i18n/mail_attach_existing_attachment_account.pot b/mail_attach_existing_attachment_account/i18n/mail_attach_existing_attachment_account.pot index d89f718cd..f60ddabef 100644 --- a/mail_attach_existing_attachment_account/i18n/mail_attach_existing_attachment_account.pot +++ b/mail_attach_existing_attachment_account/i18n/mail_attach_existing_attachment_account.pot @@ -4,7 +4,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 17.0\n" +"Project-Id-Version: Odoo Server 18.0\n" "Report-Msgid-Bugs-To: \n" "Last-Translator: \n" "Language-Team: \n" @@ -14,21 +14,21 @@ msgstr "" "Plural-Forms: \n" #. module: mail_attach_existing_attachment_account -#: model:ir.model,name:mail_attach_existing_attachment_account.model_account_move_send -msgid "Account Move Send" +#: model:ir.model,name:mail_attach_existing_attachment_account.model_account_move_send_wizard +msgid "Account Move Send Wizard" msgstr "" #. module: mail_attach_existing_attachment_account -#: model:ir.model.fields,field_description:mail_attach_existing_attachment_account.field_account_move_send__can_attach_attachment +#: model:ir.model.fields,field_description:mail_attach_existing_attachment_account.field_account_move_send_wizard__can_attach_attachment msgid "Can Attach Attachment" msgstr "" #. module: mail_attach_existing_attachment_account -#: model:ir.model.fields,field_description:mail_attach_existing_attachment_account.field_account_move_send__display_object_attachment_ids +#: model:ir.model.fields,field_description:mail_attach_existing_attachment_account.field_account_move_send_wizard__display_object_attachment_ids msgid "Display Object Attachment" msgstr "" #. module: mail_attach_existing_attachment_account -#: model:ir.model.fields,field_description:mail_attach_existing_attachment_account.field_account_move_send__object_attachment_ids +#: model:ir.model.fields,field_description:mail_attach_existing_attachment_account.field_account_move_send_wizard__object_attachment_ids msgid "Object Attachments" msgstr "" diff --git a/mail_attach_existing_attachment_account/static/description/index.html b/mail_attach_existing_attachment_account/static/description/index.html index 8b7bd834b..bce10b267 100644 --- a/mail_attach_existing_attachment_account/static/description/index.html +++ b/mail_attach_existing_attachment_account/static/description/index.html @@ -3,7 +3,7 @@ -Mail Attach Existing Attachment (Account) +README.rst -
    -

    Mail Attach Existing Attachment (Account)

    +
    + + +Odoo Community Association + +
    +

    Mail Attach Existing Attachment (Account)

    -

    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 adds the mail_attach_existing_attachment feature to the account module, since there is a change in odoo 12.0, which adds a new mail wizard form to the account module

    @@ -386,7 +391,7 @@

    Mail Attach Existing Attachment (Account)

    -

    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 @@ -394,15 +399,15 @@

    Bug Tracker

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

    -

    Credits

    +

    Credits

    -

    Authors

    +

    Authors

    • Thore Baden
    -

    Maintainers

    +

    Maintainers

    This module is maintained by the OCA.

    Odoo Community Association @@ -427,5 +432,6 @@

    Maintainers

    +
    diff --git a/mail_attach_existing_attachment_account/tests/test_mail_attach_existing_attachment_account.py b/mail_attach_existing_attachment_account/tests/test_mail_attach_existing_attachment_account.py index 5ecd50fe3..d47b8c1f6 100644 --- a/mail_attach_existing_attachment_account/tests/test_mail_attach_existing_attachment_account.py +++ b/mail_attach_existing_attachment_account/tests/test_mail_attach_existing_attachment_account.py @@ -25,7 +25,7 @@ def setUpClass(cls): def test_account_invoice_send(self): compose = Form( - self.env["account.move.send"].with_context( + self.env["account.move.send.wizard"].with_context( active_ids=self.invoice.ids, default_model=self.invoice._name, default_res_id=self.invoice.id, @@ -33,3 +33,7 @@ def test_account_invoice_send(self): ) ) self.assertTrue(compose.can_attach_attachment) + wizard = compose.save() + self.assertFalse(wizard.display_object_attachment_ids) + wizard.move_id = False + self.assertFalse(wizard.display_object_attachment_ids) diff --git a/mail_attach_existing_attachment_account/wizard/__init__.py b/mail_attach_existing_attachment_account/wizard/__init__.py index cf39f38e7..589b902be 100644 --- a/mail_attach_existing_attachment_account/wizard/__init__.py +++ b/mail_attach_existing_attachment_account/wizard/__init__.py @@ -1 +1 @@ -from . import account_move_send +from . import account_move_send_wizard diff --git a/mail_attach_existing_attachment_account/wizard/account_move_send.py b/mail_attach_existing_attachment_account/wizard/account_move_send_wizard.py similarity index 63% rename from mail_attach_existing_attachment_account/wizard/account_move_send.py rename to mail_attach_existing_attachment_account/wizard/account_move_send_wizard.py index 1db2e1434..f0e02219b 100644 --- a/mail_attach_existing_attachment_account/wizard/account_move_send.py +++ b/mail_attach_existing_attachment_account/wizard/account_move_send_wizard.py @@ -4,13 +4,13 @@ from odoo import api, fields, models -class AccountMoveSend(models.TransientModel): - _inherit = "account.move.send" +class AccountMoveSendWizard(models.TransientModel): + _inherit = "account.move.send.wizard" can_attach_attachment = fields.Boolean() object_attachment_ids = fields.Many2many( comodel_name="ir.attachment", - relation="account_move_send_ir_attachments_object_rel", + relation="account_move_send_wizard_ir_attachments_object_rel", column1="wizard_id", column2="attachment_id", string="Object Attachments", @@ -20,28 +20,20 @@ class AccountMoveSend(models.TransientModel): compute="_compute_display_object_attachment_ids", ) - @api.depends("move_ids") + @api.depends("move_id") def _compute_display_object_attachment_ids(self): for wizard in self: - if self.move_ids: + if self.move_id: attachments = self.env["ir.attachment"].search( [ ("res_model", "=", "account.move"), - ("res_id", "in", self.move_ids.ids), + ("res_id", "=", self.move_id.id), ] ) wizard.display_object_attachment_ids = attachments else: wizard.display_object_attachment_ids = False - def _prepare_mail_values(self, res_ids): - res = super()._prepare_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 - @api.model def _get_invoice_extra_attachments(self, move): res = super()._get_invoice_extra_attachments(move) @@ -51,10 +43,6 @@ def _get_invoice_extra_attachments(self, move): @api.model def default_get(self, fields_list): res = super().default_get(fields_list) - if ( - res.get("move_ids") - and res.get("mode", "") != "invoice_multi" - and not res.get("can_attach_attachment") - ): + if res.get("move_id") and not res.get("can_attach_attachment"): res["can_attach_attachment"] = True # pragma: no cover return res diff --git a/mail_attach_existing_attachment_account/wizard/account_move_send_view.xml b/mail_attach_existing_attachment_account/wizard/account_move_send_wizard_view.xml similarity index 77% rename from mail_attach_existing_attachment_account/wizard/account_move_send_view.xml rename to mail_attach_existing_attachment_account/wizard/account_move_send_wizard_view.xml index 1ca393b9a..3693ac299 100644 --- a/mail_attach_existing_attachment_account/wizard/account_move_send_view.xml +++ b/mail_attach_existing_attachment_account/wizard/account_move_send_wizard_view.xml @@ -4,17 +4,17 @@ License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). --> - - Send Invoice - account.move.send - + + account.move.send.wizard.form + account.move.send.wizard + From b4eecf622706089abfb60ce02e0a27780bb2d233 Mon Sep 17 00:00:00 2001 From: David Vidal Date: Wed, 17 Jun 2026 16:18:13 +0200 Subject: [PATCH 16/21] [MIG] mail_attach_existing_attachment_account: Migration to 19.0 MT-14685 --- .../README.rst | 30 +++++++++++--- .../__manifest__.py | 3 +- .../readme/ROADMAP.md | 5 +++ .../static/description/index.html | 39 ++++++++++++------- .../wizard/account_move_send_wizard_view.xml | 1 - 5 files changed, 58 insertions(+), 20 deletions(-) create mode 100644 mail_attach_existing_attachment_account/readme/ROADMAP.md diff --git a/mail_attach_existing_attachment_account/README.rst b/mail_attach_existing_attachment_account/README.rst index 8d78cf90a..5c2b59eec 100644 --- a/mail_attach_existing_attachment_account/README.rst +++ b/mail_attach_existing_attachment_account/README.rst @@ -21,13 +21,13 @@ Mail Attach Existing Attachment (Account) :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_account + :target: https://github.com/OCA/mail/tree/19.0/mail_attach_existing_attachment_account :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_account + :target: https://translation.odoo-community.org/projects/mail-19-0/mail-19-0-mail_attach_existing_attachment_account :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| @@ -41,13 +41,22 @@ mail wizard form to the account module .. contents:: :local: +Known issues / Roadmap +====================== + +- On invoices, only some supported document types are linked to the + document. The default supported types are PDF, CSV, Excel/OpenDocument + spreadsheets, Word/OpenDocument documents, PowerPoint/OpenDocument + presentations, and parseable XML files. Chatter-only attachments are + therefore not selectable by this module. + 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. @@ -82,6 +91,17 @@ 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. +.. |maintainer-chienandalu| image:: https://github.com/chienandalu.png?size=40px + :target: https://github.com/chienandalu + :alt: chienandalu +.. |maintainer-rafaelbn| image:: https://github.com/rafaelbn.png?size=40px + :target: https://github.com/rafaelbn + :alt: rafaelbn + +Current `maintainers `__: + +|maintainer-chienandalu| |maintainer-rafaelbn| + +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_account/__manifest__.py b/mail_attach_existing_attachment_account/__manifest__.py index 0739e9ccf..ddfda43a4 100644 --- a/mail_attach_existing_attachment_account/__manifest__.py +++ b/mail_attach_existing_attachment_account/__manifest__.py @@ -7,8 +7,9 @@ "author": "Thore Baden, 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", + "maintainers": ["chienandalu", "rafaelbn"], "depends": ["account", "mail_attach_existing_attachment"], "data": ["wizard/account_move_send_wizard_view.xml"], "installable": True, diff --git a/mail_attach_existing_attachment_account/readme/ROADMAP.md b/mail_attach_existing_attachment_account/readme/ROADMAP.md new file mode 100644 index 000000000..c8b54c98a --- /dev/null +++ b/mail_attach_existing_attachment_account/readme/ROADMAP.md @@ -0,0 +1,5 @@ +- On invoices, only some supported document types are linked to the document. The + default supported types are PDF, CSV, Excel/OpenDocument spreadsheets, + Word/OpenDocument documents, PowerPoint/OpenDocument presentations, and + parseable XML files. Chatter-only attachments are therefore not selectable + by this module. diff --git a/mail_attach_existing_attachment_account/static/description/index.html b/mail_attach_existing_attachment_account/static/description/index.html index bce10b267..b0cb924dc 100644 --- a/mail_attach_existing_attachment_account/static/description/index.html +++ b/mail_attach_existing_attachment_account/static/description/index.html @@ -374,40 +374,51 @@

    Mail Attach Existing Attachment (Account)

    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! source digest: sha256:85a891a10dde9cc1e76064ff7ae74d340b1eb2d3a72cb1ad3d69468251535ac0 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

    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 adds the mail_attach_existing_attachment feature to the account module, since there is a change in odoo 12.0, which adds a new mail wizard form to the account module

    Table of contents

    +
    +

    Known issues / Roadmap

    +
      +
    • On invoices, only some supported document types are linked to the +document. The default supported types are PDF, CSV, Excel/OpenDocument +spreadsheets, Word/OpenDocument documents, PowerPoint/OpenDocument +presentations, and parseable XML files. Chatter-only attachments are +therefore not selectable by this module.
    • +
    +
    -

    Bug Tracker

    +

    Bug Tracker

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

    +feedback.

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

    -

    Credits

    +

    Credits

    -

    Authors

    +

    Authors

    • Thore Baden
    -

    Maintainers

    +

    Maintainers

    This module is maintained by the OCA.

    Odoo Community Association @@ -427,7 +438,9 @@

    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.

    +

    Current maintainers:

    +

    chienandalu rafaelbn

    +

    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_account/wizard/account_move_send_wizard_view.xml b/mail_attach_existing_attachment_account/wizard/account_move_send_wizard_view.xml index 3693ac299..203117a77 100644 --- a/mail_attach_existing_attachment_account/wizard/account_move_send_wizard_view.xml +++ b/mail_attach_existing_attachment_account/wizard/account_move_send_wizard_view.xml @@ -10,7 +10,6 @@ - Date: Thu, 2 Jul 2026 10:22:21 +0000 Subject: [PATCH 17/21] [UPD] Update mail_attach_existing_attachment_account.pot --- .../i18n/mail_attach_existing_attachment_account.pot | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/mail_attach_existing_attachment_account/i18n/mail_attach_existing_attachment_account.pot b/mail_attach_existing_attachment_account/i18n/mail_attach_existing_attachment_account.pot index f60ddabef..2deecc6d4 100644 --- a/mail_attach_existing_attachment_account/i18n/mail_attach_existing_attachment_account.pot +++ b/mail_attach_existing_attachment_account/i18n/mail_attach_existing_attachment_account.pot @@ -4,7 +4,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 18.0\n" +"Project-Id-Version: Odoo Server 19.0\n" "Report-Msgid-Bugs-To: \n" "Last-Translator: \n" "Language-Team: \n" @@ -23,11 +23,21 @@ msgstr "" msgid "Can Attach Attachment" msgstr "" +#. module: mail_attach_existing_attachment_account +#: model:ir.model.fields,field_description:mail_attach_existing_attachment_account.field_account_move_send_wizard__display_name +msgid "Display Name" +msgstr "" + #. module: mail_attach_existing_attachment_account #: model:ir.model.fields,field_description:mail_attach_existing_attachment_account.field_account_move_send_wizard__display_object_attachment_ids msgid "Display Object Attachment" msgstr "" +#. module: mail_attach_existing_attachment_account +#: model:ir.model.fields,field_description:mail_attach_existing_attachment_account.field_account_move_send_wizard__id +msgid "ID" +msgstr "" + #. module: mail_attach_existing_attachment_account #: model:ir.model.fields,field_description:mail_attach_existing_attachment_account.field_account_move_send_wizard__object_attachment_ids msgid "Object Attachments" From bb525766fb16c2ca0619e13f5f288a74bbeb8009 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Thu, 2 Jul 2026 10:25:20 +0000 Subject: [PATCH 18/21] [BOT] post-merge updates --- mail_attach_existing_attachment_account/README.rst | 2 +- .../static/description/index.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/mail_attach_existing_attachment_account/README.rst b/mail_attach_existing_attachment_account/README.rst index 5c2b59eec..8b839e3f7 100644 --- a/mail_attach_existing_attachment_account/README.rst +++ b/mail_attach_existing_attachment_account/README.rst @@ -11,7 +11,7 @@ Mail Attach Existing Attachment (Account) !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:85a891a10dde9cc1e76064ff7ae74d340b1eb2d3a72cb1ad3d69468251535ac0 + !! source digest: sha256:cfe4cc384af8ee475e5a4ef3c6abe6ac99140fa4fbc19deba6d2df07a553a78b !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png diff --git a/mail_attach_existing_attachment_account/static/description/index.html b/mail_attach_existing_attachment_account/static/description/index.html index b0cb924dc..5268fd3db 100644 --- a/mail_attach_existing_attachment_account/static/description/index.html +++ b/mail_attach_existing_attachment_account/static/description/index.html @@ -372,7 +372,7 @@

    Mail Attach Existing Attachment (Account)

    !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:85a891a10dde9cc1e76064ff7ae74d340b1eb2d3a72cb1ad3d69468251535ac0 +!! source digest: sha256:cfe4cc384af8ee475e5a4ef3c6abe6ac99140fa4fbc19deba6d2df07a553a78b !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

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

    This Module adds the mail_attach_existing_attachment feature to the From b463fd4add4ccee59a5024235af67b2cbb1b1217 Mon Sep 17 00:00:00 2001 From: David Vidal Date: Wed, 28 Oct 2026 17:24:21 +0100 Subject: [PATCH 19/21] [IMP] mail_attach_existing_attachment_account: pre-commit auto fixes --- .../wizard/account_move_send_wizard_view.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mail_attach_existing_attachment_account/wizard/account_move_send_wizard_view.xml b/mail_attach_existing_attachment_account/wizard/account_move_send_wizard_view.xml index 203117a77..7efdb91d3 100644 --- a/mail_attach_existing_attachment_account/wizard/account_move_send_wizard_view.xml +++ b/mail_attach_existing_attachment_account/wizard/account_move_send_wizard_view.xml @@ -1,4 +1,4 @@ - + -

    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 adds the mail_attach_existing_attachment feature to the account module, since there is a change in odoo 12.0, which adds a new mail wizard form to the account module

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

    @@ -440,7 +440,7 @@

    Maintainers

    promote its widespread use.

    Current maintainers:

    chienandalu rafaelbn

    -

    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_account/tests/test_mail_attach_existing_attachment_account.py b/mail_attach_existing_attachment_account/tests/test_mail_attach_existing_attachment_account.py index d47b8c1f6..19f017f01 100644 --- a/mail_attach_existing_attachment_account/tests/test_mail_attach_existing_attachment_account.py +++ b/mail_attach_existing_attachment_account/tests/test_mail_attach_existing_attachment_account.py @@ -6,11 +6,15 @@ class TestMailAttachExistingAttachmentAccount(BaseCommon): + _test_user_groups = ("account.group_account_invoice",) + @classmethod def setUpClass(cls): super().setUpClass() cls.product = cls.env["product.product"].create({"name": "Test product"}) - cls.partner = cls.env["res.partner"].create({"name": "Mr. Odoo"}) + cls.partner = cls.env["res.partner"].create( + {"name": "Mr. Odoo", "email": "mr.odoo@example.org"} + ) cls.journal = cls.env["account.journal"].create( {"name": "Test sale journal", "code": "TSALE", "type": "sale"} ) @@ -22,6 +26,14 @@ def setUpClass(cls): line_form.product_id = cls.product cls.invoice = invoice_form.save() cls.invoice.action_post() + cls.attachment = cls.env["ir.attachment"].create( + { + "name": "Existing attachment.pdf", + "raw": b"%PDF-1.4 migration test", + "res_model": cls.invoice._name, + "res_id": cls.invoice.id, + } + ) def test_account_invoice_send(self): compose = Form( @@ -34,6 +46,23 @@ def test_account_invoice_send(self): ) self.assertTrue(compose.can_attach_attachment) wizard = compose.save() - self.assertFalse(wizard.display_object_attachment_ids) + self.assertEqual(wizard.display_object_attachment_ids, self.attachment) wizard.move_id = False self.assertFalse(wizard.display_object_attachment_ids) + + def test_account_invoice_send_object_attachment(self): + compose = Form( + self.env["account.move.send.wizard"].with_context( + active_ids=self.invoice.ids, + active_model=self.invoice._name, + ) + ) + compose.object_attachment_ids = self.attachment + wizard = compose.save() + wizard.action_send_and_print() + # Attachments are sent as copies linked to the posted message + message = self.invoice.message_ids.filtered("attachment_ids")[:1] + sent_attachment = message.attachment_ids.filtered( + lambda att: att.name == self.attachment.name + ) + self.assertEqual(sent_attachment.checksum, self.attachment.checksum) diff --git a/mail_attach_existing_attachment_account/wizard/account_move_send_wizard.py b/mail_attach_existing_attachment_account/wizard/account_move_send_wizard.py index f0e02219b..975f7f497 100644 --- a/mail_attach_existing_attachment_account/wizard/account_move_send_wizard.py +++ b/mail_attach_existing_attachment_account/wizard/account_move_send_wizard.py @@ -23,11 +23,11 @@ class AccountMoveSendWizard(models.TransientModel): @api.depends("move_id") def _compute_display_object_attachment_ids(self): for wizard in self: - if self.move_id: + if wizard.move_id: attachments = self.env["ir.attachment"].search( [ ("res_model", "=", "account.move"), - ("res_id", "=", self.move_id.id), + ("res_id", "=", wizard.move_id.id), ] ) wizard.display_object_attachment_ids = attachments From a196214b7ec7abd6b1bbd4cc20abbd2120ba6b05 Mon Sep 17 00:00:00 2001 From: David Vidal Date: Wed, 28 Oct 2026 17:27:06 +0100 Subject: [PATCH 21/21] [DO NOT MERGE] test-requirements.txt --- test-requirements.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 test-requirements.txt diff --git a/test-requirements.txt b/test-requirements.txt new file mode 100644 index 000000000..03c6a589c --- /dev/null +++ b/test-requirements.txt @@ -0,0 +1 @@ +odoo-addon-mail_attach_existing_attachment @ git+https://github.com/OCA/mail.git@refs/pull/325/head#subdirectory=mail_attach_existing_attachment