From 9e9b8e7106b6a098e2f73159666a59a40b00c6f7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Iv=C3=A0n=20Todorovich?=
Date: Mon, 9 Aug 2021 15:10:40 -0300
Subject: [PATCH 01/17] [ADD] mail_autosubscribe
---
mail_autosubscribe/__init__.py | 1 +
mail_autosubscribe/__manifest__.py | 20 +++
mail_autosubscribe/models/__init__.py | 5 +
.../models/mail_autosubscribe.py | 42 ++++++
mail_autosubscribe/models/mail_template.py | 34 +++++
mail_autosubscribe/models/mail_thread.py | 27 ++++
mail_autosubscribe/models/models.py | 37 +++++
mail_autosubscribe/models/res_partner.py | 16 +++
mail_autosubscribe/readme/CONFIGURE.rst | 8 ++
mail_autosubscribe/readme/CONTRIBUTORS.rst | 3 +
mail_autosubscribe/readme/DESCRIPTION.rst | 5 +
mail_autosubscribe/readme/ROADMAP.rst | 3 +
.../security/ir.model.access.csv | 3 +
mail_autosubscribe/tests/__init__.py | 1 +
mail_autosubscribe/tests/models/__init__.py | 1 +
mail_autosubscribe/tests/models/fake_order.py | 13 ++
.../tests/test_mail_autosubscribe.py | 132 ++++++++++++++++++
.../views/mail_autosubscribe.xml | 53 +++++++
mail_autosubscribe/views/mail_template.xml | 19 +++
mail_autosubscribe/views/res_partner.xml | 35 +++++
20 files changed, 458 insertions(+)
create mode 100644 mail_autosubscribe/__init__.py
create mode 100644 mail_autosubscribe/__manifest__.py
create mode 100644 mail_autosubscribe/models/__init__.py
create mode 100644 mail_autosubscribe/models/mail_autosubscribe.py
create mode 100644 mail_autosubscribe/models/mail_template.py
create mode 100644 mail_autosubscribe/models/mail_thread.py
create mode 100644 mail_autosubscribe/models/models.py
create mode 100644 mail_autosubscribe/models/res_partner.py
create mode 100644 mail_autosubscribe/readme/CONFIGURE.rst
create mode 100644 mail_autosubscribe/readme/CONTRIBUTORS.rst
create mode 100644 mail_autosubscribe/readme/DESCRIPTION.rst
create mode 100644 mail_autosubscribe/readme/ROADMAP.rst
create mode 100644 mail_autosubscribe/security/ir.model.access.csv
create mode 100644 mail_autosubscribe/tests/__init__.py
create mode 100644 mail_autosubscribe/tests/models/__init__.py
create mode 100644 mail_autosubscribe/tests/models/fake_order.py
create mode 100644 mail_autosubscribe/tests/test_mail_autosubscribe.py
create mode 100644 mail_autosubscribe/views/mail_autosubscribe.xml
create mode 100644 mail_autosubscribe/views/mail_template.xml
create mode 100644 mail_autosubscribe/views/res_partner.xml
diff --git a/mail_autosubscribe/__init__.py b/mail_autosubscribe/__init__.py
new file mode 100644
index 000000000..0650744f6
--- /dev/null
+++ b/mail_autosubscribe/__init__.py
@@ -0,0 +1 @@
+from . import models
diff --git a/mail_autosubscribe/__manifest__.py b/mail_autosubscribe/__manifest__.py
new file mode 100644
index 000000000..6be09d178
--- /dev/null
+++ b/mail_autosubscribe/__manifest__.py
@@ -0,0 +1,20 @@
+# Copyright 2021 Camptocamp (http://www.camptocamp.com).
+# @author Iván Todorovich
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
+
+{
+ "name": "Mail Autosubscribe",
+ "summary": "Automatically subscribe partners to its company's business documents",
+ "version": "14.0.1.0.0",
+ "author": "Camptocamp SA, Odoo Community Association (OCA)",
+ "license": "AGPL-3",
+ "category": "Marketing",
+ "depends": ["mail"],
+ "website": "https://github.com/OCA/social",
+ "data": [
+ "security/ir.model.access.csv",
+ "views/mail_autosubscribe.xml",
+ "views/mail_template.xml",
+ "views/res_partner.xml",
+ ],
+}
diff --git a/mail_autosubscribe/models/__init__.py b/mail_autosubscribe/models/__init__.py
new file mode 100644
index 000000000..84c59e66d
--- /dev/null
+++ b/mail_autosubscribe/models/__init__.py
@@ -0,0 +1,5 @@
+from . import models
+from . import res_partner
+from . import mail_thread
+from . import mail_autosubscribe
+from . import mail_template
diff --git a/mail_autosubscribe/models/mail_autosubscribe.py b/mail_autosubscribe/models/mail_autosubscribe.py
new file mode 100644
index 000000000..96e0382c3
--- /dev/null
+++ b/mail_autosubscribe/models/mail_autosubscribe.py
@@ -0,0 +1,42 @@
+# Copyright 2021 Camptocamp (http://www.camptocamp.com).
+# @author Iván Todorovich
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
+
+from odoo import api, fields, models
+
+
+class MailAutosubscribe(models.Model):
+ _name = "mail.autosubscribe"
+ _description = "Mail Autosubscribe"
+
+ _sql_constraints = [
+ (
+ "model_id_unique",
+ "UNIQUE(model_id)",
+ "There's already a rule for this model",
+ )
+ ]
+
+ model_id = fields.Many2one(
+ "ir.model",
+ required=True,
+ index=True,
+ ondelete="cascade",
+ )
+ model = fields.Char(
+ related="model_id.model",
+ string="Model Name",
+ store=True,
+ index=True,
+ )
+ name = fields.Char(
+ compute="_compute_name",
+ store=True,
+ readonly=False,
+ )
+
+ @api.depends("model_id")
+ def _compute_name(self):
+ for rec in self:
+ if not rec.name:
+ rec.name = rec.model_id.name
diff --git a/mail_autosubscribe/models/mail_template.py b/mail_autosubscribe/models/mail_template.py
new file mode 100644
index 000000000..abbf25197
--- /dev/null
+++ b/mail_autosubscribe/models/mail_template.py
@@ -0,0 +1,34 @@
+# Copyright 2021 Camptocamp (http://www.camptocamp.com).
+# @author Iván Todorovich
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
+
+from odoo import fields, models
+
+
+class MailTemplate(models.Model):
+ _inherit = "mail.template"
+
+ use_autosubscribe_followers = fields.Boolean(default=True)
+
+ def generate_recipients(self, results, res_ids):
+ res = super().generate_recipients(results, res_ids)
+ autosubscribe_followers = (
+ self.use_autosubscribe_followers
+ and not self.env.context.get("no_autosubscribe_followers")
+ # In this case, autosubscribers will be added by
+ # :func:`_message_get_default_recipients`
+ and not self.use_default_to
+ and not self.env.context.get("tpl_force_default_to")
+ )
+ if autosubscribe_followers:
+ for res_id in res.keys():
+ partners = (
+ self.env["res.partner"].sudo().browse(res[res_id]["partner_ids"])
+ )
+ ResModel = self.env[self.model]
+ followers = ResModel._message_get_autosubscribe_followers(partners)
+ follower_ids = [
+ follower.id for follower in followers if follower not in partners
+ ]
+ res[res_id]["partner_ids"] += follower_ids
+ return res
diff --git a/mail_autosubscribe/models/mail_thread.py b/mail_autosubscribe/models/mail_thread.py
new file mode 100644
index 000000000..94f421113
--- /dev/null
+++ b/mail_autosubscribe/models/mail_thread.py
@@ -0,0 +1,27 @@
+# Copyright 2021 Camptocamp (http://www.camptocamp.com).
+# @author Iván Todorovich
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
+
+from odoo import models
+
+
+class MailThread(models.AbstractModel):
+ _inherit = "mail.thread"
+
+ def message_subscribe(self, partner_ids=None, channel_ids=None, subtype_ids=None):
+ # Overload to automatically subscribe autosubscribe followers.
+ autosubscribe_followers = not self.env.context.get("no_autosubscribe_followers")
+ if partner_ids and autosubscribe_followers:
+ partners = self.env["res.partner"].sudo().browse(partner_ids)
+ followers = self._message_get_autosubscribe_followers(partners)
+ follower_ids = [
+ follower.id
+ for follower in followers
+ if follower not in partners and follower not in self.message_partner_ids
+ ]
+ partner_ids += follower_ids
+ return super().message_subscribe(
+ partner_ids=partner_ids,
+ channel_ids=channel_ids,
+ subtype_ids=subtype_ids,
+ )
diff --git a/mail_autosubscribe/models/models.py b/mail_autosubscribe/models/models.py
new file mode 100644
index 000000000..77f1a5d88
--- /dev/null
+++ b/mail_autosubscribe/models/models.py
@@ -0,0 +1,37 @@
+# Copyright 2021 Camptocamp (http://www.camptocamp.com).
+# @author Iván Todorovich
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
+
+from odoo import api, models
+
+
+class BaseModel(models.AbstractModel):
+ _inherit = "base"
+
+ @api.model
+ def _message_get_autosubscribe_followers_domain(self, partners):
+ return [
+ ("id", "child_of", partners.commercial_partner_id.ids),
+ ("mail_autosubscribe_ids.model", "=", self._name),
+ ]
+
+ @api.model
+ def _message_get_autosubscribe_followers(self, partners):
+ domain = self._message_get_autosubscribe_followers_domain(partners)
+ return self.env["res.partner"].sudo().search(domain)
+
+ def _message_get_default_recipients(self):
+ # Overload to include auto follow document partners in the composer
+ # Note: This only works if the template is configured with 'Default recipients'
+ res = super()._message_get_default_recipients()
+ if self.env.context.get("no_autosubscribe_followers"):
+ return res
+ for rec in self:
+ partner_ids = res[rec.id]["partner_ids"]
+ partners = self.env["res.partner"].sudo().browse(partner_ids)
+ followers = rec._message_get_autosubscribe_followers(partners)
+ follower_ids = [
+ follower.id for follower in followers if follower not in partners
+ ]
+ partner_ids += follower_ids
+ return res
diff --git a/mail_autosubscribe/models/res_partner.py b/mail_autosubscribe/models/res_partner.py
new file mode 100644
index 000000000..a3848abd8
--- /dev/null
+++ b/mail_autosubscribe/models/res_partner.py
@@ -0,0 +1,16 @@
+# Copyright 2021 Camptocamp (http://www.camptocamp.com).
+# @author Iván Todorovich
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
+
+from odoo import fields, models
+
+
+class ResPartner(models.Model):
+ _inherit = "res.partner"
+
+ mail_autosubscribe_ids = fields.Many2many(
+ "mail.autosubscribe",
+ string="Autosubscribe Models",
+ column1="partner_id",
+ column2="model_id",
+ )
diff --git a/mail_autosubscribe/readme/CONFIGURE.rst b/mail_autosubscribe/readme/CONFIGURE.rst
new file mode 100644
index 000000000..f8af04401
--- /dev/null
+++ b/mail_autosubscribe/readme/CONFIGURE.rst
@@ -0,0 +1,8 @@
+Go to Configuration > Technical > Automation > Autosubscribe Models and configure
+the models for which you want the feature to work.
+
+Then, on each partner, you can check the company documents subscriptions in the
+field `In copy of`.
+
+This feature can be disabled on specific templates, if required, by disabling the
+Autosubscribe followers field.
diff --git a/mail_autosubscribe/readme/CONTRIBUTORS.rst b/mail_autosubscribe/readme/CONTRIBUTORS.rst
new file mode 100644
index 000000000..df7472d00
--- /dev/null
+++ b/mail_autosubscribe/readme/CONTRIBUTORS.rst
@@ -0,0 +1,3 @@
+* `Camptocamp `_
+
+ * Iván Todorovich
diff --git a/mail_autosubscribe/readme/DESCRIPTION.rst b/mail_autosubscribe/readme/DESCRIPTION.rst
new file mode 100644
index 000000000..cf2d11484
--- /dev/null
+++ b/mail_autosubscribe/readme/DESCRIPTION.rst
@@ -0,0 +1,5 @@
+This module allows you to configure partners that will be automatically in copy
+of their company's business documents.
+
+For example, you can configure an accountant to be in copy of all invoices
+sent for a given commercial partner, regardless of the invoicing address.
diff --git a/mail_autosubscribe/readme/ROADMAP.rst b/mail_autosubscribe/readme/ROADMAP.rst
new file mode 100644
index 000000000..893174032
--- /dev/null
+++ b/mail_autosubscribe/readme/ROADMAP.rst
@@ -0,0 +1,3 @@
+* Consider implementing domain-based autosubscription rules.
+ This was considered during first development but it wasn't a requirement at the time.
+ If pursuit, this has to be done carefully to avoid affecting performance.
diff --git a/mail_autosubscribe/security/ir.model.access.csv b/mail_autosubscribe/security/ir.model.access.csv
new file mode 100644
index 000000000..e517cc4b1
--- /dev/null
+++ b/mail_autosubscribe/security/ir.model.access.csv
@@ -0,0 +1,3 @@
+id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
+access_mail_autosubscribe_user,access_mail_autosubscribe_user,model_mail_autosubscribe,base.group_user,1,0,0,0
+access_mail_autosubscribe_system,access_mail_autosubscribe_system,model_mail_autosubscribe,base.group_system,1,1,1,1
diff --git a/mail_autosubscribe/tests/__init__.py b/mail_autosubscribe/tests/__init__.py
new file mode 100644
index 000000000..a59dadaee
--- /dev/null
+++ b/mail_autosubscribe/tests/__init__.py
@@ -0,0 +1 @@
+from . import test_mail_autosubscribe
diff --git a/mail_autosubscribe/tests/models/__init__.py b/mail_autosubscribe/tests/models/__init__.py
new file mode 100644
index 000000000..4327a4b6e
--- /dev/null
+++ b/mail_autosubscribe/tests/models/__init__.py
@@ -0,0 +1 @@
+from . import fake_order
diff --git a/mail_autosubscribe/tests/models/fake_order.py b/mail_autosubscribe/tests/models/fake_order.py
new file mode 100644
index 000000000..b14a40f17
--- /dev/null
+++ b/mail_autosubscribe/tests/models/fake_order.py
@@ -0,0 +1,13 @@
+# Copyright 2021 Camptocamp (http://www.camptocamp.com).
+# @author Iván Todorovich
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
+
+from odoo import fields, models
+
+
+class FakeOrder(models.Model):
+ _name = "fake.order"
+ _inherit = "mail.thread"
+ _description = "Fake sale.order like model"
+
+ partner_id = fields.Many2one("res.partner", required=True)
diff --git a/mail_autosubscribe/tests/test_mail_autosubscribe.py b/mail_autosubscribe/tests/test_mail_autosubscribe.py
new file mode 100644
index 000000000..62d15733c
--- /dev/null
+++ b/mail_autosubscribe/tests/test_mail_autosubscribe.py
@@ -0,0 +1,132 @@
+# Copyright 2021 Camptocamp (http://www.camptocamp.com).
+# @author Iván Todorovich
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
+
+from odoo_test_helper import FakeModelLoader
+
+from odoo.tests.common import Form, SavepointCase, tagged
+
+
+@tagged("post_install", "-at_install")
+class TestMailAutosubscribe(SavepointCase):
+ @classmethod
+ def setUpClass(cls):
+ super().setUpClass()
+ # Setup env
+ cls.env = cls.env(context=dict(cls.env.context, tracking_disable=True))
+ # Load fake order model
+ cls.loader = FakeModelLoader(cls.env, cls.__module__)
+ cls.loader.backup_registry()
+ from .models.fake_order import FakeOrder
+
+ cls.loader.update_registry((FakeOrder,))
+ cls.fake_order_model = cls.env["ir.model"].search(
+ [("model", "=", "fake.order")]
+ )
+ # Email Template
+ cls.mail_template = cls.env["mail.template"].create(
+ {
+ "model_id": cls.fake_order_model.id,
+ "name": "Fake Order: Send by Mail",
+ "subject": "Fake Order: ${object.partner_id.name}",
+ "partner_to": "${object.partner_id.id}",
+ "body_html": "Hello, this is a fake order",
+ }
+ )
+ # Partners
+ cls.commercial_partner = cls.env.ref("base.res_partner_4")
+ cls.partner_1 = cls.env.ref("base.res_partner_address_13")
+ cls.partner_2 = cls.env.ref("base.res_partner_address_14")
+ cls.partner_3 = cls.env.ref("base.res_partner_address_24")
+ # Autosubscribe rules
+ cls.autosubscribe_fake_order = cls.env["mail.autosubscribe"].create(
+ {"model_id": cls.fake_order_model.id}
+ )
+ cls.partner_3.mail_autosubscribe_ids = [(4, cls.autosubscribe_fake_order.id)]
+ # Empty fake.order
+ cls.order = cls.env["fake.order"].create({"partner_id": cls.partner_2.id})
+
+ @classmethod
+ def tearDownClass(cls):
+ cls.loader.restore_registry()
+ return super().tearDownClass()
+
+ def test_message_subscribe(self):
+ """Test autosubscribe on a basic workflow"""
+ self.assertFalse(self.order.message_partner_ids, "No subscribers yet")
+ self.order.message_subscribe([self.order.partner_id.id])
+ self.assertEqual(
+ self.order.message_partner_ids,
+ self.partner_2 | self.partner_3,
+ "Partner 3 is automatically subscribed",
+ )
+
+ def test_message_subscribe_disabled(self):
+ """Test autosubscribe on a basic workflow (disabled)"""
+ self.partner_3.mail_autosubscribe_ids = [(5, False)]
+ self.assertFalse(self.order.message_partner_ids, "No subscribers yet")
+ self.order.message_subscribe([self.order.partner_id.id])
+ self.assertEqual(
+ self.order.message_partner_ids,
+ self.partner_2,
+ "Partner 2 is the only subscriber",
+ )
+
+ def test_mail_template(self):
+ """Test autosubscribe when partner is set in the mail.template partners_to"""
+ self.mail_template.send_mail(self.order.id)
+ message = self.order.message_ids[0]
+ self.assertEqual(message.partner_ids, self.partner_2 | self.partner_3)
+
+ def test_mail_template_disabled(self):
+ """Test autosubscribe when the partner is not an autosubscribe follower"""
+ self.partner_3.mail_autosubscribe_ids = [(5, False)]
+ self.mail_template.send_mail(self.order.id)
+ message = self.order.message_ids[0]
+ self.assertEqual(message.partner_ids, self.partner_2)
+
+ def test_mail_template_no_autosubscribe_followers(self):
+ """Test autosubscribe doesn't apply if it's disabled on the template"""
+ self.mail_template.use_autosubscribe_followers = False
+ self.mail_template.send_mail(self.order.id)
+ message = self.order.message_ids[0]
+ self.assertEqual(message.partner_ids, self.partner_2)
+
+ def test_mail_template_default_recipients(self):
+ """Test autosubscribe when using default recipients"""
+ self.mail_template.use_default_to = True
+ self.mail_template.send_mail(self.order.id)
+ message = self.order.message_ids[0]
+ self.assertEqual(message.partner_ids, self.partner_2 | self.partner_3)
+
+ def test_mail_message_composer(self):
+ """Test autosubscribe when using the mail composer"""
+ self.assertFalse(self.order.message_partner_ids, "No subscribers yet")
+ composer = Form(
+ self.env["mail.compose.message"].with_context(
+ default_model="fake.order",
+ default_res_id=self.order.id,
+ default_use_template=True,
+ default_template_id=self.mail_template.id,
+ default_composition_mode="comment",
+ )
+ )
+ composer.save().send_mail()
+ message = self.order.message_ids[0]
+ self.assertEqual(message.partner_ids, self.partner_2 | self.partner_3)
+
+ def test_mail_message_composer_no_autosubscribe_followers(self):
+ """Test autosubscribe when using the mail composer and it's disabled"""
+ self.mail_template.use_autosubscribe_followers = False
+ composer = Form(
+ self.env["mail.compose.message"].with_context(
+ default_model="fake.order",
+ default_res_id=self.order.id,
+ default_use_template=True,
+ default_template_id=self.mail_template.id,
+ default_composition_mode="comment",
+ )
+ )
+ composer.save().send_mail()
+ message = self.order.message_ids[0]
+ self.assertEqual(message.partner_ids, self.partner_2)
diff --git a/mail_autosubscribe/views/mail_autosubscribe.xml b/mail_autosubscribe/views/mail_autosubscribe.xml
new file mode 100644
index 000000000..c0a13dc0b
--- /dev/null
+++ b/mail_autosubscribe/views/mail_autosubscribe.xml
@@ -0,0 +1,53 @@
+
+
+
+
+
+ mail.autosubscribe
+
+
+
+
+
+
+ mail.autosubscribe
+
+
+
+
+
+
+
+
+
+ Mail Auto Subscribe
+ mail.autosubscribe
+ tree,form
+
+
+
+
+
diff --git a/mail_autosubscribe/views/mail_template.xml b/mail_autosubscribe/views/mail_template.xml
new file mode 100644
index 000000000..c41388f9a
--- /dev/null
+++ b/mail_autosubscribe/views/mail_template.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+ mail.template
+
+
+
+
+
+
+
+
+
diff --git a/mail_autosubscribe/views/res_partner.xml b/mail_autosubscribe/views/res_partner.xml
new file mode 100644
index 000000000..411dd59ec
--- /dev/null
+++ b/mail_autosubscribe/views/res_partner.xml
@@ -0,0 +1,35 @@
+
+
+
+
+
+ res.partner
+
+
+
+
+
+
+
+
+
+
+
+
From c481b24c66ea77da9e2e098ad821c92ec72bb829 Mon Sep 17 00:00:00 2001
From: oca-travis
Date: Thu, 12 Aug 2021 06:10:41 +0000
Subject: [PATCH 02/17] [UPD] Update mail_autosubscribe.pot
---
.../i18n/mail_autosubscribe.pot | 126 ++++++++++++++++++
1 file changed, 126 insertions(+)
create mode 100644 mail_autosubscribe/i18n/mail_autosubscribe.pot
diff --git a/mail_autosubscribe/i18n/mail_autosubscribe.pot b/mail_autosubscribe/i18n/mail_autosubscribe.pot
new file mode 100644
index 000000000..4b473f975
--- /dev/null
+++ b/mail_autosubscribe/i18n/mail_autosubscribe.pot
@@ -0,0 +1,126 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * mail_autosubscribe
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 14.0\n"
+"Report-Msgid-Bugs-To: \n"
+"Last-Translator: \n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: \n"
+
+#. module: mail_autosubscribe
+#: model:ir.model.fields,field_description:mail_autosubscribe.field_res_partner__mail_autosubscribe_ids
+#: model:ir.model.fields,field_description:mail_autosubscribe.field_res_users__mail_autosubscribe_ids
+#: model:ir.ui.menu,name:mail_autosubscribe.menu_mail_autosubscribe
+msgid "Autosubscribe Models"
+msgstr ""
+
+#. module: mail_autosubscribe
+#: model:ir.model,name:mail_autosubscribe.model_base
+msgid "Base"
+msgstr ""
+
+#. module: mail_autosubscribe
+#: model:ir.model,name:mail_autosubscribe.model_res_partner
+msgid "Contact"
+msgstr ""
+
+#. module: mail_autosubscribe
+#: model:ir.model.fields,field_description:mail_autosubscribe.field_mail_autosubscribe__create_uid
+msgid "Created by"
+msgstr ""
+
+#. module: mail_autosubscribe
+#: model:ir.model.fields,field_description:mail_autosubscribe.field_mail_autosubscribe__create_date
+msgid "Created on"
+msgstr ""
+
+#. module: mail_autosubscribe
+#: model:ir.model.fields,field_description:mail_autosubscribe.field_mail_autosubscribe__display_name
+#: model:ir.model.fields,field_description:mail_autosubscribe.field_mail_template__display_name
+#: model:ir.model.fields,field_description:mail_autosubscribe.field_mail_thread__display_name
+#: model:ir.model.fields,field_description:mail_autosubscribe.field_res_partner__display_name
+msgid "Display Name"
+msgstr ""
+
+#. module: mail_autosubscribe
+#: model:ir.model,name:mail_autosubscribe.model_mail_template
+msgid "Email Templates"
+msgstr ""
+
+#. module: mail_autosubscribe
+#: model:ir.model,name:mail_autosubscribe.model_mail_thread
+msgid "Email Thread"
+msgstr ""
+
+#. module: mail_autosubscribe
+#: model:ir.model.fields,field_description:mail_autosubscribe.field_mail_autosubscribe__id
+#: model:ir.model.fields,field_description:mail_autosubscribe.field_mail_template__id
+#: model:ir.model.fields,field_description:mail_autosubscribe.field_mail_thread__id
+#: model:ir.model.fields,field_description:mail_autosubscribe.field_res_partner__id
+msgid "ID"
+msgstr ""
+
+#. module: mail_autosubscribe
+#: model_terms:ir.ui.view,arch_db:mail_autosubscribe.view_partner_form
+msgid "In copy of"
+msgstr ""
+
+#. module: mail_autosubscribe
+#: model:ir.model.fields,field_description:mail_autosubscribe.field_mail_autosubscribe____last_update
+#: model:ir.model.fields,field_description:mail_autosubscribe.field_mail_template____last_update
+#: model:ir.model.fields,field_description:mail_autosubscribe.field_mail_thread____last_update
+#: model:ir.model.fields,field_description:mail_autosubscribe.field_res_partner____last_update
+msgid "Last Modified on"
+msgstr ""
+
+#. module: mail_autosubscribe
+#: model:ir.model.fields,field_description:mail_autosubscribe.field_mail_autosubscribe__write_uid
+msgid "Last Updated by"
+msgstr ""
+
+#. module: mail_autosubscribe
+#: model:ir.model.fields,field_description:mail_autosubscribe.field_mail_autosubscribe__write_date
+msgid "Last Updated on"
+msgstr ""
+
+#. module: mail_autosubscribe
+#: model:ir.actions.act_window,name:mail_autosubscribe.action_mail_autosubscribe
+msgid "Mail Auto Subscribe"
+msgstr ""
+
+#. module: mail_autosubscribe
+#: model:ir.model,name:mail_autosubscribe.model_mail_autosubscribe
+msgid "Mail Autosubscribe"
+msgstr ""
+
+#. module: mail_autosubscribe
+#: model:ir.model.fields,field_description:mail_autosubscribe.field_mail_autosubscribe__model_id
+msgid "Model"
+msgstr ""
+
+#. module: mail_autosubscribe
+#: model:ir.model.fields,field_description:mail_autosubscribe.field_mail_autosubscribe__model
+msgid "Model Name"
+msgstr ""
+
+#. module: mail_autosubscribe
+#: model:ir.model.fields,field_description:mail_autosubscribe.field_mail_autosubscribe__name
+#: model_terms:ir.ui.view,arch_db:mail_autosubscribe.view_mail_autosubscribe_form
+msgid "Name"
+msgstr ""
+
+#. module: mail_autosubscribe
+#: model:ir.model.constraint,message:mail_autosubscribe.constraint_mail_autosubscribe_model_id_unique
+msgid "There's already a rule for this model"
+msgstr ""
+
+#. module: mail_autosubscribe
+#: model:ir.model.fields,field_description:mail_autosubscribe.field_mail_template__use_autosubscribe_followers
+msgid "Use Autosubscribe Followers"
+msgstr ""
From 3425b7df46b0e4330687312658fd6a13120ce06b Mon Sep 17 00:00:00 2001
From: OCA-git-bot
Date: Thu, 12 Aug 2021 06:15:21 +0000
Subject: [PATCH 03/17] [UPD] README.rst
---
mail_autosubscribe/README.rst | 98 ++++
.../static/description/index.html | 447 ++++++++++++++++++
2 files changed, 545 insertions(+)
create mode 100644 mail_autosubscribe/README.rst
create mode 100644 mail_autosubscribe/static/description/index.html
diff --git a/mail_autosubscribe/README.rst b/mail_autosubscribe/README.rst
new file mode 100644
index 000000000..764236571
--- /dev/null
+++ b/mail_autosubscribe/README.rst
@@ -0,0 +1,98 @@
+==================
+Mail Autosubscribe
+==================
+
+.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+ !! 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/14.0/mail_autosubscribe
+ :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_autosubscribe
+ :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
+
+|badge1| |badge2| |badge3| |badge4| |badge5|
+
+This module allows you to configure partners that will be automatically in copy
+of their company's business documents.
+
+For example, you can configure an accountant to be in copy of all invoices
+sent for a given commercial partner, regardless of the invoicing address.
+
+**Table of contents**
+
+.. contents::
+ :local:
+
+Configuration
+=============
+
+Go to Configuration > Technical > Automation > Autosubscribe Models and configure
+the models for which you want the feature to work.
+
+Then, on each partner, you can check the company documents subscriptions in the
+field `In copy of`.
+
+This feature can be disabled on specific templates, if required, by disabling the
+Autosubscribe followers field.
+
+Known issues / Roadmap
+======================
+
+* Consider implementing domain-based autosubscription rules.
+ This was considered during first development but it wasn't a requirement at the time.
+ If pursuit, this has to be done carefully to avoid affecting performance.
+
+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
+~~~~~~~
+
+* Camptocamp SA
+
+Contributors
+~~~~~~~~~~~~
+
+* `Camptocamp `_
+
+ * Iván Todorovich
+
+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_autosubscribe/static/description/index.html b/mail_autosubscribe/static/description/index.html
new file mode 100644
index 000000000..4b1deb1dc
--- /dev/null
+++ b/mail_autosubscribe/static/description/index.html
@@ -0,0 +1,447 @@
+
+
+
+
+
+
+Mail Autosubscribe
+
+
+
+
+
Mail Autosubscribe
+
+
+

