From 53f3efc243f07f9bce141ceceea7462b7a8665e9 Mon Sep 17 00:00:00 2001 From: Mmequignon Date: Mon, 22 Apr 2024 10:29:30 +0000 Subject: [PATCH 1/8] [ADD] outgoing_email_by_model --- outgoing_email_by_model/README.rst | 86 ++++ outgoing_email_by_model/__init__.py | 1 + outgoing_email_by_model/__manifest__.py | 23 + outgoing_email_by_model/models/__init__.py | 2 + outgoing_email_by_model/models/ir_model.py | 22 + outgoing_email_by_model/models/mail_thread.py | 19 + .../readme/CONTRIBUTORS.rst | 1 + .../readme/DESCRIPTION.rst | 3 + .../static/description/index.html | 424 ++++++++++++++++++ outgoing_email_by_model/tests/__init__.py | 1 + outgoing_email_by_model/tests/models.py | 11 + .../tests/test_mailserver_by_model.py | 98 ++++ outgoing_email_by_model/views/ir_model.xml | 24 + 13 files changed, 715 insertions(+) create mode 100644 outgoing_email_by_model/README.rst create mode 100644 outgoing_email_by_model/__init__.py create mode 100644 outgoing_email_by_model/__manifest__.py create mode 100644 outgoing_email_by_model/models/__init__.py create mode 100644 outgoing_email_by_model/models/ir_model.py create mode 100644 outgoing_email_by_model/models/mail_thread.py create mode 100644 outgoing_email_by_model/readme/CONTRIBUTORS.rst create mode 100644 outgoing_email_by_model/readme/DESCRIPTION.rst create mode 100644 outgoing_email_by_model/static/description/index.html create mode 100644 outgoing_email_by_model/tests/__init__.py create mode 100644 outgoing_email_by_model/tests/models.py create mode 100644 outgoing_email_by_model/tests/test_mailserver_by_model.py create mode 100644 outgoing_email_by_model/views/ir_model.xml diff --git a/outgoing_email_by_model/README.rst b/outgoing_email_by_model/README.rst new file mode 100644 index 0000000000..9830a6282c --- /dev/null +++ b/outgoing_email_by_model/README.rst @@ -0,0 +1,86 @@ +======================= +Outgoing Email by Model +======================= + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:4628269be793c6852105c20ae1cca884e6c1a55c3cbe17baf616e649f37424de + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |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/15.0/outgoing_email_by_model + :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-outgoing_email_by_model + :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=15.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +Allow to select an outgoing mail parameters per model, such as email_from, or mail_server_id. + +To make it work, the model must inherit `mail.thread`. + +**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 to smash it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +~~~~~~~ + +* Camptocamp SA + +Contributors +~~~~~~~~~~~~ + +* Matthieu Méquignon + +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. + +.. |maintainer-mmequignon| image:: https://github.com/mmequignon.png?size=40px + :target: https://github.com/mmequignon + :alt: mmequignon + +Current `maintainer `__: + +|maintainer-mmequignon| + +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/outgoing_email_by_model/__init__.py b/outgoing_email_by_model/__init__.py new file mode 100644 index 0000000000..0650744f6b --- /dev/null +++ b/outgoing_email_by_model/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/outgoing_email_by_model/__manifest__.py b/outgoing_email_by_model/__manifest__.py new file mode 100644 index 0000000000..e46ae0591d --- /dev/null +++ b/outgoing_email_by_model/__manifest__.py @@ -0,0 +1,23 @@ +# Copyright 2023 Camptocamp SA +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) + +{ + "name": "Outgoing Email by Model", + "version": "15.0.1.0.0", + "category": "Social", + "website": "https://github.com/OCA/social", + "author": "Camptocamp SA, Odoo Community Association (OCA)", + "maintainers": ["mmequignon"], + "license": "AGPL-3", + "installable": True, + "auto_install": False, + "external_dependencies": { + "python": ["odoo_test_helper"], + }, + "depends": [ + "mail", + ], + "data": [ + "views/ir_model.xml", + ], +} diff --git a/outgoing_email_by_model/models/__init__.py b/outgoing_email_by_model/models/__init__.py new file mode 100644 index 0000000000..6856c57a21 --- /dev/null +++ b/outgoing_email_by_model/models/__init__.py @@ -0,0 +1,2 @@ +from . import ir_model +from . import mail_thread diff --git a/outgoing_email_by_model/models/ir_model.py b/outgoing_email_by_model/models/ir_model.py new file mode 100644 index 0000000000..f9445894b1 --- /dev/null +++ b/outgoing_email_by_model/models/ir_model.py @@ -0,0 +1,22 @@ +# Copyright 2023 Camptocamp SA +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) + +from odoo import fields, models + +OUTGOING_MAILSERVER_DESCRIPTION = """ + Allows to force the usage of a given outgoing mail server if this setting is set. + However, this setting will be active only if the model extends `mail.thread`. +""" +OUTGOING_EMAIL_DESCRIPTION = """ + Allows to force the usage of a given email address if this setting is set. + However, this setting will be active only if the model extends `mail.thread`. +""" + + +class IrModel(models.Model): + _inherit = "ir.model" + + outgoing_mailserver_id = fields.Many2one( + "ir.mail_server", help=OUTGOING_MAILSERVER_DESCRIPTION + ) + outgoing_email = fields.Char(help=OUTGOING_EMAIL_DESCRIPTION) diff --git a/outgoing_email_by_model/models/mail_thread.py b/outgoing_email_by_model/models/mail_thread.py new file mode 100644 index 0000000000..bda8193197 --- /dev/null +++ b/outgoing_email_by_model/models/mail_thread.py @@ -0,0 +1,19 @@ +# Copyright 2023 Camptocamp SA +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) + +from odoo import models + + +class MailThread(models.AbstractModel): + _inherit = "mail.thread" + + def _notify_by_email_add_values(self, base_values): + res = super()._notify_by_email_add_values(base_values) + model = self.env["ir.model"].sudo().search([("model", "=", self._name)]) + custom_mailserver = model.outgoing_mailserver_id + if custom_mailserver: + res.update({"mail_server_id": custom_mailserver.id}) + custom_email = model.outgoing_email + if custom_email: + res.update({"email_from": custom_email}) + return res diff --git a/outgoing_email_by_model/readme/CONTRIBUTORS.rst b/outgoing_email_by_model/readme/CONTRIBUTORS.rst new file mode 100644 index 0000000000..bca4ee0cad --- /dev/null +++ b/outgoing_email_by_model/readme/CONTRIBUTORS.rst @@ -0,0 +1 @@ +* Matthieu Méquignon diff --git a/outgoing_email_by_model/readme/DESCRIPTION.rst b/outgoing_email_by_model/readme/DESCRIPTION.rst new file mode 100644 index 0000000000..cd105d0ff5 --- /dev/null +++ b/outgoing_email_by_model/readme/DESCRIPTION.rst @@ -0,0 +1,3 @@ +Allow to select an outgoing mail parameters per model, such as email_from, or mail_server_id. + +To make it work, the model must inherit `mail.thread`. diff --git a/outgoing_email_by_model/static/description/index.html b/outgoing_email_by_model/static/description/index.html new file mode 100644 index 0000000000..fc9efdf7af --- /dev/null +++ b/outgoing_email_by_model/static/description/index.html @@ -0,0 +1,424 @@ + + + + + + +Outgoing Email by Model + + + +
+