+
This module allows you to configure partners that will be automatically in copy
+of their company’s business documents.
+
For example, you can configure an accountant to be in copy of all invoices
+sent for a given commercial partner, regardless of the invoicing address.
+
Table of contents
+
+
+
+
Go to Configuration > Technical > Automation > Autosubscribe Models and configure
+the models for which you want the feature to work.
+
Then, on each partner, you can check the company documents subscriptions in the
+field In copy of.
+
This feature can be disabled on specific templates, if required, by disabling the
+Autosubscribe followers field.
+
+
+
+
+- Consider implementing domain-based autosubscription rules.
+This was considered during first development but it wasn’t a requirement at the time.
+If pursuit, this has to be done carefully to avoid affecting performance.
+
+
+
+
+
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.
+
+
+
+
+
+
+
+
This module is maintained by the OCA.
+

+
OCA, or the Odoo Community Association, is a nonprofit organization whose
+mission is to support the collaborative development of Odoo features and
+promote its widespread use.
+
This module is part of the OCA/social project on GitHub.
+
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
+
+
+
+
+
From 249fa32af06d35fd5a37341e5e80580edc5eb0a9 Mon Sep 17 00:00:00 2001
From: OCA-git-bot
Date: Thu, 12 Aug 2021 06:15:21 +0000
Subject: [PATCH 04/17] [ADD] icon.png
---
mail_autosubscribe/static/description/icon.png | Bin 0 -> 9455 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 mail_autosubscribe/static/description/icon.png
diff --git a/mail_autosubscribe/static/description/icon.png b/mail_autosubscribe/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 a8fb1c5a6e1620051c7fe4c694bc02e7f01d004f Mon Sep 17 00:00:00 2001
From: jabelchi
Date: Tue, 25 Jan 2022 12:50:40 +0000
Subject: [PATCH 05/17] Added translation using Weblate (Catalan)
---
mail_autosubscribe/i18n/ca.po | 127 ++++++++++++++++++++++++++++++++++
1 file changed, 127 insertions(+)
create mode 100644 mail_autosubscribe/i18n/ca.po
diff --git a/mail_autosubscribe/i18n/ca.po b/mail_autosubscribe/i18n/ca.po
new file mode 100644
index 000000000..9d3d585c3
--- /dev/null
+++ b/mail_autosubscribe/i18n/ca.po
@@ -0,0 +1,127 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * mail_autosubscribe
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 14.0\n"
+"Report-Msgid-Bugs-To: \n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: ca\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+
+#. module: mail_autosubscribe
+#: model:ir.model.fields,field_description:mail_autosubscribe.field_res_partner__mail_autosubscribe_ids
+#: model:ir.model.fields,field_description:mail_autosubscribe.field_res_users__mail_autosubscribe_ids
+#: model:ir.ui.menu,name:mail_autosubscribe.menu_mail_autosubscribe
+msgid "Autosubscribe Models"
+msgstr ""
+
+#. module: mail_autosubscribe
+#: model:ir.model,name:mail_autosubscribe.model_base
+msgid "Base"
+msgstr ""
+
+#. module: mail_autosubscribe
+#: model:ir.model,name:mail_autosubscribe.model_res_partner
+msgid "Contact"
+msgstr ""
+
+#. module: mail_autosubscribe
+#: model:ir.model.fields,field_description:mail_autosubscribe.field_mail_autosubscribe__create_uid
+msgid "Created by"
+msgstr ""
+
+#. module: mail_autosubscribe
+#: model:ir.model.fields,field_description:mail_autosubscribe.field_mail_autosubscribe__create_date
+msgid "Created on"
+msgstr ""
+
+#. module: mail_autosubscribe
+#: model:ir.model.fields,field_description:mail_autosubscribe.field_mail_autosubscribe__display_name
+#: model:ir.model.fields,field_description:mail_autosubscribe.field_mail_template__display_name
+#: model:ir.model.fields,field_description:mail_autosubscribe.field_mail_thread__display_name
+#: model:ir.model.fields,field_description:mail_autosubscribe.field_res_partner__display_name
+msgid "Display Name"
+msgstr ""
+
+#. module: mail_autosubscribe
+#: model:ir.model,name:mail_autosubscribe.model_mail_template
+msgid "Email Templates"
+msgstr ""
+
+#. module: mail_autosubscribe
+#: model:ir.model,name:mail_autosubscribe.model_mail_thread
+msgid "Email Thread"
+msgstr ""
+
+#. module: mail_autosubscribe
+#: model:ir.model.fields,field_description:mail_autosubscribe.field_mail_autosubscribe__id
+#: model:ir.model.fields,field_description:mail_autosubscribe.field_mail_template__id
+#: model:ir.model.fields,field_description:mail_autosubscribe.field_mail_thread__id
+#: model:ir.model.fields,field_description:mail_autosubscribe.field_res_partner__id
+msgid "ID"
+msgstr ""
+
+#. module: mail_autosubscribe
+#: model_terms:ir.ui.view,arch_db:mail_autosubscribe.view_partner_form
+msgid "In copy of"
+msgstr ""
+
+#. module: mail_autosubscribe
+#: model:ir.model.fields,field_description:mail_autosubscribe.field_mail_autosubscribe____last_update
+#: model:ir.model.fields,field_description:mail_autosubscribe.field_mail_template____last_update
+#: model:ir.model.fields,field_description:mail_autosubscribe.field_mail_thread____last_update
+#: model:ir.model.fields,field_description:mail_autosubscribe.field_res_partner____last_update
+msgid "Last Modified on"
+msgstr ""
+
+#. module: mail_autosubscribe
+#: model:ir.model.fields,field_description:mail_autosubscribe.field_mail_autosubscribe__write_uid
+msgid "Last Updated by"
+msgstr ""
+
+#. module: mail_autosubscribe
+#: model:ir.model.fields,field_description:mail_autosubscribe.field_mail_autosubscribe__write_date
+msgid "Last Updated on"
+msgstr ""
+
+#. module: mail_autosubscribe
+#: model:ir.actions.act_window,name:mail_autosubscribe.action_mail_autosubscribe
+msgid "Mail Auto Subscribe"
+msgstr ""
+
+#. module: mail_autosubscribe
+#: model:ir.model,name:mail_autosubscribe.model_mail_autosubscribe
+msgid "Mail Autosubscribe"
+msgstr ""
+
+#. module: mail_autosubscribe
+#: model:ir.model.fields,field_description:mail_autosubscribe.field_mail_autosubscribe__model_id
+msgid "Model"
+msgstr ""
+
+#. module: mail_autosubscribe
+#: model:ir.model.fields,field_description:mail_autosubscribe.field_mail_autosubscribe__model
+msgid "Model Name"
+msgstr ""
+
+#. module: mail_autosubscribe
+#: model:ir.model.fields,field_description:mail_autosubscribe.field_mail_autosubscribe__name
+#: model_terms:ir.ui.view,arch_db:mail_autosubscribe.view_mail_autosubscribe_form
+msgid "Name"
+msgstr ""
+
+#. module: mail_autosubscribe
+#: model:ir.model.constraint,message:mail_autosubscribe.constraint_mail_autosubscribe_model_id_unique
+msgid "There's already a rule for this model"
+msgstr ""
+
+#. module: mail_autosubscribe
+#: model:ir.model.fields,field_description:mail_autosubscribe.field_mail_template__use_autosubscribe_followers
+msgid "Use Autosubscribe Followers"
+msgstr ""
From 9284d78e60a0231f640bc973b5efab92ccc20b06 Mon Sep 17 00:00:00 2001
From: jabelchi
Date: Tue, 25 Jan 2022 12:57:58 +0000
Subject: [PATCH 06/17] Translated using Weblate (Catalan)
Currently translated at 100.0% (20 of 20 strings)
Translation: social-14.0/social-14.0-mail_autosubscribe
Translate-URL: https://translation.odoo-community.org/projects/social-14-0/social-14-0-mail_autosubscribe/ca/
---
mail_autosubscribe/i18n/ca.po | 44 ++++++++++++++++++-----------------
1 file changed, 23 insertions(+), 21 deletions(-)
diff --git a/mail_autosubscribe/i18n/ca.po b/mail_autosubscribe/i18n/ca.po
index 9d3d585c3..3568db2b1 100644
--- a/mail_autosubscribe/i18n/ca.po
+++ b/mail_autosubscribe/i18n/ca.po
@@ -6,40 +6,42 @@ msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 14.0\n"
"Report-Msgid-Bugs-To: \n"
-"Last-Translator: Automatically generated\n"
+"PO-Revision-Date: 2022-01-25 15:40+0000\n"
+"Last-Translator: jabelchi \n"
"Language-Team: none\n"
"Language: ca\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 4.3.2\n"
#. module: mail_autosubscribe
#: model:ir.model.fields,field_description:mail_autosubscribe.field_res_partner__mail_autosubscribe_ids
#: model:ir.model.fields,field_description:mail_autosubscribe.field_res_users__mail_autosubscribe_ids
#: model:ir.ui.menu,name:mail_autosubscribe.menu_mail_autosubscribe
msgid "Autosubscribe Models"
-msgstr ""
+msgstr "Models autosubscripció"
#. module: mail_autosubscribe
#: model:ir.model,name:mail_autosubscribe.model_base
msgid "Base"
-msgstr ""
+msgstr "Base"
#. module: mail_autosubscribe
#: model:ir.model,name:mail_autosubscribe.model_res_partner
msgid "Contact"
-msgstr ""
+msgstr "Contacte"
#. module: mail_autosubscribe
#: model:ir.model.fields,field_description:mail_autosubscribe.field_mail_autosubscribe__create_uid
msgid "Created by"
-msgstr ""
+msgstr "Creat per"
#. module: mail_autosubscribe
#: model:ir.model.fields,field_description:mail_autosubscribe.field_mail_autosubscribe__create_date
msgid "Created on"
-msgstr ""
+msgstr "Creat el"
#. module: mail_autosubscribe
#: model:ir.model.fields,field_description:mail_autosubscribe.field_mail_autosubscribe__display_name
@@ -47,17 +49,17 @@ msgstr ""
#: model:ir.model.fields,field_description:mail_autosubscribe.field_mail_thread__display_name
#: model:ir.model.fields,field_description:mail_autosubscribe.field_res_partner__display_name
msgid "Display Name"
-msgstr ""
+msgstr "Nom a mostrar"
#. module: mail_autosubscribe
#: model:ir.model,name:mail_autosubscribe.model_mail_template
msgid "Email Templates"
-msgstr ""
+msgstr "Plantilles de correu"
#. module: mail_autosubscribe
#: model:ir.model,name:mail_autosubscribe.model_mail_thread
msgid "Email Thread"
-msgstr ""
+msgstr "Fil de correus"
#. module: mail_autosubscribe
#: model:ir.model.fields,field_description:mail_autosubscribe.field_mail_autosubscribe__id
@@ -65,12 +67,12 @@ msgstr ""
#: model:ir.model.fields,field_description:mail_autosubscribe.field_mail_thread__id
#: model:ir.model.fields,field_description:mail_autosubscribe.field_res_partner__id
msgid "ID"
-msgstr ""
+msgstr "ID"
#. module: mail_autosubscribe
#: model_terms:ir.ui.view,arch_db:mail_autosubscribe.view_partner_form
msgid "In copy of"
-msgstr ""
+msgstr "En còpia de"
#. module: mail_autosubscribe
#: model:ir.model.fields,field_description:mail_autosubscribe.field_mail_autosubscribe____last_update
@@ -78,50 +80,50 @@ msgstr ""
#: model:ir.model.fields,field_description:mail_autosubscribe.field_mail_thread____last_update
#: model:ir.model.fields,field_description:mail_autosubscribe.field_res_partner____last_update
msgid "Last Modified on"
-msgstr ""
+msgstr "Darrera modificació el"
#. module: mail_autosubscribe
#: model:ir.model.fields,field_description:mail_autosubscribe.field_mail_autosubscribe__write_uid
msgid "Last Updated by"
-msgstr ""
+msgstr "Darrera actualització per"
#. module: mail_autosubscribe
#: model:ir.model.fields,field_description:mail_autosubscribe.field_mail_autosubscribe__write_date
msgid "Last Updated on"
-msgstr ""
+msgstr "Darrera modificació el"
#. module: mail_autosubscribe
#: model:ir.actions.act_window,name:mail_autosubscribe.action_mail_autosubscribe
msgid "Mail Auto Subscribe"
-msgstr ""
+msgstr "Auto subscripció de correu electrònic"
#. module: mail_autosubscribe
#: model:ir.model,name:mail_autosubscribe.model_mail_autosubscribe
msgid "Mail Autosubscribe"
-msgstr ""
+msgstr "Autosubscripció Email"
#. module: mail_autosubscribe
#: model:ir.model.fields,field_description:mail_autosubscribe.field_mail_autosubscribe__model_id
msgid "Model"
-msgstr ""
+msgstr "Model"
#. module: mail_autosubscribe
#: model:ir.model.fields,field_description:mail_autosubscribe.field_mail_autosubscribe__model
msgid "Model Name"
-msgstr ""
+msgstr "Nom del model"
#. module: mail_autosubscribe
#: model:ir.model.fields,field_description:mail_autosubscribe.field_mail_autosubscribe__name
#: model_terms:ir.ui.view,arch_db:mail_autosubscribe.view_mail_autosubscribe_form
msgid "Name"
-msgstr ""
+msgstr "Nom"
#. module: mail_autosubscribe
#: model:ir.model.constraint,message:mail_autosubscribe.constraint_mail_autosubscribe_model_id_unique
msgid "There's already a rule for this model"
-msgstr ""
+msgstr "Ja existeix una regla per a aquest model"
#. module: mail_autosubscribe
#: model:ir.model.fields,field_description:mail_autosubscribe.field_mail_template__use_autosubscribe_followers
msgid "Use Autosubscribe Followers"
-msgstr ""
+msgstr "Usar seguidors autosubscrits"
From fcf2031e8419e46c85b76553beac37de4513ae02 Mon Sep 17 00:00:00 2001
From: nicolas
Date: Tue, 12 Apr 2022 08:43:56 -0300
Subject: [PATCH 07/17] [MIG] mail_autosubscribe: Migration to 15.0
---
mail_autosubscribe/__manifest__.py | 2 +-
mail_autosubscribe/models/mail_thread.py | 3 +--
mail_autosubscribe/tests/test_mail_autosubscribe.py | 4 ++--
3 files changed, 4 insertions(+), 5 deletions(-)
diff --git a/mail_autosubscribe/__manifest__.py b/mail_autosubscribe/__manifest__.py
index 6be09d178..ad70c7cec 100644
--- a/mail_autosubscribe/__manifest__.py
+++ b/mail_autosubscribe/__manifest__.py
@@ -5,7 +5,7 @@
{
"name": "Mail Autosubscribe",
"summary": "Automatically subscribe partners to its company's business documents",
- "version": "14.0.1.0.0",
+ "version": "15.0.1.0.0",
"author": "Camptocamp SA, Odoo Community Association (OCA)",
"license": "AGPL-3",
"category": "Marketing",
diff --git a/mail_autosubscribe/models/mail_thread.py b/mail_autosubscribe/models/mail_thread.py
index 94f421113..be8d4738c 100644
--- a/mail_autosubscribe/models/mail_thread.py
+++ b/mail_autosubscribe/models/mail_thread.py
@@ -8,7 +8,7 @@ from odoo import models
class MailThread(models.AbstractModel):
_inherit = "mail.thread"
- def message_subscribe(self, partner_ids=None, channel_ids=None, subtype_ids=None):
+ def message_subscribe(self, partner_ids=None, subtype_ids=None):
# Overload to automatically subscribe autosubscribe followers.
autosubscribe_followers = not self.env.context.get("no_autosubscribe_followers")
if partner_ids and autosubscribe_followers:
@@ -22,6 +22,5 @@ class MailThread(models.AbstractModel):
partner_ids += follower_ids
return super().message_subscribe(
partner_ids=partner_ids,
- channel_ids=channel_ids,
subtype_ids=subtype_ids,
)
diff --git a/mail_autosubscribe/tests/test_mail_autosubscribe.py b/mail_autosubscribe/tests/test_mail_autosubscribe.py
index 62d15733c..6c16f0368 100644
--- a/mail_autosubscribe/tests/test_mail_autosubscribe.py
+++ b/mail_autosubscribe/tests/test_mail_autosubscribe.py
@@ -4,11 +4,11 @@
from odoo_test_helper import FakeModelLoader
-from odoo.tests.common import Form, SavepointCase, tagged
+from odoo.tests.common import Form, TransactionCase, tagged
@tagged("post_install", "-at_install")
-class TestMailAutosubscribe(SavepointCase):
+class TestMailAutosubscribe(TransactionCase):
@classmethod
def setUpClass(cls):
super().setUpClass()
From c3595f8672df879f677e772b628f53ee70e02315 Mon Sep 17 00:00:00 2001
From: oca-ci
Date: Tue, 24 May 2022 17:34:03 +0000
Subject: [PATCH 08/17] [UPD] Update mail_autosubscribe.pot
---
mail_autosubscribe/i18n/mail_autosubscribe.pot | 11 +----------
1 file changed, 1 insertion(+), 10 deletions(-)
diff --git a/mail_autosubscribe/i18n/mail_autosubscribe.pot b/mail_autosubscribe/i18n/mail_autosubscribe.pot
index 4b473f975..dec950e83 100644
--- a/mail_autosubscribe/i18n/mail_autosubscribe.pot
+++ b/mail_autosubscribe/i18n/mail_autosubscribe.pot
@@ -4,7 +4,7 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: Odoo Server 14.0\n"
+"Project-Id-Version: Odoo Server 15.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: \n"
"Language-Team: \n"
@@ -42,9 +42,6 @@ msgstr ""
#. module: mail_autosubscribe
#: model:ir.model.fields,field_description:mail_autosubscribe.field_mail_autosubscribe__display_name
-#: model:ir.model.fields,field_description:mail_autosubscribe.field_mail_template__display_name
-#: model:ir.model.fields,field_description:mail_autosubscribe.field_mail_thread__display_name
-#: model:ir.model.fields,field_description:mail_autosubscribe.field_res_partner__display_name
msgid "Display Name"
msgstr ""
@@ -60,9 +57,6 @@ msgstr ""
#. module: mail_autosubscribe
#: model:ir.model.fields,field_description:mail_autosubscribe.field_mail_autosubscribe__id
-#: model:ir.model.fields,field_description:mail_autosubscribe.field_mail_template__id
-#: model:ir.model.fields,field_description:mail_autosubscribe.field_mail_thread__id
-#: model:ir.model.fields,field_description:mail_autosubscribe.field_res_partner__id
msgid "ID"
msgstr ""
@@ -73,9 +67,6 @@ msgstr ""
#. module: mail_autosubscribe
#: model:ir.model.fields,field_description:mail_autosubscribe.field_mail_autosubscribe____last_update
-#: model:ir.model.fields,field_description:mail_autosubscribe.field_mail_template____last_update
-#: model:ir.model.fields,field_description:mail_autosubscribe.field_mail_thread____last_update
-#: model:ir.model.fields,field_description:mail_autosubscribe.field_res_partner____last_update
msgid "Last Modified on"
msgstr ""
From 789be83fa34e0975efd75abab30e67fcf417d0bd Mon Sep 17 00:00:00 2001
From: OCA-git-bot
Date: Tue, 24 May 2022 17:37:09 +0000
Subject: [PATCH 09/17] [UPD] README.rst
---
mail_autosubscribe/README.rst | 10 +++++-----
mail_autosubscribe/static/description/index.html | 6 +++---
2 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/mail_autosubscribe/README.rst b/mail_autosubscribe/README.rst
index 764236571..67a6ed924 100644
--- a/mail_autosubscribe/README.rst
+++ b/mail_autosubscribe/README.rst
@@ -14,13 +14,13 @@ Mail Autosubscribe
: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_autosubscribe
+ :target: https://github.com/OCA/social/tree/15.0/mail_autosubscribe
: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_autosubscribe
+ :target: https://translation.odoo-community.org/projects/social-15-0/social-15-0-mail_autosubscribe
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
- :target: https://runbot.odoo-community.org/runbot/205/14.0
+ :target: https://runbot.odoo-community.org/runbot/205/15.0
:alt: Try me on Runbot
|badge1| |badge2| |badge3| |badge4| |badge5|
@@ -61,7 +61,7 @@ Bug Tracker
Bugs are tracked on `GitHub Issues `_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed
-`feedback `_.
+`feedback `_.
Do not contact contributors directly about support or help with technical issues.
@@ -93,6 +93,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_autosubscribe/static/description/index.html b/mail_autosubscribe/static/description/index.html
index 4b1deb1dc..d075ad76f 100644
--- a/mail_autosubscribe/static/description/index.html
+++ b/mail_autosubscribe/static/description/index.html
@@ -367,7 +367,7 @@ ul.auto-toc {
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
-

+

This module allows you to configure partners that will be automatically in copy
of their company’s business documents.
For example, you can configure an accountant to be in copy of all invoices
@@ -408,7 +408,7 @@ If pursuit, this has to be done carefully to avoid affecting performance.
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.
@@ -438,7 +438,7 @@ If you spotted it first, help us smashing it by providing a detailed and welcome
OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.
-
This module is part of the OCA/social project on GitHub.
+
This module is part of the OCA/social project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
From 18a42ad63fe121e77e174b607ebd971ed18a8d5c Mon Sep 17 00:00:00 2001
From: OCA-git-bot
Date: Tue, 24 May 2022 17:37:10 +0000
Subject: [PATCH 10/17] mail_autosubscribe 15.0.1.0.1
---
mail_autosubscribe/__manifest__.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mail_autosubscribe/__manifest__.py b/mail_autosubscribe/__manifest__.py
index ad70c7cec..2a9e5d632 100644
--- a/mail_autosubscribe/__manifest__.py
+++ b/mail_autosubscribe/__manifest__.py
@@ -5,7 +5,7 @@
{
"name": "Mail Autosubscribe",
"summary": "Automatically subscribe partners to its company's business documents",
- "version": "15.0.1.0.0",
+ "version": "15.0.1.0.1",
"author": "Camptocamp SA, Odoo Community Association (OCA)",
"license": "AGPL-3",
"category": "Marketing",
From fccc6ea6052eeb12d54741bb2717c82d3fabb2a9 Mon Sep 17 00:00:00 2001
From: Joel Zilli
Date: Tue, 5 Jul 2022 13:27:33 -0300
Subject: [PATCH 11/17] [FIX] mail_autosubscribe: check partners type
make sure partner is a tuple
---
mail_autosubscribe/models/mail_thread.py | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/mail_autosubscribe/models/mail_thread.py b/mail_autosubscribe/models/mail_thread.py
index be8d4738c..e8ffeceb0 100644
--- a/mail_autosubscribe/models/mail_thread.py
+++ b/mail_autosubscribe/models/mail_thread.py
@@ -19,7 +19,10 @@ class MailThread(models.AbstractModel):
for follower in followers
if follower not in partners and follower not in self.message_partner_ids
]
- partner_ids += follower_ids
+ if isinstance(partner_ids, tuple):
+ partner_ids += tuple(follower_ids)
+ else:
+ partner_ids += follower_ids
return super().message_subscribe(
partner_ids=partner_ids,
subtype_ids=subtype_ids,
From 917064be82ce5c21fff995ea41410761113e4c21 Mon Sep 17 00:00:00 2001
From: yajo
Date: Thu, 7 Jul 2022 07:20:18 +0000
Subject: [PATCH 12/17] [FIX] mail_autosubscribe: missing dependency
This should fix the tests, that are currently failing on CI with:
```
2022-07-05 16:19:13,250 259 INFO odoo odoo.service.server: Starting post tests
2022-07-05 16:19:13,253 259 ERROR odoo odoo.tests.loader: Can not `import mail_autosubscribe`.
Traceback (most recent call last):
File "/opt/odoo/odoo/tests/loader.py", line 33, in _get_tests_modules
mod = importlib.import_module('.tests', modpath)
File "/usr/lib/python3.8/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 1014, in _gcd_import
File "", line 991, in _find_and_load
File "", line 975, in _find_and_load_unlocked
File "", line 671, in _load_unlocked
File "", line 848, in exec_module
File "", line 219, in _call_with_frames_removed
File "/__w/social/social/mail_autosubscribe/tests/__init__.py", line 1, in
from . import test_mail_autosubscribe
File "/__w/social/social/mail_autosubscribe/tests/test_mail_autosubscribe.py", line 5, in
from odoo_test_helper import FakeModelLoader
ModuleNotFoundError: No module named 'odoo_test_helper'
```
---
mail_autosubscribe/__manifest__.py | 3 +++
mail_autosubscribe/readme/CONTRIBUTORS.rst | 4 ++++
2 files changed, 7 insertions(+)
diff --git a/mail_autosubscribe/__manifest__.py b/mail_autosubscribe/__manifest__.py
index 2a9e5d632..0183c34f3 100644
--- a/mail_autosubscribe/__manifest__.py
+++ b/mail_autosubscribe/__manifest__.py
@@ -10,6 +10,9 @@
"license": "AGPL-3",
"category": "Marketing",
"depends": ["mail"],
+ "external_dependencies": {
+ "python": ["odoo_test_helper"],
+ },
"website": "https://github.com/OCA/social",
"data": [
"security/ir.model.access.csv",
diff --git a/mail_autosubscribe/readme/CONTRIBUTORS.rst b/mail_autosubscribe/readme/CONTRIBUTORS.rst
index df7472d00..0024277d9 100644
--- a/mail_autosubscribe/readme/CONTRIBUTORS.rst
+++ b/mail_autosubscribe/readme/CONTRIBUTORS.rst
@@ -1,3 +1,7 @@
* `Camptocamp `_
* Iván Todorovich
+
+* `Moduon `__
+
+ * Jairo Llopis
From 7c1e79258f20d401ffa51cf2b75a86e085080954 Mon Sep 17 00:00:00 2001
From: nicolas
Date: Fri, 8 Jul 2022 08:31:34 -0300
Subject: [PATCH 13/17] [FIX] mail_autosubscribe: fix email template
---
mail_autosubscribe/tests/test_mail_autosubscribe.py | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/mail_autosubscribe/tests/test_mail_autosubscribe.py b/mail_autosubscribe/tests/test_mail_autosubscribe.py
index 6c16f0368..27969c827 100644
--- a/mail_autosubscribe/tests/test_mail_autosubscribe.py
+++ b/mail_autosubscribe/tests/test_mail_autosubscribe.py
@@ -28,8 +28,8 @@ class TestMailAutosubscribe(TransactionCase):
{
"model_id": cls.fake_order_model.id,
"name": "Fake Order: Send by Mail",
- "subject": "Fake Order: ${object.partner_id.name}",
- "partner_to": "${object.partner_id.id}",
+ "subject": "Fake Order: {{object.partner_id.name}}",
+ "partner_to": "{{object.partner_id.id}}",
"body_html": "Hello, this is a fake order",
}
)
@@ -111,7 +111,7 @@ class TestMailAutosubscribe(TransactionCase):
default_composition_mode="comment",
)
)
- composer.save().send_mail()
+ composer.save().action_send_mail()
message = self.order.message_ids[0]
self.assertEqual(message.partner_ids, self.partner_2 | self.partner_3)
@@ -127,6 +127,6 @@ class TestMailAutosubscribe(TransactionCase):
default_composition_mode="comment",
)
)
- composer.save().send_mail()
+ composer.save().action_send_mail()
message = self.order.message_ids[0]
self.assertEqual(message.partner_ids, self.partner_2)
From dcc7e691ad371299a55700f5950b74105b3f206f Mon Sep 17 00:00:00 2001
From: OCA-git-bot
Date: Mon, 11 Jul 2022 06:30:37 +0000
Subject: [PATCH 14/17] [UPD] README.rst
---
mail_autosubscribe/README.rst | 4 ++++
mail_autosubscribe/static/description/index.html | 7 +++++++
2 files changed, 11 insertions(+)
diff --git a/mail_autosubscribe/README.rst b/mail_autosubscribe/README.rst
index 67a6ed924..3ba053c03 100644
--- a/mail_autosubscribe/README.rst
+++ b/mail_autosubscribe/README.rst
@@ -80,6 +80,10 @@ Contributors
* Iván Todorovich
+* `Moduon `__
+
+ * Jairo Llopis
+
Maintainers
~~~~~~~~~~~
diff --git a/mail_autosubscribe/static/description/index.html b/mail_autosubscribe/static/description/index.html
index d075ad76f..3f280f7af 100644
--- a/mail_autosubscribe/static/description/index.html
+++ b/mail_autosubscribe/static/description/index.html
@@ -429,6 +429,13 @@ If you spotted it first, help us smashing it by providing a detailed and welcome
+Moduon
+
+
+
+
From 9698c73a19b5643e8d7a7a1217aa638bc1e48201 Mon Sep 17 00:00:00 2001
From: OCA-git-bot
Date: Mon, 11 Jul 2022 06:30:37 +0000
Subject: [PATCH 15/17] mail_autosubscribe 15.0.1.0.2
---
mail_autosubscribe/__manifest__.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mail_autosubscribe/__manifest__.py b/mail_autosubscribe/__manifest__.py
index 0183c34f3..7d55b17ab 100644
--- a/mail_autosubscribe/__manifest__.py
+++ b/mail_autosubscribe/__manifest__.py
@@ -5,7 +5,7 @@
{
"name": "Mail Autosubscribe",
"summary": "Automatically subscribe partners to its company's business documents",
- "version": "15.0.1.0.1",
+ "version": "15.0.1.0.2",
"author": "Camptocamp SA, Odoo Community Association (OCA)",
"license": "AGPL-3",
"category": "Marketing",
From 229606426ed779bb7ec4dcd03d68c463e749bffb Mon Sep 17 00:00:00 2001
From: OCA-git-bot
Date: Thu, 21 Jul 2022 06:32:31 +0000
Subject: [PATCH 16/17] mail_autosubscribe 15.0.1.0.3
---
mail_autosubscribe/__manifest__.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mail_autosubscribe/__manifest__.py b/mail_autosubscribe/__manifest__.py
index 7d55b17ab..03c582c49 100644
--- a/mail_autosubscribe/__manifest__.py
+++ b/mail_autosubscribe/__manifest__.py
@@ -5,7 +5,7 @@
{
"name": "Mail Autosubscribe",
"summary": "Automatically subscribe partners to its company's business documents",
- "version": "15.0.1.0.2",
+ "version": "15.0.1.0.3",
"author": "Camptocamp SA, Odoo Community Association (OCA)",
"license": "AGPL-3",
"category": "Marketing",
From 416abcdc7f7fa0a965c6a526ef6b7399adc0cd47 Mon Sep 17 00:00:00 2001
From: Vandan Pandeji
Date: Tue, 28 Mar 2023 23:01:42 +0530
Subject: [PATCH 17/17] [MIG]Dmail_autosubscribe: Migration to V16.0
---
mail_autosubscribe/__manifest__.py | 2 +-
requirements.txt | 2 ++
setup/mail_autosubscribe/odoo/addons/mail_autosubscribe | 1 +
setup/mail_autosubscribe/setup.py | 6 ++++++
4 files changed, 10 insertions(+), 1 deletion(-)
create mode 100644 requirements.txt
create mode 120000 setup/mail_autosubscribe/odoo/addons/mail_autosubscribe
create mode 100644 setup/mail_autosubscribe/setup.py
diff --git a/mail_autosubscribe/__manifest__.py b/mail_autosubscribe/__manifest__.py
index 03c582c49..5c0c9100f 100644
--- a/mail_autosubscribe/__manifest__.py
+++ b/mail_autosubscribe/__manifest__.py
@@ -5,7 +5,7 @@
{
"name": "Mail Autosubscribe",
"summary": "Automatically subscribe partners to its company's business documents",
- "version": "15.0.1.0.3",
+ "version": "16.0.1.0.0",
"author": "Camptocamp SA, Odoo Community Association (OCA)",
"license": "AGPL-3",
"category": "Marketing",
diff --git a/requirements.txt b/requirements.txt
new file mode 100644
index 000000000..fb06c6fa4
--- /dev/null
+++ b/requirements.txt
@@ -0,0 +1,2 @@
+# generated from manifests external_dependencies
+odoo_test_helper
diff --git a/setup/mail_autosubscribe/odoo/addons/mail_autosubscribe b/setup/mail_autosubscribe/odoo/addons/mail_autosubscribe
new file mode 120000
index 000000000..c5e462451
--- /dev/null
+++ b/setup/mail_autosubscribe/odoo/addons/mail_autosubscribe
@@ -0,0 +1 @@
+../../../../mail_autosubscribe
\ No newline at end of file
diff --git a/setup/mail_autosubscribe/setup.py b/setup/mail_autosubscribe/setup.py
new file mode 100644
index 000000000..28c57bb64
--- /dev/null
+++ b/setup/mail_autosubscribe/setup.py
@@ -0,0 +1,6 @@
+import setuptools
+
+setuptools.setup(
+ setup_requires=['setuptools-odoo'],
+ odoo_addon=True,
+)