Outgoing Email by Model

+ + +

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

+

Allow to select an outgoing mail parameters per model, such as email_from, or mail_server_id.

+

To make it work, the model must inherit mail.thread.

+

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 to smash it by providing a detailed and welcomed +feedback.

+

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

+
+
+

Credits

+
+

Authors

+
    +
  • Camptocamp SA
  • +
+
+
+

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.

+

Current maintainer:

+

mmequignon

+

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/outgoing_email_by_model/tests/__init__.py b/outgoing_email_by_model/tests/__init__.py new file mode 100644 index 0000000000..92c998b19b --- /dev/null +++ b/outgoing_email_by_model/tests/__init__.py @@ -0,0 +1 @@ +from . import test_mailserver_by_model diff --git a/outgoing_email_by_model/tests/models.py b/outgoing_email_by_model/tests/models.py new file mode 100644 index 0000000000..203f804d52 --- /dev/null +++ b/outgoing_email_by_model/tests/models.py @@ -0,0 +1,11 @@ +# Copyright 2023 Camptocamp SA +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) + +from odoo import fields, models + + +class ModelWithMail(models.Model): + _name = "model.with.mail" + _inherit = ["mail.thread"] + + partner_id = fields.Many2one("res.partner") diff --git a/outgoing_email_by_model/tests/test_mailserver_by_model.py b/outgoing_email_by_model/tests/test_mailserver_by_model.py new file mode 100644 index 0000000000..72e6c01400 --- /dev/null +++ b/outgoing_email_by_model/tests/test_mailserver_by_model.py @@ -0,0 +1,98 @@ +# Copyright 2023 Camptocamp SA +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) + +from odoo_test_helper import FakeModelLoader + +from odoo.tests.common import Form, TransactionCase + + +class TestMailserverByModel(TransactionCase): + at_install = False + post_install = True + + @classmethod + def setUpClass(cls): + super().setUpClass() + cls.env = cls.env(context=dict(cls.env.context, tracking_disable=True)) + cls.setUpClassModels() + cls.setUpClassMailserver() + cls.setUpClassMail() + + @classmethod + def tearDownClass(cls): + cls.loader.restore_registry() + return super().tearDownClass() + + @classmethod + def setUpClassModels(cls): + cls.loader = FakeModelLoader(cls.env, cls.__module__) + cls.loader.backup_registry() + from .models import ModelWithMail + + cls.loader.update_registry((ModelWithMail,)) + dest_partner = cls.env["res.partner"].create( + {"name": "René Coty", "email": "rene.coty@gouv.fr"} + ) + cls.record_with_mail = cls.env[ModelWithMail._name].create( + {"partner_id": dest_partner.id} + ) + cls.model_with_mail_model = cls.env["ir.model"].search( + [("model", "=", ModelWithMail._name)] + ) + + @classmethod + def setUpClassMailserver(cls): + mailserver_model = cls.env["ir.mail_server"] + cls.secondary_mailserver = mailserver_model.create( + { + "smtp_host": "localhost", + "smtp_port": "25", + "smtp_pass": "1 4m v3ry 53cur3", + "smtp_authentication": "login", + "smtp_encryption": "none", + "name": "secondary", + "smtp_user": "secondary@localhost", + "sequence": 42, + } + ) + + @classmethod + def setUpClassMail(cls): + cls.mail_template = cls.env["mail.template"].create( + { + "model_id": cls.model_with_mail_model.id, + "name": "Model with Mail: Send by Mail", + "subject": "Model with Mail: {{object.partner_id.name}}", + "partner_to": "{{object.partner_id.id}}", + "body_html": "Hello, this is a mail", + } + ) + + def _write_message_on_record(self, record): + composer = Form( + self.env["mail.compose.message"].with_context( + default_model=record._name, + default_res_id=record.id, + default_use_template=True, + default_template_id=self.mail_template.id, + default_composition_mode="comment", + ) + ) + composer.save().action_send_mail() + return record.message_ids[0] + + def test_mail_server(self): + # By default, message.mail_server_id is False + message = self._write_message_on_record(self.record_with_mail) + self.assertFalse(message.mail_server_id) + # But if we set outgoing_mailserver_id on the model, secondary_mailserver + # is forced. + self.model_with_mail_model.write( + { + "outgoing_mailserver_id": self.secondary_mailserver.id, + "outgoing_email": self.secondary_mailserver.smtp_user, + } + ) + message = self._write_message_on_record(self.record_with_mail) + self.assertEqual(message.mail_server_id, self.secondary_mailserver) + self.assertEqual(message.email_from, self.secondary_mailserver.smtp_user) diff --git a/outgoing_email_by_model/views/ir_model.xml b/outgoing_email_by_model/views/ir_model.xml new file mode 100644 index 0000000000..ded0f419d4 --- /dev/null +++ b/outgoing_email_by_model/views/ir_model.xml @@ -0,0 +1,24 @@ + + + + + + ir.model.form.inherit + ir.model + + + + + + + + + + From 217ac9f7c66033d5de4194f642227e08b22154c0 Mon Sep 17 00:00:00 2001 From: Aungkokolin1997 Date: Wed, 24 Apr 2024 03:14:08 +0000 Subject: [PATCH 2/8] [ADD] CONFIGURE.rst --- outgoing_email_by_model/README.rst | 10 +++++- outgoing_email_by_model/readme/CONFIGURE.rst | 4 +++ .../static/description/index.html | 31 ++++++++++++------- 3 files changed, 33 insertions(+), 12 deletions(-) create mode 100644 outgoing_email_by_model/readme/CONFIGURE.rst diff --git a/outgoing_email_by_model/README.rst b/outgoing_email_by_model/README.rst index 9830a6282c..a82a7a7478 100644 --- a/outgoing_email_by_model/README.rst +++ b/outgoing_email_by_model/README.rst @@ -7,7 +7,7 @@ Outgoing Email by Model !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:4628269be793c6852105c20ae1cca884e6c1a55c3cbe17baf616e649f37424de + !! source digest: sha256:f46c9dd50baab7014312147699cdd79186d1cc231a643f0b762894a973f43b36 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png @@ -37,6 +37,14 @@ To make it work, the model must inherit `mail.thread`. .. contents:: :local: +Configuration +============= + +If you want to use a specific outgoing mail for a model, populate the following fields in the model record (Settings > Technical > Models) accordingly: + +* Outgoing Mailserver: Set an outgoing mail server. This will be used as the forced outgoing mail server for the model. +* Outgoing Email: Set an email address. This will be used as the outgoing email for the model. + Bug Tracker =========== diff --git a/outgoing_email_by_model/readme/CONFIGURE.rst b/outgoing_email_by_model/readme/CONFIGURE.rst new file mode 100644 index 0000000000..1626e169d1 --- /dev/null +++ b/outgoing_email_by_model/readme/CONFIGURE.rst @@ -0,0 +1,4 @@ +If you want to use a specific outgoing mail for a model, populate the following fields in the model record (Settings > Technical > Models) accordingly: + +* Outgoing Mailserver: Set an outgoing mail server. This will be used as the forced outgoing mail server for the model. +* Outgoing Email: Set an email address. This will be used as the outgoing email for the model. diff --git a/outgoing_email_by_model/static/description/index.html b/outgoing_email_by_model/static/description/index.html index fc9efdf7af..71f17a2674 100644 --- a/outgoing_email_by_model/static/description/index.html +++ b/outgoing_email_by_model/static/description/index.html @@ -367,7 +367,7 @@

Outgoing Email by Model

!! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:4628269be793c6852105c20ae1cca884e6c1a55c3cbe17baf616e649f37424de +!! source digest: sha256:f46c9dd50baab7014312147699cdd79186d1cc231a643f0b762894a973f43b36 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

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

Allow to select an outgoing mail parameters per model, such as email_from, or mail_server_id.

@@ -375,17 +375,26 @@

Outgoing Email by Model

Table of contents

+
+

Configuration

+

If you want to use a specific outgoing mail for a model, populate the following fields in the model record (Settings > Technical > Models) accordingly:

+
    +
  • Outgoing Mailserver: Set an outgoing mail server. This will be used as the forced outgoing mail server for the model.
  • +
  • Outgoing Email: Set an email address. This will be used as the outgoing email for the model.
  • +
+
-

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,21 +402,21 @@

Bug Tracker

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

-

Credits

+

Credits

-

Authors

+

Authors

  • Camptocamp SA
-

Maintainers

+

Maintainers

This module is maintained by the OCA.

Odoo Community Association

OCA, or the Odoo Community Association, is a nonprofit organization whose From 98e67ca6b42e3c7b55b55fb404ea25638160bf23 Mon Sep 17 00:00:00 2001 From: oca-ci Date: Mon, 6 May 2024 09:09:46 +0000 Subject: [PATCH 3/8] [UPD] Update outgoing_email_by_model.pot --- .../i18n/outgoing_email_by_model.pot | 50 +++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 outgoing_email_by_model/i18n/outgoing_email_by_model.pot diff --git a/outgoing_email_by_model/i18n/outgoing_email_by_model.pot b/outgoing_email_by_model/i18n/outgoing_email_by_model.pot new file mode 100644 index 0000000000..8ff8cb3672 --- /dev/null +++ b/outgoing_email_by_model/i18n/outgoing_email_by_model.pot @@ -0,0 +1,50 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * outgoing_email_by_model +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 15.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: outgoing_email_by_model +#: model:ir.model.fields,help:outgoing_email_by_model.field_ir_model__outgoing_email +msgid "" +"\n" +" Allows to force the usage of a given email address if this setting is set.\n" +" However, this setting will be active only if the model extends `mail.thread`.\n" +msgstr "" + +#. module: outgoing_email_by_model +#: model:ir.model.fields,help:outgoing_email_by_model.field_ir_model__outgoing_mailserver_id +msgid "" +"\n" +" Allows to force the usage of a given outgoing mail server if this setting is set.\n" +" However, this setting will be active only if the model extends `mail.thread`.\n" +msgstr "" + +#. module: outgoing_email_by_model +#: model:ir.model,name:outgoing_email_by_model.model_mail_thread +msgid "Email Thread" +msgstr "" + +#. module: outgoing_email_by_model +#: model:ir.model,name:outgoing_email_by_model.model_ir_model +msgid "Models" +msgstr "" + +#. module: outgoing_email_by_model +#: model:ir.model.fields,field_description:outgoing_email_by_model.field_ir_model__outgoing_email +msgid "Outgoing Email" +msgstr "" + +#. module: outgoing_email_by_model +#: model:ir.model.fields,field_description:outgoing_email_by_model.field_ir_model__outgoing_mailserver_id +msgid "Outgoing Mailserver" +msgstr "" From 8718c408c5735acfb257ddaf5c876833dbf30f56 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Mon, 6 May 2024 09:13:53 +0000 Subject: [PATCH 4/8] [BOT] post-merge updates --- .../static/description/icon.png | Bin 0 -> 9455 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 outgoing_email_by_model/static/description/icon.png diff --git a/outgoing_email_by_model/static/description/icon.png b/outgoing_email_by_model/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 From 72bdecfaac22ad1578ba56e7ba69412037e6bfc3 Mon Sep 17 00:00:00 2001 From: Vincent Van Rossem Date: Thu, 13 Jun 2024 17:41:01 +0200 Subject: [PATCH 5/8] Replace 'Camptocamp SA' with 'Camptocamp' --- outgoing_email_by_model/__manifest__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/outgoing_email_by_model/__manifest__.py b/outgoing_email_by_model/__manifest__.py index e46ae0591d..8caf0a4518 100644 --- a/outgoing_email_by_model/__manifest__.py +++ b/outgoing_email_by_model/__manifest__.py @@ -6,7 +6,7 @@ "version": "15.0.1.0.0", "category": "Social", "website": "https://github.com/OCA/social", - "author": "Camptocamp SA, Odoo Community Association (OCA)", + "author": "Camptocamp, Odoo Community Association (OCA)", "maintainers": ["mmequignon"], "license": "AGPL-3", "installable": True, From 69f4fba8fe136f080f61cf014590e4965586cf30 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Mon, 22 Jul 2024 05:02:46 +0000 Subject: [PATCH 6/8] [BOT] post-merge updates --- outgoing_email_by_model/README.rst | 4 ++-- .../static/description/index.html | 16 +++++++++------- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/outgoing_email_by_model/README.rst b/outgoing_email_by_model/README.rst index a82a7a7478..e56e2c8651 100644 --- a/outgoing_email_by_model/README.rst +++ b/outgoing_email_by_model/README.rst @@ -7,7 +7,7 @@ Outgoing Email by Model !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:f46c9dd50baab7014312147699cdd79186d1cc231a643f0b762894a973f43b36 + !! source digest: sha256:0de5a293f68d4c9a7b9b358dbbd1c678a8278e1fadcf1b0876b521d4dba266dc !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png @@ -61,7 +61,7 @@ Credits Authors ~~~~~~~ -* Camptocamp SA +* Camptocamp Contributors ~~~~~~~~~~~~ diff --git a/outgoing_email_by_model/static/description/index.html b/outgoing_email_by_model/static/description/index.html index 71f17a2674..7f336f1c53 100644 --- a/outgoing_email_by_model/static/description/index.html +++ b/outgoing_email_by_model/static/description/index.html @@ -1,4 +1,3 @@ - @@ -9,10 +8,11 @@ /* :Author: David Goodger (goodger@python.org) -:Id: $Id: html4css1.css 8954 2022-01-20 10:10:25Z milde $ +:Id: $Id: html4css1.css 9511 2024-01-13 09:50:07Z milde $ :Copyright: This stylesheet has been placed in the public domain. Default cascading style sheet for the HTML output of Docutils. +Despite the name, some widely supported CSS2 features are used. See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to customize this style sheet. @@ -275,7 +275,7 @@ margin-left: 2em ; margin-right: 2em } -pre.code .ln { color: grey; } /* line numbers */ +pre.code .ln { color: gray; } /* line numbers */ pre.code, code { background-color: #eeeeee } pre.code .comment, code .comment { color: #5C6576 } pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold } @@ -301,7 +301,7 @@ span.pre { white-space: pre } -span.problematic { +span.problematic, pre.problematic { color: red } span.section-subtitle { @@ -367,7 +367,7 @@

Outgoing Email by Model

!! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:f46c9dd50baab7014312147699cdd79186d1cc231a643f0b762894a973f43b36 +!! source digest: sha256:0de5a293f68d4c9a7b9b358dbbd1c678a8278e1fadcf1b0876b521d4dba266dc !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

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

Allow to select an outgoing mail parameters per model, such as email_from, or mail_server_id.

@@ -406,7 +406,7 @@

Credits

Authors

    -
  • Camptocamp SA
  • +
  • Camptocamp
@@ -418,7 +418,9 @@

Contributors

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.

From 79014f37c699f2b90e45781f4b3734a6639d07a4 Mon Sep 17 00:00:00 2001 From: emiliesoutiras Date: Wed, 11 Dec 2024 19:28:06 +0100 Subject: [PATCH 7/8] [IMP] outgoing_email_by_model: pre-commit stuff --- requirements.txt | 1 + .../odoo/addons/outgoing_email_by_model | 1 + setup/outgoing_email_by_model/setup.py | 6 ++++++ 3 files changed, 8 insertions(+) create mode 120000 setup/outgoing_email_by_model/odoo/addons/outgoing_email_by_model create mode 100644 setup/outgoing_email_by_model/setup.py diff --git a/requirements.txt b/requirements.txt index d03e71a2f0..ddc9e7d1a5 100644 --- a/requirements.txt +++ b/requirements.txt @@ -3,6 +3,7 @@ cairosvg cryptography<37 extract_msg lottie +odoo_test_helper premailer python-telegram-bot requests_toolbelt diff --git a/setup/outgoing_email_by_model/odoo/addons/outgoing_email_by_model b/setup/outgoing_email_by_model/odoo/addons/outgoing_email_by_model new file mode 120000 index 0000000000..44f6a2eb4f --- /dev/null +++ b/setup/outgoing_email_by_model/odoo/addons/outgoing_email_by_model @@ -0,0 +1 @@ +../../../../outgoing_email_by_model \ No newline at end of file diff --git a/setup/outgoing_email_by_model/setup.py b/setup/outgoing_email_by_model/setup.py new file mode 100644 index 0000000000..28c57bb640 --- /dev/null +++ b/setup/outgoing_email_by_model/setup.py @@ -0,0 +1,6 @@ +import setuptools + +setuptools.setup( + setup_requires=['setuptools-odoo'], + odoo_addon=True, +) From b1a4e0d1e17d1990eeb5e4df1b2a5c3938a7e7f8 Mon Sep 17 00:00:00 2001 From: emiliesoutiras Date: Wed, 27 Nov 2024 17:28:41 +0100 Subject: [PATCH 8/8] [16.0][MIG] outgoing_email_by_model: Migration to 16.0 --- outgoing_email_by_model/README.rst | 11 ++++++----- outgoing_email_by_model/__manifest__.py | 2 +- outgoing_email_by_model/models/mail_thread.py | 8 ++++++-- outgoing_email_by_model/readme/CONTRIBUTORS.rst | 1 + outgoing_email_by_model/static/description/index.html | 7 ++++--- outgoing_email_by_model/views/ir_model.xml | 2 ++ 6 files changed, 20 insertions(+), 11 deletions(-) diff --git a/outgoing_email_by_model/README.rst b/outgoing_email_by_model/README.rst index e56e2c8651..29741b6ea2 100644 --- a/outgoing_email_by_model/README.rst +++ b/outgoing_email_by_model/README.rst @@ -17,13 +17,13 @@ Outgoing Email by Model :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/outgoing_email_by_model + :target: https://github.com/OCA/social/tree/16.0/outgoing_email_by_model :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-outgoing_email_by_model + :target: https://translation.odoo-community.org/projects/social-16-0/social-16-0-outgoing_email_by_model :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=15.0 + :target: https://runboat.odoo-community.org/builds?repo=OCA/social&target_branch=16.0 :alt: Try me on Runboat |badge1| |badge2| |badge3| |badge4| |badge5| @@ -51,7 +51,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. @@ -67,6 +67,7 @@ Contributors ~~~~~~~~~~~~ * Matthieu Méquignon +* Emilie SOUTIRAS Maintainers ~~~~~~~~~~~ @@ -89,6 +90,6 @@ Current `maintainer `__: |maintainer-mmequignon| -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/outgoing_email_by_model/__manifest__.py b/outgoing_email_by_model/__manifest__.py index 8caf0a4518..54cda4b29c 100644 --- a/outgoing_email_by_model/__manifest__.py +++ b/outgoing_email_by_model/__manifest__.py @@ -3,7 +3,7 @@ { "name": "Outgoing Email by Model", - "version": "15.0.1.0.0", + "version": "16.0.1.0.0", "category": "Social", "website": "https://github.com/OCA/social", "author": "Camptocamp, Odoo Community Association (OCA)", diff --git a/outgoing_email_by_model/models/mail_thread.py b/outgoing_email_by_model/models/mail_thread.py index bda8193197..4521a39f1f 100644 --- a/outgoing_email_by_model/models/mail_thread.py +++ b/outgoing_email_by_model/models/mail_thread.py @@ -7,8 +7,12 @@ class MailThread(models.AbstractModel): _inherit = "mail.thread" - def _notify_by_email_add_values(self, base_values): - res = super()._notify_by_email_add_values(base_values) + def _notify_by_email_get_final_mail_values( + self, recipient_ids, base_mail_values, additional_values=None + ): + res = super()._notify_by_email_get_final_mail_values( + recipient_ids, base_mail_values, additional_values=additional_values + ) model = self.env["ir.model"].sudo().search([("model", "=", self._name)]) custom_mailserver = model.outgoing_mailserver_id if custom_mailserver: diff --git a/outgoing_email_by_model/readme/CONTRIBUTORS.rst b/outgoing_email_by_model/readme/CONTRIBUTORS.rst index bca4ee0cad..09f0dff572 100644 --- a/outgoing_email_by_model/readme/CONTRIBUTORS.rst +++ b/outgoing_email_by_model/readme/CONTRIBUTORS.rst @@ -1 +1,2 @@ * Matthieu Méquignon +* Emilie SOUTIRAS diff --git a/outgoing_email_by_model/static/description/index.html b/outgoing_email_by_model/static/description/index.html index 7f336f1c53..7aab9e5535 100644 --- a/outgoing_email_by_model/static/description/index.html +++ b/outgoing_email_by_model/static/description/index.html @@ -369,7 +369,7 @@

Outgoing Email by Model

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! source digest: sha256:0de5a293f68d4c9a7b9b358dbbd1c678a8278e1fadcf1b0876b521d4dba266dc !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

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

Allow to select an outgoing mail parameters per model, such as email_from, or mail_server_id.

To make it work, the model must inherit mail.thread.

Table of contents

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

@@ -413,6 +413,7 @@

Authors

Contributors

@@ -426,7 +427,7 @@

Maintainers

promote its widespread use.

Current maintainer:

mmequignon

-

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/outgoing_email_by_model/views/ir_model.xml b/outgoing_email_by_model/views/ir_model.xml index ded0f419d4..9e4abe16df 100644 --- a/outgoing_email_by_model/views/ir_model.xml +++ b/outgoing_email_by_model/views/ir_model.xml @@ -11,10 +11,12 @@