From e54214486b864e9ebe69d4828d3dffeb943e6641 Mon Sep 17 00:00:00 2001
From: Holger Brunn
Date: Wed, 8 Jul 2015 11:32:21 +0200
Subject: [PATCH 01/36] [ADD] mail_restrict_follower_selection
---
mail_restrict_follower_selection/README.rst | 57 ++++++++++++++++++
mail_restrict_follower_selection/__init__.py | 20 ++++++
.../__openerp__.py | 41 +++++++++++++
.../data/ir_actions.xml | 15 +++++
.../data/ir_config_parameter.xml | 9 +++
.../models/__init__.py | 20 ++++++
.../models/mail_wizard_invite.py | 48 +++++++++++++++
.../static/description/icon.png | Bin 0 -> 9455 bytes
.../tests/__init__.py | 21 +++++++
.../test_mail_restrict_follower_selection.py | 31 ++++++++++
10 files changed, 262 insertions(+)
create mode 100644 mail_restrict_follower_selection/README.rst
create mode 100644 mail_restrict_follower_selection/__init__.py
create mode 100644 mail_restrict_follower_selection/__openerp__.py
create mode 100644 mail_restrict_follower_selection/data/ir_actions.xml
create mode 100644 mail_restrict_follower_selection/data/ir_config_parameter.xml
create mode 100644 mail_restrict_follower_selection/models/__init__.py
create mode 100644 mail_restrict_follower_selection/models/mail_wizard_invite.py
create mode 100644 mail_restrict_follower_selection/static/description/icon.png
create mode 100644 mail_restrict_follower_selection/tests/__init__.py
create mode 100644 mail_restrict_follower_selection/tests/test_mail_restrict_follower_selection.py
diff --git a/mail_restrict_follower_selection/README.rst b/mail_restrict_follower_selection/README.rst
new file mode 100644
index 0000000000..5a633d5323
--- /dev/null
+++ b/mail_restrict_follower_selection/README.rst
@@ -0,0 +1,57 @@
+.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg
+ :alt: License: AGPL-3
+Restrict follower selection
+===========================
+
+This module was written to allow you to restrict the selection of possible followers. For example, if you use the social ERP functions only internally, it makes sense to filter possible followers for being employees. Otherwise, you'll get a quite crowded list of partners to choose from.
+
+Configuration
+=============
+
+To configure this module, you need to go to `System parameters` and adjust `mail_restrict_follower_selection.domain` as you see fit. This restricts followers globally, if you want to restrict only the followers for a certain record type (or have different restrictions for different record types), create a parameter `mail_restrict_follower_selection.domain.$your_model`.
+
+As an example, you could use `[('customer', '=', True)]` to allow only customers to be added as follower.
+
+Note: This module won't change existing followers!
+
+Usage
+=====
+
+.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas
+ :alt: Try me on Runbot
+ :target: https://runbot.odoo-community.org/runbot/205/8.0
+
+For further information, please visit:
+
+* https://www.odoo.com/forum/help-1
+
+Bug Tracker
+===========
+
+Bugs are tracked on `GitHub Issues `_.
+In case of trouble, please check there if your issue has already been reported.
+If you spotted it first, help us smashing it by providing a detailed and welcomed feedback
+`here `_.
+
+Credits
+=======
+
+Contributors
+------------
+
+* Holger Brunn
+
+Maintainer
+----------
+
+.. image:: https://odoo-community.org/logo.png
+ :alt: Odoo Community Association
+ :target: https://odoo-community.org
+
+This module is maintained by the OCA.
+
+OCA, or the Odoo Community Association, is a nonprofit organization whose
+mission is to support the collaborative development of Odoo features and
+promote its widespread use.
+
+To contribute to this module, please visit http://odoo-community.org.
diff --git a/mail_restrict_follower_selection/__init__.py b/mail_restrict_follower_selection/__init__.py
new file mode 100644
index 0000000000..cdb7d7368e
--- /dev/null
+++ b/mail_restrict_follower_selection/__init__.py
@@ -0,0 +1,20 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+# This module copyright (C) 2015 Therp BV .
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see .
+#
+##############################################################################
+from . import models
diff --git a/mail_restrict_follower_selection/__openerp__.py b/mail_restrict_follower_selection/__openerp__.py
new file mode 100644
index 0000000000..9d242619da
--- /dev/null
+++ b/mail_restrict_follower_selection/__openerp__.py
@@ -0,0 +1,41 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+# OpenERP, Open Source Management Solution
+# This module copyright (C) 2015 Therp BV .
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see .
+#
+##############################################################################
+{
+ "name": "Restrict follower selection",
+ "version": "8.0.1.0.0",
+ "author": "Therp BV,Odoo Community Association (OCA)",
+ "license": "AGPL-3",
+ "category": "Social Network",
+ "summary": "Define a domain from which followers can be selected",
+ "depends": [
+ 'mail',
+ ],
+ "data": [
+ "data/ir_config_parameter.xml",
+ "data/ir_actions.xml",
+ ],
+ "auto_install": False,
+ "installable": True,
+ "application": False,
+ "external_dependencies": {
+ 'python': [],
+ },
+}
diff --git a/mail_restrict_follower_selection/data/ir_actions.xml b/mail_restrict_follower_selection/data/ir_actions.xml
new file mode 100644
index 0000000000..0b0859821a
--- /dev/null
+++ b/mail_restrict_follower_selection/data/ir_actions.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+ Configure the restriction on followers
+ automatic
+
+
+
+
diff --git a/mail_restrict_follower_selection/data/ir_config_parameter.xml b/mail_restrict_follower_selection/data/ir_config_parameter.xml
new file mode 100644
index 0000000000..25c093cb0b
--- /dev/null
+++ b/mail_restrict_follower_selection/data/ir_config_parameter.xml
@@ -0,0 +1,9 @@
+
+
+
+
+ mail_restrict_follower_selection.domain
+ [('employee', '=', True)]
+
+
+
diff --git a/mail_restrict_follower_selection/models/__init__.py b/mail_restrict_follower_selection/models/__init__.py
new file mode 100644
index 0000000000..cc7bb9cdd5
--- /dev/null
+++ b/mail_restrict_follower_selection/models/__init__.py
@@ -0,0 +1,20 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+# This module copyright (C) 2015 Therp BV .
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see .
+#
+##############################################################################
+from . import mail_wizard_invite
diff --git a/mail_restrict_follower_selection/models/mail_wizard_invite.py b/mail_restrict_follower_selection/models/mail_wizard_invite.py
new file mode 100644
index 0000000000..5d0e7ee2bd
--- /dev/null
+++ b/mail_restrict_follower_selection/models/mail_wizard_invite.py
@@ -0,0 +1,48 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+# This module copyright (C) 2015 Therp BV ().
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see .
+#
+##############################################################################
+from lxml import etree
+from openerp import models, api
+
+
+class MailWizardInvite(models.TransientModel):
+ _inherit = 'mail.wizard.invite'
+
+ @api.model
+ def _mail_restrict_follower_selection_get_domain(self):
+ parameter_name = 'mail_restrict_follower_selection.domain'
+ return self.env['ir.config_parameter'].get_param(
+ '%s.%s' % (parameter_name,
+ self.env.context.get('default_res_model')),
+ self.env['ir.config_parameter'].get_param(
+ parameter_name, default='[]')
+ )
+
+ @api.model
+ def fields_view_get(self, view_id=None, view_type='form', toolbar=False,
+ submenu=False):
+ result = super(MailWizardInvite, self).fields_view_get(
+ view_id=view_id, view_type=view_type, toolbar=toolbar,
+ submenu=submenu)
+ arch = etree.fromstring(result['arch'])
+ for field in arch.xpath('//field[@name="partner_ids"]'):
+ field.attrib['domain'] = self\
+ ._mail_restrict_follower_selection_get_domain()
+ result['arch'] = etree.tostring(arch)
+ return result
diff --git a/mail_restrict_follower_selection/static/description/icon.png b/mail_restrict_follower_selection/static/description/icon.png
new file mode 100644
index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d
GIT binary patch
literal 9455
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
z
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
Xviia!U7SGha1wx#SCgwmn*{w2TRX*I
literal 0
HcmV?d00001
diff --git a/mail_restrict_follower_selection/tests/__init__.py b/mail_restrict_follower_selection/tests/__init__.py
new file mode 100644
index 0000000000..6d2a768a84
--- /dev/null
+++ b/mail_restrict_follower_selection/tests/__init__.py
@@ -0,0 +1,21 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+# OpenERP, Open Source Management Solution
+# This module copyright (C) 2015 Therp BV .
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see .
+#
+##############################################################################
+from . import test_mail_restrict_follower_selection
diff --git a/mail_restrict_follower_selection/tests/test_mail_restrict_follower_selection.py b/mail_restrict_follower_selection/tests/test_mail_restrict_follower_selection.py
new file mode 100644
index 0000000000..b89567ea2e
--- /dev/null
+++ b/mail_restrict_follower_selection/tests/test_mail_restrict_follower_selection.py
@@ -0,0 +1,31 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+# OpenERP, Open Source Management Solution
+# This module copyright (C) 2015 Therp BV ().
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see .
+#
+##############################################################################
+from lxml import etree
+from openerp.tests.common import TransactionCase
+
+
+class TestMailRestrictFollowerSelection(TransactionCase):
+ def test_fields_view_get(self):
+ result = self.env['mail.wizard.invite'].fields_view_get(
+ view_type='form')
+ for field in etree.fromstring(result['arch']).xpath(
+ '//field[@name="partner_ids"]'):
+ self.assertTrue(field.get('domain'))
From 3d21c77590c04dc89223308f256f2c886817cbd4 Mon Sep 17 00:00:00 2001
From: Holger Brunn
Date: Fri, 4 Sep 2015 10:37:33 +0200
Subject: [PATCH 02/36] [FIX] better default filter
---
mail_restrict_follower_selection/README.rst | 2 +-
mail_restrict_follower_selection/data/ir_config_parameter.xml | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/mail_restrict_follower_selection/README.rst b/mail_restrict_follower_selection/README.rst
index 5a633d5323..05ecfeb749 100644
--- a/mail_restrict_follower_selection/README.rst
+++ b/mail_restrict_follower_selection/README.rst
@@ -10,7 +10,7 @@ Configuration
To configure this module, you need to go to `System parameters` and adjust `mail_restrict_follower_selection.domain` as you see fit. This restricts followers globally, if you want to restrict only the followers for a certain record type (or have different restrictions for different record types), create a parameter `mail_restrict_follower_selection.domain.$your_model`.
-As an example, you could use `[('customer', '=', True)]` to allow only customers to be added as follower.
+As an example, you could use `[('customer', '=', True)]` to allow only customers to be added as follower - this also is the default.
Note: This module won't change existing followers!
diff --git a/mail_restrict_follower_selection/data/ir_config_parameter.xml b/mail_restrict_follower_selection/data/ir_config_parameter.xml
index 25c093cb0b..280ae711be 100644
--- a/mail_restrict_follower_selection/data/ir_config_parameter.xml
+++ b/mail_restrict_follower_selection/data/ir_config_parameter.xml
@@ -3,7 +3,7 @@
mail_restrict_follower_selection.domain
- [('employee', '=', True)]
+ [('customer', '=', True)]
From ea61194f85da8df084ad3228129a427f4d95fd8a Mon Sep 17 00:00:00 2001
From: "Pedro M. Baeza"
Date: Wed, 14 Oct 2015 02:54:06 +0200
Subject: [PATCH 03/36] [MIG] Make modules uninstallable
---
mail_restrict_follower_selection/__openerp__.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mail_restrict_follower_selection/__openerp__.py b/mail_restrict_follower_selection/__openerp__.py
index 9d242619da..80cdcf2703 100644
--- a/mail_restrict_follower_selection/__openerp__.py
+++ b/mail_restrict_follower_selection/__openerp__.py
@@ -33,7 +33,7 @@
"data/ir_actions.xml",
],
"auto_install": False,
- "installable": True,
+ 'installable': False,
"application": False,
"external_dependencies": {
'python': [],
From 1b666bf8a1ef88e70a62422fb0d2e64740d25065 Mon Sep 17 00:00:00 2001
From: "Pedro M. Baeza"
Date: Thu, 6 Oct 2016 16:08:42 +0200
Subject: [PATCH 04/36] [MIG] Rename manifest files
---
.../{__openerp__.py => __manifest__.py} | 0
1 file changed, 0 insertions(+), 0 deletions(-)
rename mail_restrict_follower_selection/{__openerp__.py => __manifest__.py} (100%)
diff --git a/mail_restrict_follower_selection/__openerp__.py b/mail_restrict_follower_selection/__manifest__.py
similarity index 100%
rename from mail_restrict_follower_selection/__openerp__.py
rename to mail_restrict_follower_selection/__manifest__.py
From f3c285a0cd7d6bd844bae62be04b7ec881e52b96 Mon Sep 17 00:00:00 2001
From: Damien Bouvy
Date: Fri, 14 Oct 2016 19:40:18 +0200
Subject: [PATCH 05/36] [MIG] mail_restrict_follower_selection: Migrated to
10.0
---
mail_restrict_follower_selection/README.rst | 2 +-
.../__manifest__.py | 4 +--
.../data/ir_actions.xml | 26 ++++++++---------
.../data/ir_config_parameter.xml | 14 ++++-----
mail_restrict_follower_selection/i18n/en.po | 28 ++++++++++++++++++
mail_restrict_follower_selection/i18n/fr.po | 29 +++++++++++++++++++
mail_restrict_follower_selection/i18n/hr.po | 29 +++++++++++++++++++
mail_restrict_follower_selection/i18n/it.po | 29 +++++++++++++++++++
mail_restrict_follower_selection/i18n/sl.po | 29 +++++++++++++++++++
.../models/mail_wizard_invite.py | 2 +-
10 files changed, 166 insertions(+), 26 deletions(-)
create mode 100644 mail_restrict_follower_selection/i18n/en.po
create mode 100644 mail_restrict_follower_selection/i18n/fr.po
create mode 100644 mail_restrict_follower_selection/i18n/hr.po
create mode 100644 mail_restrict_follower_selection/i18n/it.po
create mode 100644 mail_restrict_follower_selection/i18n/sl.po
diff --git a/mail_restrict_follower_selection/README.rst b/mail_restrict_follower_selection/README.rst
index 05ecfeb749..97c76b0f37 100644
--- a/mail_restrict_follower_selection/README.rst
+++ b/mail_restrict_follower_selection/README.rst
@@ -19,7 +19,7 @@ Usage
.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas
:alt: Try me on Runbot
- :target: https://runbot.odoo-community.org/runbot/205/8.0
+ :target: https://runbot.odoo-community.org/runbot/205/10.0
For further information, please visit:
diff --git a/mail_restrict_follower_selection/__manifest__.py b/mail_restrict_follower_selection/__manifest__.py
index 80cdcf2703..a6d9c17d1e 100644
--- a/mail_restrict_follower_selection/__manifest__.py
+++ b/mail_restrict_follower_selection/__manifest__.py
@@ -20,7 +20,7 @@
##############################################################################
{
"name": "Restrict follower selection",
- "version": "8.0.1.0.0",
+ "version": "10.0.1.0.0",
"author": "Therp BV,Odoo Community Association (OCA)",
"license": "AGPL-3",
"category": "Social Network",
@@ -33,7 +33,7 @@
"data/ir_actions.xml",
],
"auto_install": False,
- 'installable': False,
+ 'installable': True,
"application": False,
"external_dependencies": {
'python': [],
diff --git a/mail_restrict_follower_selection/data/ir_actions.xml b/mail_restrict_follower_selection/data/ir_actions.xml
index 0b0859821a..39462e539a 100644
--- a/mail_restrict_follower_selection/data/ir_actions.xml
+++ b/mail_restrict_follower_selection/data/ir_actions.xml
@@ -1,15 +1,13 @@
-
-
-
-
-
-
-
- Configure the restriction on followers
- automatic
-
-
-
-
+
+
+
+
+
+
+ Configure the restriction on followers
+ automatic
+
+
+
diff --git a/mail_restrict_follower_selection/data/ir_config_parameter.xml b/mail_restrict_follower_selection/data/ir_config_parameter.xml
index 280ae711be..f4a1daf2eb 100644
--- a/mail_restrict_follower_selection/data/ir_config_parameter.xml
+++ b/mail_restrict_follower_selection/data/ir_config_parameter.xml
@@ -1,9 +1,7 @@
-
-
-
- mail_restrict_follower_selection.domain
- [('customer', '=', True)]
-
-
-
+
+
+ mail_restrict_follower_selection.domain
+ [('customer', '=', True)]
+
+
diff --git a/mail_restrict_follower_selection/i18n/en.po b/mail_restrict_follower_selection/i18n/en.po
new file mode 100644
index 0000000000..1d50b01487
--- /dev/null
+++ b/mail_restrict_follower_selection/i18n/en.po
@@ -0,0 +1,28 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * mail_restrict_follower_selection
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: social (8.0)\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2015-09-30 16:56+0000\n"
+"PO-Revision-Date: 2015-09-30 16:56+0000\n"
+"Last-Translator: OCA Transbot \n"
+"Language-Team: English (http://www.transifex.com/oca/OCA-social-8-0/language/en/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: en\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. module: mail_restrict_follower_selection
+#: model:ir.actions.act_window,name:mail_restrict_follower_selection.action_setup
+msgid "Configure the restriction on followers"
+msgstr "Configure the restriction on followers"
+
+#. module: mail_restrict_follower_selection
+#: model:ir.model,name:mail_restrict_follower_selection.model_mail_wizard_invite
+msgid "Invite wizard"
+msgstr "Invite wizard"
diff --git a/mail_restrict_follower_selection/i18n/fr.po b/mail_restrict_follower_selection/i18n/fr.po
new file mode 100644
index 0000000000..496e862f3e
--- /dev/null
+++ b/mail_restrict_follower_selection/i18n/fr.po
@@ -0,0 +1,29 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * mail_restrict_follower_selection
+#
+# Translators:
+# Quentin THEURET , 2017
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 10.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2017-07-22 09:45+0000\n"
+"PO-Revision-Date: 2017-07-22 09:45+0000\n"
+"Last-Translator: Quentin THEURET , 2017\n"
+"Language-Team: French (https://www.transifex.com/oca/teams/23907/fr/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: fr\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#. module: mail_restrict_follower_selection
+#: model:ir.actions.act_window,name:mail_restrict_follower_selection.action_setup
+msgid "Configure the restriction on followers"
+msgstr "Configurer les restrictions sur les abonnés"
+
+#. module: mail_restrict_follower_selection
+#: model:ir.model,name:mail_restrict_follower_selection.model_mail_wizard_invite
+msgid "Invite wizard"
+msgstr "Assistant d'invitation"
diff --git a/mail_restrict_follower_selection/i18n/hr.po b/mail_restrict_follower_selection/i18n/hr.po
new file mode 100644
index 0000000000..2986af18e1
--- /dev/null
+++ b/mail_restrict_follower_selection/i18n/hr.po
@@ -0,0 +1,29 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * mail_restrict_follower_selection
+#
+# Translators:
+# Bole , 2016
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 10.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2016-11-29 14:24+0000\n"
+"PO-Revision-Date: 2016-11-29 14:24+0000\n"
+"Last-Translator: Bole , 2016\n"
+"Language-Team: Croatian (https://www.transifex.com/oca/teams/23907/hr/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: hr\n"
+"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
+
+#. module: mail_restrict_follower_selection
+#: model:ir.actions.act_window,name:mail_restrict_follower_selection.action_setup
+msgid "Configure the restriction on followers"
+msgstr "Postavi ograničenja na pratitelje"
+
+#. module: mail_restrict_follower_selection
+#: model:ir.model,name:mail_restrict_follower_selection.model_mail_wizard_invite
+msgid "Invite wizard"
+msgstr "Čarobnjak za pozivnce"
diff --git a/mail_restrict_follower_selection/i18n/it.po b/mail_restrict_follower_selection/i18n/it.po
new file mode 100644
index 0000000000..b3df718014
--- /dev/null
+++ b/mail_restrict_follower_selection/i18n/it.po
@@ -0,0 +1,29 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * mail_restrict_follower_selection
+#
+# Translators:
+# Marius Marolla , 2017
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 10.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2017-05-17 01:02+0000\n"
+"PO-Revision-Date: 2017-05-17 01:02+0000\n"
+"Last-Translator: Marius Marolla , 2017\n"
+"Language-Team: Italian (https://www.transifex.com/oca/teams/23907/it/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: it\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. module: mail_restrict_follower_selection
+#: model:ir.actions.act_window,name:mail_restrict_follower_selection.action_setup
+msgid "Configure the restriction on followers"
+msgstr "Imposta restrizioni sui follower"
+
+#. module: mail_restrict_follower_selection
+#: model:ir.model,name:mail_restrict_follower_selection.model_mail_wizard_invite
+msgid "Invite wizard"
+msgstr "Wizard Creazione Invito"
diff --git a/mail_restrict_follower_selection/i18n/sl.po b/mail_restrict_follower_selection/i18n/sl.po
new file mode 100644
index 0000000000..370eb81861
--- /dev/null
+++ b/mail_restrict_follower_selection/i18n/sl.po
@@ -0,0 +1,29 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * mail_restrict_follower_selection
+#
+# Translators:
+# Matjaž Mozetič , 2015
+msgid ""
+msgstr ""
+"Project-Id-Version: social (8.0)\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2015-09-30 16:56+0000\n"
+"PO-Revision-Date: 2015-10-01 13:00+0000\n"
+"Last-Translator: Matjaž Mozetič \n"
+"Language-Team: Slovenian (http://www.transifex.com/oca/OCA-social-8-0/language/sl/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: sl\n"
+"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n"
+
+#. module: mail_restrict_follower_selection
+#: model:ir.actions.act_window,name:mail_restrict_follower_selection.action_setup
+msgid "Configure the restriction on followers"
+msgstr "Nastavitev omejitev za sledilce"
+
+#. module: mail_restrict_follower_selection
+#: model:ir.model,name:mail_restrict_follower_selection.model_mail_wizard_invite
+msgid "Invite wizard"
+msgstr "Čarovnik za vabila"
diff --git a/mail_restrict_follower_selection/models/mail_wizard_invite.py b/mail_restrict_follower_selection/models/mail_wizard_invite.py
index 5d0e7ee2bd..5ca0c7a576 100644
--- a/mail_restrict_follower_selection/models/mail_wizard_invite.py
+++ b/mail_restrict_follower_selection/models/mail_wizard_invite.py
@@ -18,7 +18,7 @@
#
##############################################################################
from lxml import etree
-from openerp import models, api
+from odoo import models, api
class MailWizardInvite(models.TransientModel):
From 991ceba4c6279c17f9d9276372ce0bffc0a7138f Mon Sep 17 00:00:00 2001
From: phucngta
Date: Tue, 6 Mar 2018 15:18:36 +0700
Subject: [PATCH 06/36] [11.0][MIG] mail_restrict_follower_selection
---
mail_restrict_follower_selection/README.rst | 5 +++-
mail_restrict_follower_selection/__init__.py | 23 +++------------
.../__manifest__.py | 26 ++++-------------
.../data/ir_actions.xml | 1 -
.../models/__init__.py | 23 +++------------
.../models/mail_wizard_invite.py | 29 +++++--------------
.../tests/__init__.py | 24 +++------------
.../test_mail_restrict_follower_selection.py | 25 ++++------------
8 files changed, 33 insertions(+), 123 deletions(-)
diff --git a/mail_restrict_follower_selection/README.rst b/mail_restrict_follower_selection/README.rst
index 97c76b0f37..bbcd1aebf4 100644
--- a/mail_restrict_follower_selection/README.rst
+++ b/mail_restrict_follower_selection/README.rst
@@ -1,5 +1,7 @@
.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg
- :alt: License: AGPL-3
+ :alt: License: AGPL-3
+
+===========================
Restrict follower selection
===========================
@@ -40,6 +42,7 @@ Contributors
------------
* Holger Brunn
+* Nguyen Tan Phuc
Maintainer
----------
diff --git a/mail_restrict_follower_selection/__init__.py b/mail_restrict_follower_selection/__init__.py
index cdb7d7368e..9537e12db4 100644
--- a/mail_restrict_follower_selection/__init__.py
+++ b/mail_restrict_follower_selection/__init__.py
@@ -1,20 +1,5 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-# This module copyright (C) 2015 Therp BV .
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see .
-#
-##############################################################################
+# Copyright (C) 2015 Therp BV
+# Copyright (C) 2017 Komit
+# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
+
from . import models
diff --git a/mail_restrict_follower_selection/__manifest__.py b/mail_restrict_follower_selection/__manifest__.py
index a6d9c17d1e..2f81a54892 100644
--- a/mail_restrict_follower_selection/__manifest__.py
+++ b/mail_restrict_follower_selection/__manifest__.py
@@ -1,26 +1,10 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-# OpenERP, Open Source Management Solution
-# This module copyright (C) 2015 Therp BV .
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see .
-#
-##############################################################################
+# Copyright (C) 2015 Therp BV
+# Copyright (C) 2017 Komit
+# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
+
{
"name": "Restrict follower selection",
- "version": "10.0.1.0.0",
+ "version": "11.0.1.0.0",
"author": "Therp BV,Odoo Community Association (OCA)",
"license": "AGPL-3",
"category": "Social Network",
diff --git a/mail_restrict_follower_selection/data/ir_actions.xml b/mail_restrict_follower_selection/data/ir_actions.xml
index 39462e539a..63c84f0241 100644
--- a/mail_restrict_follower_selection/data/ir_actions.xml
+++ b/mail_restrict_follower_selection/data/ir_actions.xml
@@ -7,7 +7,6 @@
Configure the restriction on followers
- automatic
diff --git a/mail_restrict_follower_selection/models/__init__.py b/mail_restrict_follower_selection/models/__init__.py
index cc7bb9cdd5..422ffaf54e 100644
--- a/mail_restrict_follower_selection/models/__init__.py
+++ b/mail_restrict_follower_selection/models/__init__.py
@@ -1,20 +1,5 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-# This module copyright (C) 2015 Therp BV .
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see .
-#
-##############################################################################
+# Copyright (C) 2015 Therp BV
+# Copyright (C) 2017 Komit
+# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
+
from . import mail_wizard_invite
diff --git a/mail_restrict_follower_selection/models/mail_wizard_invite.py b/mail_restrict_follower_selection/models/mail_wizard_invite.py
index 5ca0c7a576..216e26bb59 100644
--- a/mail_restrict_follower_selection/models/mail_wizard_invite.py
+++ b/mail_restrict_follower_selection/models/mail_wizard_invite.py
@@ -1,24 +1,9 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-# This module copyright (C) 2015 Therp BV ().
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see .
-#
-##############################################################################
+# Copyright (C) 2015 Therp BV
+# Copyright (C) 2017 Komit
+# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
+
from lxml import etree
-from odoo import models, api
+from odoo import api, models
class MailWizardInvite(models.TransientModel):
@@ -28,8 +13,8 @@ class MailWizardInvite(models.TransientModel):
def _mail_restrict_follower_selection_get_domain(self):
parameter_name = 'mail_restrict_follower_selection.domain'
return self.env['ir.config_parameter'].get_param(
- '%s.%s' % (parameter_name,
- self.env.context.get('default_res_model')),
+ "{0}.{1}".format(parameter_name,
+ self.env.context.get('default_res_model')),
self.env['ir.config_parameter'].get_param(
parameter_name, default='[]')
)
diff --git a/mail_restrict_follower_selection/tests/__init__.py b/mail_restrict_follower_selection/tests/__init__.py
index 6d2a768a84..10093c8f1b 100644
--- a/mail_restrict_follower_selection/tests/__init__.py
+++ b/mail_restrict_follower_selection/tests/__init__.py
@@ -1,21 +1,5 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-# OpenERP, Open Source Management Solution
-# This module copyright (C) 2015 Therp BV .
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see .
-#
-##############################################################################
+# Copyright (C) 2015 Therp BV
+# Copyright (C) 2017 Komit
+# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
+
from . import test_mail_restrict_follower_selection
diff --git a/mail_restrict_follower_selection/tests/test_mail_restrict_follower_selection.py b/mail_restrict_follower_selection/tests/test_mail_restrict_follower_selection.py
index b89567ea2e..d1905b1835 100644
--- a/mail_restrict_follower_selection/tests/test_mail_restrict_follower_selection.py
+++ b/mail_restrict_follower_selection/tests/test_mail_restrict_follower_selection.py
@@ -1,28 +1,13 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-# OpenERP, Open Source Management Solution
-# This module copyright (C) 2015 Therp BV ().
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see .
-#
-##############################################################################
+# Copyright (C) 2015 Therp BV
+# Copyright (C) 2017 Komit
+# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
+
from lxml import etree
from openerp.tests.common import TransactionCase
class TestMailRestrictFollowerSelection(TransactionCase):
+
def test_fields_view_get(self):
result = self.env['mail.wizard.invite'].fields_view_get(
view_type='form')
From 205c05f89e50c652e08441b250299c29e666e5cb Mon Sep 17 00:00:00 2001
From: Enric Tobella
Date: Wed, 4 Apr 2018 10:19:13 +0200
Subject: [PATCH 07/36] [IMP] disable the option to create followers that do
not meet the conditions
---
mail_restrict_follower_selection/README.rst | 5 ++-
.../__manifest__.py | 4 +-
mail_restrict_follower_selection/i18n/en.po | 12 ++++--
mail_restrict_follower_selection/i18n/fr.po | 9 +++-
mail_restrict_follower_selection/i18n/hr.po | 12 ++++--
mail_restrict_follower_selection/i18n/it.po | 9 +++-
.../i18n/mail_restrict_follower_selection.pot | 30 +++++++++++++
mail_restrict_follower_selection/i18n/sl.po | 15 +++++--
.../models/__init__.py | 1 +
.../models/mail_followers.py | 24 +++++++++++
.../models/mail_wizard_invite.py | 4 +-
.../test_mail_restrict_follower_selection.py | 43 ++++++++++++++++++-
12 files changed, 148 insertions(+), 20 deletions(-)
create mode 100644 mail_restrict_follower_selection/i18n/mail_restrict_follower_selection.pot
create mode 100644 mail_restrict_follower_selection/models/mail_followers.py
diff --git a/mail_restrict_follower_selection/README.rst b/mail_restrict_follower_selection/README.rst
index bbcd1aebf4..fb0656d429 100644
--- a/mail_restrict_follower_selection/README.rst
+++ b/mail_restrict_follower_selection/README.rst
@@ -7,6 +7,8 @@ Restrict follower selection
This module was written to allow you to restrict the selection of possible followers. For example, if you use the social ERP functions only internally, it makes sense to filter possible followers for being employees. Otherwise, you'll get a quite crowded list of partners to choose from.
+Moreover, the module disables the option to automatically add followers that do not meet the domain.
+
Configuration
=============
@@ -21,7 +23,7 @@ Usage
.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas
:alt: Try me on Runbot
- :target: https://runbot.odoo-community.org/runbot/205/10.0
+ :target: https://runbot.odoo-community.org/runbot/205/11.0
For further information, please visit:
@@ -43,6 +45,7 @@ Contributors
* Holger Brunn
* Nguyen Tan Phuc
+* Enric Tobella
Maintainer
----------
diff --git a/mail_restrict_follower_selection/__manifest__.py b/mail_restrict_follower_selection/__manifest__.py
index 2f81a54892..bfeb8bfcc9 100644
--- a/mail_restrict_follower_selection/__manifest__.py
+++ b/mail_restrict_follower_selection/__manifest__.py
@@ -4,8 +4,8 @@
{
"name": "Restrict follower selection",
- "version": "11.0.1.0.0",
- "author": "Therp BV,Odoo Community Association (OCA)",
+ "version": "11.0.2.0.0",
+ "author": "Therp BV,Creu Blanca,Odoo Community Association (OCA)",
"license": "AGPL-3",
"category": "Social Network",
"summary": "Define a domain from which followers can be selected",
diff --git a/mail_restrict_follower_selection/i18n/en.po b/mail_restrict_follower_selection/i18n/en.po
index 1d50b01487..b6c0235db4 100644
--- a/mail_restrict_follower_selection/i18n/en.po
+++ b/mail_restrict_follower_selection/i18n/en.po
@@ -1,7 +1,7 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * mail_restrict_follower_selection
-#
+#
# Translators:
msgid ""
msgstr ""
@@ -10,11 +10,12 @@ msgstr ""
"POT-Creation-Date: 2015-09-30 16:56+0000\n"
"PO-Revision-Date: 2015-09-30 16:56+0000\n"
"Last-Translator: OCA Transbot \n"
-"Language-Team: English (http://www.transifex.com/oca/OCA-social-8-0/language/en/)\n"
+"Language-Team: English (http://www.transifex.com/oca/OCA-social-8-0/language/"
+"en/)\n"
+"Language: en\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
-"Language: en\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: mail_restrict_follower_selection
@@ -22,6 +23,11 @@ msgstr ""
msgid "Configure the restriction on followers"
msgstr "Configure the restriction on followers"
+#. module: mail_restrict_follower_selection
+#: model:ir.model,name:mail_restrict_follower_selection.model_mail_followers
+msgid "Document Followers"
+msgstr ""
+
#. module: mail_restrict_follower_selection
#: model:ir.model,name:mail_restrict_follower_selection.model_mail_wizard_invite
msgid "Invite wizard"
diff --git a/mail_restrict_follower_selection/i18n/fr.po b/mail_restrict_follower_selection/i18n/fr.po
index 496e862f3e..4a8952177b 100644
--- a/mail_restrict_follower_selection/i18n/fr.po
+++ b/mail_restrict_follower_selection/i18n/fr.po
@@ -1,7 +1,7 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * mail_restrict_follower_selection
-#
+#
# Translators:
# Quentin THEURET , 2017
msgid ""
@@ -12,10 +12,10 @@ msgstr ""
"PO-Revision-Date: 2017-07-22 09:45+0000\n"
"Last-Translator: Quentin THEURET , 2017\n"
"Language-Team: French (https://www.transifex.com/oca/teams/23907/fr/)\n"
+"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
-"Language: fr\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#. module: mail_restrict_follower_selection
@@ -23,6 +23,11 @@ msgstr ""
msgid "Configure the restriction on followers"
msgstr "Configurer les restrictions sur les abonnés"
+#. module: mail_restrict_follower_selection
+#: model:ir.model,name:mail_restrict_follower_selection.model_mail_followers
+msgid "Document Followers"
+msgstr ""
+
#. module: mail_restrict_follower_selection
#: model:ir.model,name:mail_restrict_follower_selection.model_mail_wizard_invite
msgid "Invite wizard"
diff --git a/mail_restrict_follower_selection/i18n/hr.po b/mail_restrict_follower_selection/i18n/hr.po
index 2986af18e1..4d7bc08fef 100644
--- a/mail_restrict_follower_selection/i18n/hr.po
+++ b/mail_restrict_follower_selection/i18n/hr.po
@@ -1,7 +1,7 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * mail_restrict_follower_selection
-#
+#
# Translators:
# Bole , 2016
msgid ""
@@ -12,17 +12,23 @@ msgstr ""
"PO-Revision-Date: 2016-11-29 14:24+0000\n"
"Last-Translator: Bole , 2016\n"
"Language-Team: Croatian (https://www.transifex.com/oca/teams/23907/hr/)\n"
+"Language: hr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
-"Language: hr\n"
-"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
+"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
#. module: mail_restrict_follower_selection
#: model:ir.actions.act_window,name:mail_restrict_follower_selection.action_setup
msgid "Configure the restriction on followers"
msgstr "Postavi ograničenja na pratitelje"
+#. module: mail_restrict_follower_selection
+#: model:ir.model,name:mail_restrict_follower_selection.model_mail_followers
+msgid "Document Followers"
+msgstr ""
+
#. module: mail_restrict_follower_selection
#: model:ir.model,name:mail_restrict_follower_selection.model_mail_wizard_invite
msgid "Invite wizard"
diff --git a/mail_restrict_follower_selection/i18n/it.po b/mail_restrict_follower_selection/i18n/it.po
index b3df718014..10a71b6cd8 100644
--- a/mail_restrict_follower_selection/i18n/it.po
+++ b/mail_restrict_follower_selection/i18n/it.po
@@ -1,7 +1,7 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * mail_restrict_follower_selection
-#
+#
# Translators:
# Marius Marolla , 2017
msgid ""
@@ -12,10 +12,10 @@ msgstr ""
"PO-Revision-Date: 2017-05-17 01:02+0000\n"
"Last-Translator: Marius Marolla , 2017\n"
"Language-Team: Italian (https://www.transifex.com/oca/teams/23907/it/)\n"
+"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
-"Language: it\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: mail_restrict_follower_selection
@@ -23,6 +23,11 @@ msgstr ""
msgid "Configure the restriction on followers"
msgstr "Imposta restrizioni sui follower"
+#. module: mail_restrict_follower_selection
+#: model:ir.model,name:mail_restrict_follower_selection.model_mail_followers
+msgid "Document Followers"
+msgstr ""
+
#. module: mail_restrict_follower_selection
#: model:ir.model,name:mail_restrict_follower_selection.model_mail_wizard_invite
msgid "Invite wizard"
diff --git a/mail_restrict_follower_selection/i18n/mail_restrict_follower_selection.pot b/mail_restrict_follower_selection/i18n/mail_restrict_follower_selection.pot
new file mode 100644
index 0000000000..6bcf2f7bd6
--- /dev/null
+++ b/mail_restrict_follower_selection/i18n/mail_restrict_follower_selection.pot
@@ -0,0 +1,30 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * mail_restrict_follower_selection
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 11.0\n"
+"Report-Msgid-Bugs-To: \n"
+"Last-Translator: <>\n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: \n"
+
+#. module: mail_restrict_follower_selection
+#: model:ir.actions.act_window,name:mail_restrict_follower_selection.action_setup
+msgid "Configure the restriction on followers"
+msgstr ""
+
+#. module: mail_restrict_follower_selection
+#: model:ir.model,name:mail_restrict_follower_selection.model_mail_followers
+msgid "Document Followers"
+msgstr ""
+
+#. module: mail_restrict_follower_selection
+#: model:ir.model,name:mail_restrict_follower_selection.model_mail_wizard_invite
+msgid "Invite wizard"
+msgstr ""
+
diff --git a/mail_restrict_follower_selection/i18n/sl.po b/mail_restrict_follower_selection/i18n/sl.po
index 370eb81861..d64d0baab9 100644
--- a/mail_restrict_follower_selection/i18n/sl.po
+++ b/mail_restrict_follower_selection/i18n/sl.po
@@ -1,7 +1,7 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * mail_restrict_follower_selection
-#
+#
# Translators:
# Matjaž Mozetič , 2015
msgid ""
@@ -11,18 +11,25 @@ msgstr ""
"POT-Creation-Date: 2015-09-30 16:56+0000\n"
"PO-Revision-Date: 2015-10-01 13:00+0000\n"
"Last-Translator: Matjaž Mozetič \n"
-"Language-Team: Slovenian (http://www.transifex.com/oca/OCA-social-8-0/language/sl/)\n"
+"Language-Team: Slovenian (http://www.transifex.com/oca/OCA-social-8-0/"
+"language/sl/)\n"
+"Language: sl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
-"Language: sl\n"
-"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n"
+"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n"
+"%100==4 ? 2 : 3);\n"
#. module: mail_restrict_follower_selection
#: model:ir.actions.act_window,name:mail_restrict_follower_selection.action_setup
msgid "Configure the restriction on followers"
msgstr "Nastavitev omejitev za sledilce"
+#. module: mail_restrict_follower_selection
+#: model:ir.model,name:mail_restrict_follower_selection.model_mail_followers
+msgid "Document Followers"
+msgstr ""
+
#. module: mail_restrict_follower_selection
#: model:ir.model,name:mail_restrict_follower_selection.model_mail_wizard_invite
msgid "Invite wizard"
diff --git a/mail_restrict_follower_selection/models/__init__.py b/mail_restrict_follower_selection/models/__init__.py
index 422ffaf54e..a757c6b4e9 100644
--- a/mail_restrict_follower_selection/models/__init__.py
+++ b/mail_restrict_follower_selection/models/__init__.py
@@ -2,4 +2,5 @@
# Copyright (C) 2017 Komit
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
+from . import mail_followers
from . import mail_wizard_invite
diff --git a/mail_restrict_follower_selection/models/mail_followers.py b/mail_restrict_follower_selection/models/mail_followers.py
new file mode 100644
index 0000000000..15e906eb10
--- /dev/null
+++ b/mail_restrict_follower_selection/models/mail_followers.py
@@ -0,0 +1,24 @@
+# Copyright (C) 2018 Creu Blanca
+# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
+
+from odoo import api, models
+from odoo.tools.safe_eval import safe_eval
+
+
+class MailFollowers(models.Model):
+ _inherit = 'mail.followers'
+
+ @api.model
+ def _add_follower_command(self, res_model, res_ids, partner_data,
+ channel_data, force=True):
+ domain = self.env[
+ 'mail.wizard.invite'
+ ]._mail_restrict_follower_selection_get_domain()
+ partners = self.env['res.partner'].search(
+ [('id', 'in', list(partner_data))] +
+ safe_eval(domain)
+ )
+ return super()._add_follower_command(
+ res_model, res_ids,
+ {p.id: partner_data[p.id] for p in partners},
+ channel_data, force=force)
diff --git a/mail_restrict_follower_selection/models/mail_wizard_invite.py b/mail_restrict_follower_selection/models/mail_wizard_invite.py
index 216e26bb59..1d8b31caac 100644
--- a/mail_restrict_follower_selection/models/mail_wizard_invite.py
+++ b/mail_restrict_follower_selection/models/mail_wizard_invite.py
@@ -12,10 +12,10 @@ class MailWizardInvite(models.TransientModel):
@api.model
def _mail_restrict_follower_selection_get_domain(self):
parameter_name = 'mail_restrict_follower_selection.domain'
- return self.env['ir.config_parameter'].get_param(
+ return self.env['ir.config_parameter'].sudo().get_param(
"{0}.{1}".format(parameter_name,
self.env.context.get('default_res_model')),
- self.env['ir.config_parameter'].get_param(
+ self.env['ir.config_parameter'].sudo().get_param(
parameter_name, default='[]')
)
diff --git a/mail_restrict_follower_selection/tests/test_mail_restrict_follower_selection.py b/mail_restrict_follower_selection/tests/test_mail_restrict_follower_selection.py
index d1905b1835..4bf6410df9 100644
--- a/mail_restrict_follower_selection/tests/test_mail_restrict_follower_selection.py
+++ b/mail_restrict_follower_selection/tests/test_mail_restrict_follower_selection.py
@@ -3,14 +3,55 @@
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
from lxml import etree
-from openerp.tests.common import TransactionCase
+from odoo.tests.common import TransactionCase
class TestMailRestrictFollowerSelection(TransactionCase):
+ def setUp(self):
+ super().setUp()
+ self.partner = self.env['res.partner'].create({
+ 'name': 'Partner',
+ 'customer': True,
+ 'email': 'test@test.com',
+ })
+
def test_fields_view_get(self):
result = self.env['mail.wizard.invite'].fields_view_get(
view_type='form')
for field in etree.fromstring(result['arch']).xpath(
'//field[@name="partner_ids"]'):
self.assertTrue(field.get('domain'))
+
+ def send_action(self):
+ compose = self.env['mail.compose.message'].with_context({
+ 'mail_post_autofollow': True,
+ 'default_composition_mode': 'comment',
+ 'default_model': 'res.partner',
+ 'default_use_active_domain': True,
+ }).create({
+ 'subject': 'From Composer Test',
+ 'body': '${object.description}',
+ 'res_id': self.partner.id,
+ 'partner_ids': [(4, id) for id in self.partner.ids],
+ })
+ self.assertEqual(compose.partner_ids, self.partner)
+ compose.send_mail_action()
+
+ def test_followers_meet(self):
+ self.partner.write({'customer': True})
+ self.assertTrue(self.partner.customer)
+ self.send_action()
+ self.assertIn(
+ self.partner,
+ self.partner.message_follower_ids.mapped('partner_id')
+ )
+
+ def test_followers_not_meet(self):
+ self.partner.write({'customer': False})
+ self.assertFalse(self.partner.customer)
+ self.send_action()
+ self.assertNotIn(
+ self.partner,
+ self.partner.message_follower_ids.mapped('partner_id')
+ )
From 7b6ea206ee23c340f78c28e5e4498fad59520b21 Mon Sep 17 00:00:00 2001
From: c2cdidier
Date: Mon, 18 Jun 2018 09:40:13 +0000
Subject: [PATCH 08/36] Translated using Weblate (French) [ci skip]
Currently translated at 100.0% (3 of 3 strings)
Translation: social-11.0/social-11.0-mail_restrict_follower_selection
Translate-URL: https://translation.odoo-community.org/projects/social-11-0/social-11-0-mail_restrict_follower_selection/fr/
---
mail_restrict_follower_selection/i18n/de.po | 30 +++++++++++++++++++++
mail_restrict_follower_selection/i18n/fr.po | 9 ++++---
2 files changed, 35 insertions(+), 4 deletions(-)
create mode 100644 mail_restrict_follower_selection/i18n/de.po
diff --git a/mail_restrict_follower_selection/i18n/de.po b/mail_restrict_follower_selection/i18n/de.po
new file mode 100644
index 0000000000..e73100287a
--- /dev/null
+++ b/mail_restrict_follower_selection/i18n/de.po
@@ -0,0 +1,30 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * mail_restrict_follower_selection
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 11.0\n"
+"Report-Msgid-Bugs-To: \n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: de\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_restrict_follower_selection
+#: model:ir.actions.act_window,name:mail_restrict_follower_selection.action_setup
+msgid "Configure the restriction on followers"
+msgstr ""
+
+#. module: mail_restrict_follower_selection
+#: model:ir.model,name:mail_restrict_follower_selection.model_mail_followers
+msgid "Document Followers"
+msgstr ""
+
+#. module: mail_restrict_follower_selection
+#: model:ir.model,name:mail_restrict_follower_selection.model_mail_wizard_invite
+msgid "Invite wizard"
+msgstr ""
diff --git a/mail_restrict_follower_selection/i18n/fr.po b/mail_restrict_follower_selection/i18n/fr.po
index 4a8952177b..e37d2767c2 100644
--- a/mail_restrict_follower_selection/i18n/fr.po
+++ b/mail_restrict_follower_selection/i18n/fr.po
@@ -9,14 +9,15 @@ msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-07-22 09:45+0000\n"
-"PO-Revision-Date: 2017-07-22 09:45+0000\n"
-"Last-Translator: Quentin THEURET , 2017\n"
+"PO-Revision-Date: 2018-06-18 09:40+0000\n"
+"Last-Translator: c2cdidier \n"
"Language-Team: French (https://www.transifex.com/oca/teams/23907/fr/)\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
-"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+"Plural-Forms: nplurals=2; plural=n > 1;\n"
+"X-Generator: Weblate 3.0.1\n"
#. module: mail_restrict_follower_selection
#: model:ir.actions.act_window,name:mail_restrict_follower_selection.action_setup
@@ -26,7 +27,7 @@ msgstr "Configurer les restrictions sur les abonnés"
#. module: mail_restrict_follower_selection
#: model:ir.model,name:mail_restrict_follower_selection.model_mail_followers
msgid "Document Followers"
-msgstr ""
+msgstr "Suiveurs du document"
#. module: mail_restrict_follower_selection
#: model:ir.model,name:mail_restrict_follower_selection.model_mail_wizard_invite
From 9d26cadfa7027992d84b991032df85d42610d02b Mon Sep 17 00:00:00 2001
From: Maria Sparenberg
Date: Fri, 14 Dec 2018 15:19:49 +0000
Subject: [PATCH 09/36] Translated using Weblate (German)
Currently translated at 100.0% (3 of 3 strings)
Translation: social-11.0/social-11.0-mail_restrict_follower_selection
Translate-URL: https://translation.odoo-community.org/projects/social-11-0/social-11-0-mail_restrict_follower_selection/de/
---
mail_restrict_follower_selection/i18n/de.po | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/mail_restrict_follower_selection/i18n/de.po b/mail_restrict_follower_selection/i18n/de.po
index e73100287a..1495d7c392 100644
--- a/mail_restrict_follower_selection/i18n/de.po
+++ b/mail_restrict_follower_selection/i18n/de.po
@@ -6,25 +6,27 @@ msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
-"Last-Translator: Automatically generated\n"
+"PO-Revision-Date: 2018-12-15 14:58+0000\n"
+"Last-Translator: Maria Sparenberg \n"
"Language-Team: none\n"
"Language: de\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 3.3\n"
#. module: mail_restrict_follower_selection
#: model:ir.actions.act_window,name:mail_restrict_follower_selection.action_setup
msgid "Configure the restriction on followers"
-msgstr ""
+msgstr "Beschränkung der Abonnenten konfigurieren"
#. module: mail_restrict_follower_selection
#: model:ir.model,name:mail_restrict_follower_selection.model_mail_followers
msgid "Document Followers"
-msgstr ""
+msgstr "Abonnenten des Dokuments"
#. module: mail_restrict_follower_selection
#: model:ir.model,name:mail_restrict_follower_selection.model_mail_wizard_invite
msgid "Invite wizard"
-msgstr ""
+msgstr "Assistent zum Einladen von Abonnenten"
From 850330ef9f195f44d2db73e1f50d4ddd635a7eab Mon Sep 17 00:00:00 2001
From: Jordi Ballester Alomar
Date: Thu, 23 Jan 2020 15:18:11 +0100
Subject: [PATCH 10/36] fixes a corner case where you could send an email to a
partner that you are not supposed to.
---
mail_restrict_follower_selection/i18n/de.po | 7 +++++-
mail_restrict_follower_selection/i18n/en.po | 5 ++++
mail_restrict_follower_selection/i18n/fr.po | 5 ++++
mail_restrict_follower_selection/i18n/hr.po | 5 ++++
mail_restrict_follower_selection/i18n/it.po | 5 ++++
.../i18n/mail_restrict_follower_selection.pot | 5 ++++
mail_restrict_follower_selection/i18n/sl.po | 5 ++++
.../models/__init__.py | 1 +
.../models/mail_thread.py | 25 +++++++++++++++++++
9 files changed, 62 insertions(+), 1 deletion(-)
create mode 100644 mail_restrict_follower_selection/models/mail_thread.py
diff --git a/mail_restrict_follower_selection/i18n/de.po b/mail_restrict_follower_selection/i18n/de.po
index 1495d7c392..eff22263ff 100644
--- a/mail_restrict_follower_selection/i18n/de.po
+++ b/mail_restrict_follower_selection/i18n/de.po
@@ -1,6 +1,6 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
-# * mail_restrict_follower_selection
+# * mail_restrict_follower_selection
#
msgid ""
msgstr ""
@@ -26,6 +26,11 @@ msgstr "Beschränkung der Abonnenten konfigurieren"
msgid "Document Followers"
msgstr "Abonnenten des Dokuments"
+#. module: mail_restrict_follower_selection
+#: model:ir.model,name:mail_restrict_follower_selection.model_mail_thread
+msgid "Email Thread"
+msgstr ""
+
#. module: mail_restrict_follower_selection
#: model:ir.model,name:mail_restrict_follower_selection.model_mail_wizard_invite
msgid "Invite wizard"
diff --git a/mail_restrict_follower_selection/i18n/en.po b/mail_restrict_follower_selection/i18n/en.po
index b6c0235db4..e03abf3581 100644
--- a/mail_restrict_follower_selection/i18n/en.po
+++ b/mail_restrict_follower_selection/i18n/en.po
@@ -28,6 +28,11 @@ msgstr "Configure the restriction on followers"
msgid "Document Followers"
msgstr ""
+#. module: mail_restrict_follower_selection
+#: model:ir.model,name:mail_restrict_follower_selection.model_mail_thread
+msgid "Email Thread"
+msgstr ""
+
#. module: mail_restrict_follower_selection
#: model:ir.model,name:mail_restrict_follower_selection.model_mail_wizard_invite
msgid "Invite wizard"
diff --git a/mail_restrict_follower_selection/i18n/fr.po b/mail_restrict_follower_selection/i18n/fr.po
index e37d2767c2..7f96c92b0f 100644
--- a/mail_restrict_follower_selection/i18n/fr.po
+++ b/mail_restrict_follower_selection/i18n/fr.po
@@ -29,6 +29,11 @@ msgstr "Configurer les restrictions sur les abonnés"
msgid "Document Followers"
msgstr "Suiveurs du document"
+#. module: mail_restrict_follower_selection
+#: model:ir.model,name:mail_restrict_follower_selection.model_mail_thread
+msgid "Email Thread"
+msgstr ""
+
#. module: mail_restrict_follower_selection
#: model:ir.model,name:mail_restrict_follower_selection.model_mail_wizard_invite
msgid "Invite wizard"
diff --git a/mail_restrict_follower_selection/i18n/hr.po b/mail_restrict_follower_selection/i18n/hr.po
index 4d7bc08fef..38a74e130e 100644
--- a/mail_restrict_follower_selection/i18n/hr.po
+++ b/mail_restrict_follower_selection/i18n/hr.po
@@ -29,6 +29,11 @@ msgstr "Postavi ograničenja na pratitelje"
msgid "Document Followers"
msgstr ""
+#. module: mail_restrict_follower_selection
+#: model:ir.model,name:mail_restrict_follower_selection.model_mail_thread
+msgid "Email Thread"
+msgstr ""
+
#. module: mail_restrict_follower_selection
#: model:ir.model,name:mail_restrict_follower_selection.model_mail_wizard_invite
msgid "Invite wizard"
diff --git a/mail_restrict_follower_selection/i18n/it.po b/mail_restrict_follower_selection/i18n/it.po
index 10a71b6cd8..54ec814bb7 100644
--- a/mail_restrict_follower_selection/i18n/it.po
+++ b/mail_restrict_follower_selection/i18n/it.po
@@ -28,6 +28,11 @@ msgstr "Imposta restrizioni sui follower"
msgid "Document Followers"
msgstr ""
+#. module: mail_restrict_follower_selection
+#: model:ir.model,name:mail_restrict_follower_selection.model_mail_thread
+msgid "Email Thread"
+msgstr ""
+
#. module: mail_restrict_follower_selection
#: model:ir.model,name:mail_restrict_follower_selection.model_mail_wizard_invite
msgid "Invite wizard"
diff --git a/mail_restrict_follower_selection/i18n/mail_restrict_follower_selection.pot b/mail_restrict_follower_selection/i18n/mail_restrict_follower_selection.pot
index 6bcf2f7bd6..8a87100bf0 100644
--- a/mail_restrict_follower_selection/i18n/mail_restrict_follower_selection.pot
+++ b/mail_restrict_follower_selection/i18n/mail_restrict_follower_selection.pot
@@ -23,6 +23,11 @@ msgstr ""
msgid "Document Followers"
msgstr ""
+#. module: mail_restrict_follower_selection
+#: model:ir.model,name:mail_restrict_follower_selection.model_mail_thread
+msgid "Email Thread"
+msgstr ""
+
#. module: mail_restrict_follower_selection
#: model:ir.model,name:mail_restrict_follower_selection.model_mail_wizard_invite
msgid "Invite wizard"
diff --git a/mail_restrict_follower_selection/i18n/sl.po b/mail_restrict_follower_selection/i18n/sl.po
index d64d0baab9..b350b02642 100644
--- a/mail_restrict_follower_selection/i18n/sl.po
+++ b/mail_restrict_follower_selection/i18n/sl.po
@@ -30,6 +30,11 @@ msgstr "Nastavitev omejitev za sledilce"
msgid "Document Followers"
msgstr ""
+#. module: mail_restrict_follower_selection
+#: model:ir.model,name:mail_restrict_follower_selection.model_mail_thread
+msgid "Email Thread"
+msgstr ""
+
#. module: mail_restrict_follower_selection
#: model:ir.model,name:mail_restrict_follower_selection.model_mail_wizard_invite
msgid "Invite wizard"
diff --git a/mail_restrict_follower_selection/models/__init__.py b/mail_restrict_follower_selection/models/__init__.py
index a757c6b4e9..d6a528cb70 100644
--- a/mail_restrict_follower_selection/models/__init__.py
+++ b/mail_restrict_follower_selection/models/__init__.py
@@ -4,3 +4,4 @@
from . import mail_followers
from . import mail_wizard_invite
+from . import mail_thread
diff --git a/mail_restrict_follower_selection/models/mail_thread.py b/mail_restrict_follower_selection/models/mail_thread.py
new file mode 100644
index 0000000000..c22dd3d41d
--- /dev/null
+++ b/mail_restrict_follower_selection/models/mail_thread.py
@@ -0,0 +1,25 @@
+from odoo import api, models
+from odoo.tools.safe_eval import safe_eval
+
+
+class MailThread(models.AbstractModel):
+ _inherit = 'mail.thread'
+
+ @api.multi
+ def _message_add_suggested_recipient(
+ self, result, partner=None, email=None, reason=''):
+ result = super(MailThread, self)._message_add_suggested_recipient(
+ result, partner=partner, email=email, reason=reason)
+ domain = self.env[
+ 'mail.wizard.invite'
+ ]._mail_restrict_follower_selection_get_domain()
+ eval_domain = safe_eval(domain)
+ for key in result:
+ for partner_id, email, reason in result[key]:
+ if partner_id:
+ partner = self.env['res.partner'].search(
+ [('id', '=', partner_id)] + eval_domain
+ )
+ if not partner:
+ result[key].remove((partner_id, email, reason))
+ return result
From 6d784cff4981bc11514301a7360494fc2e324f01 Mon Sep 17 00:00:00 2001
From: Enric Tobella
Date: Wed, 4 Mar 2020 16:27:05 +0100
Subject: [PATCH 11/36] [12.0][MIG] mail_restrict_follower_selection
---
.../__manifest__.py | 7 +-----
.../models/mail_followers.py | 25 ++++++++++++-------
.../test_mail_restrict_follower_selection.py | 2 +-
3 files changed, 18 insertions(+), 16 deletions(-)
diff --git a/mail_restrict_follower_selection/__manifest__.py b/mail_restrict_follower_selection/__manifest__.py
index bfeb8bfcc9..cba1fe639d 100644
--- a/mail_restrict_follower_selection/__manifest__.py
+++ b/mail_restrict_follower_selection/__manifest__.py
@@ -4,7 +4,7 @@
{
"name": "Restrict follower selection",
- "version": "11.0.2.0.0",
+ "version": "12.0.1.0.0",
"author": "Therp BV,Creu Blanca,Odoo Community Association (OCA)",
"license": "AGPL-3",
"category": "Social Network",
@@ -16,10 +16,5 @@
"data/ir_config_parameter.xml",
"data/ir_actions.xml",
],
- "auto_install": False,
'installable': True,
- "application": False,
- "external_dependencies": {
- 'python': [],
- },
}
diff --git a/mail_restrict_follower_selection/models/mail_followers.py b/mail_restrict_follower_selection/models/mail_followers.py
index 15e906eb10..c096f1fe59 100644
--- a/mail_restrict_follower_selection/models/mail_followers.py
+++ b/mail_restrict_follower_selection/models/mail_followers.py
@@ -1,24 +1,31 @@
# Copyright (C) 2018 Creu Blanca
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
-from odoo import api, models
+from odoo import models
from odoo.tools.safe_eval import safe_eval
class MailFollowers(models.Model):
_inherit = 'mail.followers'
- @api.model
- def _add_follower_command(self, res_model, res_ids, partner_data,
- channel_data, force=True):
+ def _add_followers(self, res_model, res_ids, partner_ids, partner_subtypes,
+ channel_ids, channel_subtypes,
+ check_existing=False, existing_policy='skip'):
domain = self.env[
'mail.wizard.invite'
]._mail_restrict_follower_selection_get_domain()
partners = self.env['res.partner'].search(
- [('id', 'in', list(partner_data))] +
+ [('id', 'in', partner_ids)] +
safe_eval(domain)
)
- return super()._add_follower_command(
- res_model, res_ids,
- {p.id: partner_data[p.id] for p in partners},
- channel_data, force=force)
+ _res_ids = res_ids.copy() or [0]
+ new, update = super()._add_followers(
+ res_model, res_ids, partners.ids, partner_subtypes, channel_ids,
+ channel_subtypes, check_existing=check_existing,
+ existing_policy=existing_policy
+ )
+
+ for res_id in _res_ids:
+ if res_id not in new:
+ new.setdefault(res_id, list())
+ return new, update
diff --git a/mail_restrict_follower_selection/tests/test_mail_restrict_follower_selection.py b/mail_restrict_follower_selection/tests/test_mail_restrict_follower_selection.py
index 4bf6410df9..4eb0bb1281 100644
--- a/mail_restrict_follower_selection/tests/test_mail_restrict_follower_selection.py
+++ b/mail_restrict_follower_selection/tests/test_mail_restrict_follower_selection.py
@@ -36,7 +36,7 @@ def send_action(self):
'partner_ids': [(4, id) for id in self.partner.ids],
})
self.assertEqual(compose.partner_ids, self.partner)
- compose.send_mail_action()
+ compose.action_send_mail()
def test_followers_meet(self):
self.partner.write({'customer': True})
From 0c4460b46786d572711dc3428291c25b017ddebb Mon Sep 17 00:00:00 2001
From: Joan Sisquella
Date: Mon, 9 Mar 2020 15:10:18 +0100
Subject: [PATCH 12/36] [IMP] mail_restrict_follower_selection: black, isort
---
.../__manifest__.py | 11 +---
.../models/mail_followers.py | 34 +++++++----
.../models/mail_thread.py | 14 +++--
.../models/mail_wizard_invite.py | 37 +++++++-----
.../test_mail_restrict_follower_selection.py | 60 ++++++++++---------
5 files changed, 88 insertions(+), 68 deletions(-)
diff --git a/mail_restrict_follower_selection/__manifest__.py b/mail_restrict_follower_selection/__manifest__.py
index cba1fe639d..a2073229aa 100644
--- a/mail_restrict_follower_selection/__manifest__.py
+++ b/mail_restrict_follower_selection/__manifest__.py
@@ -9,12 +9,7 @@
"license": "AGPL-3",
"category": "Social Network",
"summary": "Define a domain from which followers can be selected",
- "depends": [
- 'mail',
- ],
- "data": [
- "data/ir_config_parameter.xml",
- "data/ir_actions.xml",
- ],
- 'installable': True,
+ "depends": ["mail"],
+ "data": ["data/ir_config_parameter.xml", "data/ir_actions.xml"],
+ "installable": True,
}
diff --git a/mail_restrict_follower_selection/models/mail_followers.py b/mail_restrict_follower_selection/models/mail_followers.py
index c096f1fe59..a19a27eb8d 100644
--- a/mail_restrict_follower_selection/models/mail_followers.py
+++ b/mail_restrict_follower_selection/models/mail_followers.py
@@ -6,23 +6,35 @@
class MailFollowers(models.Model):
- _inherit = 'mail.followers'
+ _inherit = "mail.followers"
- def _add_followers(self, res_model, res_ids, partner_ids, partner_subtypes,
- channel_ids, channel_subtypes,
- check_existing=False, existing_policy='skip'):
+ def _add_followers(
+ self,
+ res_model,
+ res_ids,
+ partner_ids,
+ partner_subtypes,
+ channel_ids,
+ channel_subtypes,
+ check_existing=False,
+ existing_policy="skip",
+ ):
domain = self.env[
- 'mail.wizard.invite'
+ "mail.wizard.invite"
]._mail_restrict_follower_selection_get_domain()
- partners = self.env['res.partner'].search(
- [('id', 'in', partner_ids)] +
- safe_eval(domain)
+ partners = self.env["res.partner"].search(
+ [("id", "in", partner_ids)] + safe_eval(domain)
)
_res_ids = res_ids.copy() or [0]
new, update = super()._add_followers(
- res_model, res_ids, partners.ids, partner_subtypes, channel_ids,
- channel_subtypes, check_existing=check_existing,
- existing_policy=existing_policy
+ res_model,
+ res_ids,
+ partners.ids,
+ partner_subtypes,
+ channel_ids,
+ channel_subtypes,
+ check_existing=check_existing,
+ existing_policy=existing_policy,
)
for res_id in _res_ids:
diff --git a/mail_restrict_follower_selection/models/mail_thread.py b/mail_restrict_follower_selection/models/mail_thread.py
index c22dd3d41d..0bacf177fd 100644
--- a/mail_restrict_follower_selection/models/mail_thread.py
+++ b/mail_restrict_follower_selection/models/mail_thread.py
@@ -3,22 +3,24 @@
class MailThread(models.AbstractModel):
- _inherit = 'mail.thread'
+ _inherit = "mail.thread"
@api.multi
def _message_add_suggested_recipient(
- self, result, partner=None, email=None, reason=''):
+ self, result, partner=None, email=None, reason=""
+ ):
result = super(MailThread, self)._message_add_suggested_recipient(
- result, partner=partner, email=email, reason=reason)
+ result, partner=partner, email=email, reason=reason
+ )
domain = self.env[
- 'mail.wizard.invite'
+ "mail.wizard.invite"
]._mail_restrict_follower_selection_get_domain()
eval_domain = safe_eval(domain)
for key in result:
for partner_id, email, reason in result[key]:
if partner_id:
- partner = self.env['res.partner'].search(
- [('id', '=', partner_id)] + eval_domain
+ partner = self.env["res.partner"].search(
+ [("id", "=", partner_id)] + eval_domain
)
if not partner:
result[key].remove((partner_id, email, reason))
diff --git a/mail_restrict_follower_selection/models/mail_wizard_invite.py b/mail_restrict_follower_selection/models/mail_wizard_invite.py
index 1d8b31caac..e04c486cf9 100644
--- a/mail_restrict_follower_selection/models/mail_wizard_invite.py
+++ b/mail_restrict_follower_selection/models/mail_wizard_invite.py
@@ -3,31 +3,38 @@
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
from lxml import etree
+
from odoo import api, models
class MailWizardInvite(models.TransientModel):
- _inherit = 'mail.wizard.invite'
+ _inherit = "mail.wizard.invite"
@api.model
def _mail_restrict_follower_selection_get_domain(self):
- parameter_name = 'mail_restrict_follower_selection.domain'
- return self.env['ir.config_parameter'].sudo().get_param(
- "{0}.{1}".format(parameter_name,
- self.env.context.get('default_res_model')),
- self.env['ir.config_parameter'].sudo().get_param(
- parameter_name, default='[]')
+ parameter_name = "mail_restrict_follower_selection.domain"
+ return (
+ self.env["ir.config_parameter"]
+ .sudo()
+ .get_param(
+ "{}.{}".format(
+ parameter_name, self.env.context.get("default_res_model")
+ ),
+ self.env["ir.config_parameter"]
+ .sudo()
+ .get_param(parameter_name, default="[]"),
+ )
)
@api.model
- def fields_view_get(self, view_id=None, view_type='form', toolbar=False,
- submenu=False):
+ def fields_view_get(
+ self, view_id=None, view_type="form", toolbar=False, submenu=False
+ ):
result = super(MailWizardInvite, self).fields_view_get(
- view_id=view_id, view_type=view_type, toolbar=toolbar,
- submenu=submenu)
- arch = etree.fromstring(result['arch'])
+ view_id=view_id, view_type=view_type, toolbar=toolbar, submenu=submenu
+ )
+ arch = etree.fromstring(result["arch"])
for field in arch.xpath('//field[@name="partner_ids"]'):
- field.attrib['domain'] = self\
- ._mail_restrict_follower_selection_get_domain()
- result['arch'] = etree.tostring(arch)
+ field.attrib["domain"] = self._mail_restrict_follower_selection_get_domain()
+ result["arch"] = etree.tostring(arch)
return result
diff --git a/mail_restrict_follower_selection/tests/test_mail_restrict_follower_selection.py b/mail_restrict_follower_selection/tests/test_mail_restrict_follower_selection.py
index 4eb0bb1281..0b78d650c4 100644
--- a/mail_restrict_follower_selection/tests/test_mail_restrict_follower_selection.py
+++ b/mail_restrict_follower_selection/tests/test_mail_restrict_follower_selection.py
@@ -3,55 +3,59 @@
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
from lxml import etree
+
from odoo.tests.common import TransactionCase
class TestMailRestrictFollowerSelection(TransactionCase):
-
def setUp(self):
super().setUp()
- self.partner = self.env['res.partner'].create({
- 'name': 'Partner',
- 'customer': True,
- 'email': 'test@test.com',
- })
+ self.partner = self.env["res.partner"].create(
+ {"name": "Partner", "customer": True, "email": "test@test.com"}
+ )
def test_fields_view_get(self):
- result = self.env['mail.wizard.invite'].fields_view_get(
- view_type='form')
- for field in etree.fromstring(result['arch']).xpath(
- '//field[@name="partner_ids"]'):
- self.assertTrue(field.get('domain'))
+ result = self.env["mail.wizard.invite"].fields_view_get(view_type="form")
+ for field in etree.fromstring(result["arch"]).xpath(
+ '//field[@name="partner_ids"]'
+ ):
+ self.assertTrue(field.get("domain"))
def send_action(self):
- compose = self.env['mail.compose.message'].with_context({
- 'mail_post_autofollow': True,
- 'default_composition_mode': 'comment',
- 'default_model': 'res.partner',
- 'default_use_active_domain': True,
- }).create({
- 'subject': 'From Composer Test',
- 'body': '${object.description}',
- 'res_id': self.partner.id,
- 'partner_ids': [(4, id) for id in self.partner.ids],
- })
+ compose = (
+ self.env["mail.compose.message"]
+ .with_context(
+ {
+ "mail_post_autofollow": True,
+ "default_composition_mode": "comment",
+ "default_model": "res.partner",
+ "default_use_active_domain": True,
+ }
+ )
+ .create(
+ {
+ "subject": "From Composer Test",
+ "body": "${object.description}",
+ "res_id": self.partner.id,
+ "partner_ids": [(4, id) for id in self.partner.ids],
+ }
+ )
+ )
self.assertEqual(compose.partner_ids, self.partner)
compose.action_send_mail()
def test_followers_meet(self):
- self.partner.write({'customer': True})
+ self.partner.write({"customer": True})
self.assertTrue(self.partner.customer)
self.send_action()
self.assertIn(
- self.partner,
- self.partner.message_follower_ids.mapped('partner_id')
+ self.partner, self.partner.message_follower_ids.mapped("partner_id")
)
def test_followers_not_meet(self):
- self.partner.write({'customer': False})
+ self.partner.write({"customer": False})
self.assertFalse(self.partner.customer)
self.send_action()
self.assertNotIn(
- self.partner,
- self.partner.message_follower_ids.mapped('partner_id')
+ self.partner, self.partner.message_follower_ids.mapped("partner_id")
)
From a8b297061c69af621814c899bcbfe93328eefc28 Mon Sep 17 00:00:00 2001
From: Joan Sisquella
Date: Tue, 10 Mar 2020 10:26:49 +0100
Subject: [PATCH 13/36] [MIG] mail_restrict_follower_selection : Migration to
13.0
---
mail_restrict_follower_selection/README.rst | 88 ++--
.../__manifest__.py | 2 +-
.../data/ir_config_parameter.xml | 2 +-
.../i18n/mail_restrict_follower_selection.pot | 7 +-
.../models/mail_thread.py | 3 +-
.../readme/CONFIGURE.rst | 11 +
.../readme/CONTRIBUTORS.rst | 3 +
.../readme/DESCRIPTION.rst | 7 +
.../static/description/index.html | 440 ++++++++++++++++++
.../test_mail_restrict_follower_selection.py | 16 +-
10 files changed, 539 insertions(+), 40 deletions(-)
create mode 100644 mail_restrict_follower_selection/readme/CONFIGURE.rst
create mode 100644 mail_restrict_follower_selection/readme/CONTRIBUTORS.rst
create mode 100644 mail_restrict_follower_selection/readme/DESCRIPTION.rst
create mode 100644 mail_restrict_follower_selection/static/description/index.html
diff --git a/mail_restrict_follower_selection/README.rst b/mail_restrict_follower_selection/README.rst
index fb0656d429..e09b1866c0 100644
--- a/mail_restrict_follower_selection/README.rst
+++ b/mail_restrict_follower_selection/README.rst
@@ -1,63 +1,97 @@
-.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg
- :alt: License: AGPL-3
-
===========================
Restrict follower selection
===========================
-This module was written to allow you to restrict the selection of possible followers. For example, if you use the social ERP functions only internally, it makes sense to filter possible followers for being employees. Otherwise, you'll get a quite crowded list of partners to choose from.
-
-Moreover, the module disables the option to automatically add followers that do not meet the domain.
+.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+ !! 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/13.0/mail_restrict_follower_selection
+ :alt: OCA/social
+.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
+ :target: https://translation.odoo-community.org/projects/social-13-0/social-13-0-mail_restrict_follower_selection
+ :alt: Translate me on Weblate
+.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
+ :target: https://runbot.odoo-community.org/runbot/205/13.0
+ :alt: Try me on Runbot
+
+|badge1| |badge2| |badge3| |badge4| |badge5|
+
+This module was written to allow you to restrict the selection of possible
+followers. For example, if you use the social ERP functions only internally,
+it makes sense to filter possible followers for being employees. Otherwise,
+you'll get a quite crowded list of partners to choose from.
+
+Moreover, the module disables the option to automatically add followers that
+do not meet the domain.
+
+**Table of contents**
+
+.. contents::
+ :local:
Configuration
=============
-To configure this module, you need to go to `System parameters` and adjust `mail_restrict_follower_selection.domain` as you see fit. This restricts followers globally, if you want to restrict only the followers for a certain record type (or have different restrictions for different record types), create a parameter `mail_restrict_follower_selection.domain.$your_model`.
+To configure this module, you need to go to `System parameters` and adjust
+`mail_restrict_follower_selection.domain` as you see fit. This restricts
+followers globally, if you want to restrict only the followers for a certain
+record type (or have different restrictions for different record types),
+create a parameter `mail_restrict_follower_selection.domain.$your_model`.
-As an example, you could use `[('customer', '=', True)]` to allow only customers to be added as follower - this also is the default.
+As an example, you could use `[('category_id.name', '=', 'Employees')]` to allow
+only contacts with 'Employees' tag to be added as follower - this also is
+the default.
Note: This module won't change existing followers!
-Usage
-=====
-
-.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas
- :alt: Try me on Runbot
- :target: https://runbot.odoo-community.org/runbot/205/11.0
-
-For further information, please visit:
-
-* https://www.odoo.com/forum/help-1
-
Bug Tracker
===========
Bugs are tracked on `GitHub Issues `_.
In case of trouble, please check there if your issue has already been reported.
-If you spotted it first, help us smashing it by providing a detailed and welcomed feedback
-`here `_.
+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
+~~~~~~~
+
+* Therp BV
+* Creu Blanca
+
Contributors
-------------
+~~~~~~~~~~~~
* Holger Brunn
* Nguyen Tan Phuc
* Enric Tobella
-Maintainer
-----------
+Maintainers
+~~~~~~~~~~~
+
+This module is maintained by the OCA.
.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org
-This module is maintained by the OCA.
-
OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.
-To contribute to this module, please visit http://odoo-community.org.
+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_restrict_follower_selection/__manifest__.py b/mail_restrict_follower_selection/__manifest__.py
index a2073229aa..39115020ba 100644
--- a/mail_restrict_follower_selection/__manifest__.py
+++ b/mail_restrict_follower_selection/__manifest__.py
@@ -4,7 +4,7 @@
{
"name": "Restrict follower selection",
- "version": "12.0.1.0.0",
+ "version": "13.0.1.0.0",
"author": "Therp BV,Creu Blanca,Odoo Community Association (OCA)",
"license": "AGPL-3",
"category": "Social Network",
diff --git a/mail_restrict_follower_selection/data/ir_config_parameter.xml b/mail_restrict_follower_selection/data/ir_config_parameter.xml
index f4a1daf2eb..3602566e35 100644
--- a/mail_restrict_follower_selection/data/ir_config_parameter.xml
+++ b/mail_restrict_follower_selection/data/ir_config_parameter.xml
@@ -2,6 +2,6 @@
mail_restrict_follower_selection.domain
- [('customer', '=', True)]
+ [('category_id.name', '=', 'Employees')]
diff --git a/mail_restrict_follower_selection/i18n/mail_restrict_follower_selection.pot b/mail_restrict_follower_selection/i18n/mail_restrict_follower_selection.pot
index 8a87100bf0..5356952828 100644
--- a/mail_restrict_follower_selection/i18n/mail_restrict_follower_selection.pot
+++ b/mail_restrict_follower_selection/i18n/mail_restrict_follower_selection.pot
@@ -1,12 +1,12 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
-# * mail_restrict_follower_selection
+# * mail_restrict_follower_selection
#
msgid ""
msgstr ""
-"Project-Id-Version: Odoo Server 11.0\n"
+"Project-Id-Version: Odoo Server 13.0\n"
"Report-Msgid-Bugs-To: \n"
-"Last-Translator: <>\n"
+"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -32,4 +32,3 @@ msgstr ""
#: model:ir.model,name:mail_restrict_follower_selection.model_mail_wizard_invite
msgid "Invite wizard"
msgstr ""
-
diff --git a/mail_restrict_follower_selection/models/mail_thread.py b/mail_restrict_follower_selection/models/mail_thread.py
index 0bacf177fd..019307988a 100644
--- a/mail_restrict_follower_selection/models/mail_thread.py
+++ b/mail_restrict_follower_selection/models/mail_thread.py
@@ -1,11 +1,10 @@
-from odoo import api, models
+from odoo import models
from odoo.tools.safe_eval import safe_eval
class MailThread(models.AbstractModel):
_inherit = "mail.thread"
- @api.multi
def _message_add_suggested_recipient(
self, result, partner=None, email=None, reason=""
):
diff --git a/mail_restrict_follower_selection/readme/CONFIGURE.rst b/mail_restrict_follower_selection/readme/CONFIGURE.rst
new file mode 100644
index 0000000000..9c233086aa
--- /dev/null
+++ b/mail_restrict_follower_selection/readme/CONFIGURE.rst
@@ -0,0 +1,11 @@
+To configure this module, you need to go to `System parameters` and adjust
+`mail_restrict_follower_selection.domain` as you see fit. This restricts
+followers globally, if you want to restrict only the followers for a certain
+record type (or have different restrictions for different record types),
+create a parameter `mail_restrict_follower_selection.domain.$your_model`.
+
+As an example, you could use `[('category_id.name', '=', 'Employees')]` to allow
+only contacts with 'Employees' tag to be added as follower - this also is
+the default.
+
+Note: This module won't change existing followers!
diff --git a/mail_restrict_follower_selection/readme/CONTRIBUTORS.rst b/mail_restrict_follower_selection/readme/CONTRIBUTORS.rst
new file mode 100644
index 0000000000..47b2b8d31c
--- /dev/null
+++ b/mail_restrict_follower_selection/readme/CONTRIBUTORS.rst
@@ -0,0 +1,3 @@
+* Holger Brunn
+* Nguyen Tan Phuc
+* Enric Tobella
diff --git a/mail_restrict_follower_selection/readme/DESCRIPTION.rst b/mail_restrict_follower_selection/readme/DESCRIPTION.rst
new file mode 100644
index 0000000000..d8867e560f
--- /dev/null
+++ b/mail_restrict_follower_selection/readme/DESCRIPTION.rst
@@ -0,0 +1,7 @@
+This module was written to allow you to restrict the selection of possible
+followers. For example, if you use the social ERP functions only internally,
+it makes sense to filter possible followers for being employees. Otherwise,
+you'll get a quite crowded list of partners to choose from.
+
+Moreover, the module disables the option to automatically add followers that
+do not meet the domain.
diff --git a/mail_restrict_follower_selection/static/description/index.html b/mail_restrict_follower_selection/static/description/index.html
new file mode 100644
index 0000000000..49f07278fb
--- /dev/null
+++ b/mail_restrict_follower_selection/static/description/index.html
@@ -0,0 +1,440 @@
+
+
+
+
+
+
+Restrict follower selection
+
+
+
+
+
Restrict follower selection
+
+
+
+
This module was written to allow you to restrict the selection of possible
+followers. For example, if you use the social ERP functions only internally,
+it makes sense to filter possible followers for being employees. Otherwise,
+you’ll get a quite crowded list of partners to choose from.
+
Moreover, the module disables the option to automatically add followers that
+do not meet the domain.
+
Table of contents
+
+
+
+
To configure this module, you need to go to System parameters and adjust
+mail_restrict_follower_selection.domain as you see fit. This restricts
+followers globally, if you want to restrict only the followers for a certain
+record type (or have different restrictions for different record types),
+create a parameter mail_restrict_follower_selection.domain.$your_model.
+
As an example, you could use [(‘category_id.name’, ‘=’, ‘Employees’)] to allow
+only contacts with ‘Employees’ tag to be added as follower - this also is
+the default.
+
Note: This module won’t change existing followers!
+
+
+
+
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.
+
+
+
+
+
diff --git a/mail_restrict_follower_selection/tests/test_mail_restrict_follower_selection.py b/mail_restrict_follower_selection/tests/test_mail_restrict_follower_selection.py
index 0b78d650c4..c4ce705d88 100644
--- a/mail_restrict_follower_selection/tests/test_mail_restrict_follower_selection.py
+++ b/mail_restrict_follower_selection/tests/test_mail_restrict_follower_selection.py
@@ -10,8 +10,16 @@
class TestMailRestrictFollowerSelection(TransactionCase):
def setUp(self):
super().setUp()
+ self.category_employees = self.env["res.partner.category"].create(
+ {"name": "Employees"}
+ )
+
self.partner = self.env["res.partner"].create(
- {"name": "Partner", "customer": True, "email": "test@test.com"}
+ {
+ "name": "Partner",
+ "category_id": self.category_employees,
+ "email": "test@test.com",
+ }
)
def test_fields_view_get(self):
@@ -45,16 +53,14 @@ def send_action(self):
compose.action_send_mail()
def test_followers_meet(self):
- self.partner.write({"customer": True})
- self.assertTrue(self.partner.customer)
+ self.partner.write({"category_id": self.category_employees})
self.send_action()
self.assertIn(
self.partner, self.partner.message_follower_ids.mapped("partner_id")
)
def test_followers_not_meet(self):
- self.partner.write({"customer": False})
- self.assertFalse(self.partner.customer)
+ self.partner.write({"category_id": False})
self.send_action()
self.assertNotIn(
self.partner, self.partner.message_follower_ids.mapped("partner_id")
From daad4c5aa7f57c2454f2107ce147339b1d08cc1f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Alexandre=20D=C3=ADaz?=
Date: Wed, 15 Apr 2020 20:47:58 +0200
Subject: [PATCH 14/36] [IMP] mail_restrict_follower_selection: Add condition
for tests
---
mail_restrict_follower_selection/__manifest__.py | 2 +-
mail_restrict_follower_selection/models/mail_thread.py | 6 ++++++
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/mail_restrict_follower_selection/__manifest__.py b/mail_restrict_follower_selection/__manifest__.py
index 39115020ba..73feb2d54c 100644
--- a/mail_restrict_follower_selection/__manifest__.py
+++ b/mail_restrict_follower_selection/__manifest__.py
@@ -4,7 +4,7 @@
{
"name": "Restrict follower selection",
- "version": "13.0.1.0.0",
+ "version": "13.0.1.0.1",
"author": "Therp BV,Creu Blanca,Odoo Community Association (OCA)",
"license": "AGPL-3",
"category": "Social Network",
diff --git a/mail_restrict_follower_selection/models/mail_thread.py b/mail_restrict_follower_selection/models/mail_thread.py
index 019307988a..65e616ae89 100644
--- a/mail_restrict_follower_selection/models/mail_thread.py
+++ b/mail_restrict_follower_selection/models/mail_thread.py
@@ -1,4 +1,5 @@
from odoo import models
+from odoo.tools import config
from odoo.tools.safe_eval import safe_eval
@@ -11,6 +12,11 @@ def _message_add_suggested_recipient(
result = super(MailThread, self)._message_add_suggested_recipient(
result, partner=partner, email=email, reason=reason
)
+ test_condition = config["test_enable"] and not self.env.context.get(
+ "test_restrict_follower"
+ )
+ if test_condition or self.env.context.get("no_restrict_follower"):
+ return result
domain = self.env[
"mail.wizard.invite"
]._mail_restrict_follower_selection_get_domain()
From de877e1a71f253233217e488bb0d2ae7e973aad3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Alexandre=20D=C3=ADaz?=
Date: Thu, 16 Apr 2020 19:49:05 +0200
Subject: [PATCH 15/36] [IMP] mail_restrict_follower_selection: Add condition
for tests
---
mail_restrict_follower_selection/__manifest__.py | 2 +-
mail_restrict_follower_selection/models/mail_thread.py | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/mail_restrict_follower_selection/__manifest__.py b/mail_restrict_follower_selection/__manifest__.py
index 73feb2d54c..aa6f46a407 100644
--- a/mail_restrict_follower_selection/__manifest__.py
+++ b/mail_restrict_follower_selection/__manifest__.py
@@ -4,7 +4,7 @@
{
"name": "Restrict follower selection",
- "version": "13.0.1.0.1",
+ "version": "13.0.1.0.2",
"author": "Therp BV,Creu Blanca,Odoo Community Association (OCA)",
"license": "AGPL-3",
"category": "Social Network",
diff --git a/mail_restrict_follower_selection/models/mail_thread.py b/mail_restrict_follower_selection/models/mail_thread.py
index 65e616ae89..6b1201bd8c 100644
--- a/mail_restrict_follower_selection/models/mail_thread.py
+++ b/mail_restrict_follower_selection/models/mail_thread.py
@@ -9,7 +9,7 @@ class MailThread(models.AbstractModel):
def _message_add_suggested_recipient(
self, result, partner=None, email=None, reason=""
):
- result = super(MailThread, self)._message_add_suggested_recipient(
+ result = super()._message_add_suggested_recipient(
result, partner=partner, email=email, reason=reason
)
test_condition = config["test_enable"] and not self.env.context.get(
From 2ea3b9d643905a1a10538dd4da2fca96c7f52b0f Mon Sep 17 00:00:00 2001
From: Alessandro Fiorino
Date: Thu, 3 Dec 2020 15:52:39 +0000
Subject: [PATCH 16/36] Translated using Weblate (Italian)
Currently translated at 75.0% (3 of 4 strings)
Translation: social-13.0/social-13.0-mail_restrict_follower_selection
Translate-URL: https://translation.odoo-community.org/projects/social-13-0/social-13-0-mail_restrict_follower_selection/it/
---
mail_restrict_follower_selection/i18n/it.po | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/mail_restrict_follower_selection/i18n/it.po b/mail_restrict_follower_selection/i18n/it.po
index 54ec814bb7..4e2da33c46 100644
--- a/mail_restrict_follower_selection/i18n/it.po
+++ b/mail_restrict_follower_selection/i18n/it.po
@@ -9,14 +9,15 @@ msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-05-17 01:02+0000\n"
-"PO-Revision-Date: 2017-05-17 01:02+0000\n"
-"Last-Translator: Marius Marolla , 2017\n"
+"PO-Revision-Date: 2020-12-03 18:36+0000\n"
+"Last-Translator: Alessandro Fiorino \n"
"Language-Team: Italian (https://www.transifex.com/oca/teams/23907/it/)\n"
"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 3.10\n"
#. module: mail_restrict_follower_selection
#: model:ir.actions.act_window,name:mail_restrict_follower_selection.action_setup
@@ -26,7 +27,7 @@ msgstr "Imposta restrizioni sui follower"
#. module: mail_restrict_follower_selection
#: model:ir.model,name:mail_restrict_follower_selection.model_mail_followers
msgid "Document Followers"
-msgstr ""
+msgstr "Follower Documento"
#. module: mail_restrict_follower_selection
#: model:ir.model,name:mail_restrict_follower_selection.model_mail_thread
From 75e9b7e3defcba05c4985a059d1e0cabe398ce1b Mon Sep 17 00:00:00 2001
From: Jairo Llopis
Date: Tue, 26 Jan 2021 14:06:17 +0000
Subject: [PATCH 17/36] [IMP] pre-commit run -a
---
mail_restrict_follower_selection/data/ir_actions.xml | 10 +++++++---
.../data/ir_config_parameter.xml | 2 +-
2 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/mail_restrict_follower_selection/data/ir_actions.xml b/mail_restrict_follower_selection/data/ir_actions.xml
index 63c84f0241..c41dbab2a8 100644
--- a/mail_restrict_follower_selection/data/ir_actions.xml
+++ b/mail_restrict_follower_selection/data/ir_actions.xml
@@ -1,7 +1,11 @@
-
+
-
+
diff --git a/mail_restrict_follower_selection/data/ir_config_parameter.xml b/mail_restrict_follower_selection/data/ir_config_parameter.xml
index 3602566e35..6c356d705b 100644
--- a/mail_restrict_follower_selection/data/ir_config_parameter.xml
+++ b/mail_restrict_follower_selection/data/ir_config_parameter.xml
@@ -1,4 +1,4 @@
-
+
mail_restrict_follower_selection.domain
From 8297ebf84ae2b2371024918df50fe61b92ed896e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Alexandre=20D=2E=20D=C3=ADaz?=
Date: Tue, 26 Jan 2021 17:37:52 +0100
Subject: [PATCH 18/36] [IMP] Apply pre-commit changes: Resolve conflicts
---
mail_restrict_follower_selection/__manifest__.py | 1 +
1 file changed, 1 insertion(+)
diff --git a/mail_restrict_follower_selection/__manifest__.py b/mail_restrict_follower_selection/__manifest__.py
index aa6f46a407..1a53532567 100644
--- a/mail_restrict_follower_selection/__manifest__.py
+++ b/mail_restrict_follower_selection/__manifest__.py
@@ -8,6 +8,7 @@
"author": "Therp BV,Creu Blanca,Odoo Community Association (OCA)",
"license": "AGPL-3",
"category": "Social Network",
+ "website": "https://github.com/OCA/social",
"summary": "Define a domain from which followers can be selected",
"depends": ["mail"],
"data": ["data/ir_config_parameter.xml", "data/ir_actions.xml"],
From 8a555bb88ee7bd5985b6fe96b644c5780f06d389 Mon Sep 17 00:00:00 2001
From: Olga Marco
Date: Thu, 30 Dec 2021 13:33:52 +0100
Subject: [PATCH 19/36] [MIG] mail_restrict_follower_selection: Migration to
14.0
---
mail_restrict_follower_selection/__manifest__.py | 2 +-
.../data/ir_actions.xml | 11 ++++-------
.../models/mail_followers.py | 15 +++++++++++++++
.../test_mail_restrict_follower_selection.py | 13 ++++++-------
4 files changed, 26 insertions(+), 15 deletions(-)
diff --git a/mail_restrict_follower_selection/__manifest__.py b/mail_restrict_follower_selection/__manifest__.py
index 1a53532567..2fed8a5b3c 100644
--- a/mail_restrict_follower_selection/__manifest__.py
+++ b/mail_restrict_follower_selection/__manifest__.py
@@ -4,7 +4,7 @@
{
"name": "Restrict follower selection",
- "version": "13.0.1.0.2",
+ "version": "14.0.1.0.0",
"author": "Therp BV,Creu Blanca,Odoo Community Association (OCA)",
"license": "AGPL-3",
"category": "Social Network",
diff --git a/mail_restrict_follower_selection/data/ir_actions.xml b/mail_restrict_follower_selection/data/ir_actions.xml
index c41dbab2a8..59478e10b6 100644
--- a/mail_restrict_follower_selection/data/ir_actions.xml
+++ b/mail_restrict_follower_selection/data/ir_actions.xml
@@ -1,13 +1,10 @@
-
-
+
+ Configure the restriction on followers
+ ir.config_parameter
+ form
Configure the restriction on followers
diff --git a/mail_restrict_follower_selection/models/mail_followers.py b/mail_restrict_follower_selection/models/mail_followers.py
index a19a27eb8d..06a9aaaf4c 100644
--- a/mail_restrict_follower_selection/models/mail_followers.py
+++ b/mail_restrict_follower_selection/models/mail_followers.py
@@ -2,6 +2,7 @@
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
from odoo import models
+from odoo.tools import config
from odoo.tools.safe_eval import safe_eval
@@ -19,6 +20,20 @@ def _add_followers(
check_existing=False,
existing_policy="skip",
):
+ test_condition = config["test_enable"] and not self.env.context.get(
+ "test_restrict_follower"
+ )
+ if test_condition or self.env.context.get("no_restrict_follower"):
+ return super()._add_followers(
+ res_model,
+ res_ids,
+ partner_ids,
+ partner_subtypes,
+ channel_ids,
+ channel_subtypes,
+ check_existing=check_existing,
+ existing_policy=existing_policy,
+ )
domain = self.env[
"mail.wizard.invite"
]._mail_restrict_follower_selection_get_domain()
diff --git a/mail_restrict_follower_selection/tests/test_mail_restrict_follower_selection.py b/mail_restrict_follower_selection/tests/test_mail_restrict_follower_selection.py
index c4ce705d88..9806569556 100644
--- a/mail_restrict_follower_selection/tests/test_mail_restrict_follower_selection.py
+++ b/mail_restrict_follower_selection/tests/test_mail_restrict_follower_selection.py
@@ -33,12 +33,11 @@ def send_action(self):
compose = (
self.env["mail.compose.message"]
.with_context(
- {
- "mail_post_autofollow": True,
- "default_composition_mode": "comment",
- "default_model": "res.partner",
- "default_use_active_domain": True,
- }
+ mail_post_autofollow=True,
+ default_composition_mode="comment",
+ default_model="res.partner",
+ default_use_active_domain=True,
+ test_restrict_follower=True,
)
.create(
{
@@ -50,7 +49,7 @@ def send_action(self):
)
)
self.assertEqual(compose.partner_ids, self.partner)
- compose.action_send_mail()
+ compose.send_mail()
def test_followers_meet(self):
self.partner.write({"category_id": self.category_employees})
From 41796e7173e2876fdb6026642a08caaa903bdeee Mon Sep 17 00:00:00 2001
From: Enrique
Date: Thu, 2 Jan 2020 13:45:13 +0100
Subject: [PATCH 20/36] [FIX] mail_restrict_follower_selection: res_model not
always in context When creating a record from a record from another model,
the model is not in the context (`default_res_model` key). For example:
creating an invoice from a sale order.
---
.../models/mail_followers.py | 9 ++++----
.../models/mail_wizard_invite.py | 22 ++++++++-----------
2 files changed, 14 insertions(+), 17 deletions(-)
diff --git a/mail_restrict_follower_selection/models/mail_followers.py b/mail_restrict_follower_selection/models/mail_followers.py
index 06a9aaaf4c..3576e1552a 100644
--- a/mail_restrict_follower_selection/models/mail_followers.py
+++ b/mail_restrict_follower_selection/models/mail_followers.py
@@ -35,10 +35,11 @@ def _add_followers(
existing_policy=existing_policy,
)
domain = self.env[
- "mail.wizard.invite"
- ]._mail_restrict_follower_selection_get_domain()
- partners = self.env["res.partner"].search(
- [("id", "in", partner_ids)] + safe_eval(domain)
+ 'mail.wizard.invite'
+ ]._mail_restrict_follower_selection_get_domain(res_model=res_model)
+ partners = self.env['res.partner'].search(
+ [('id', 'in', partner_ids)] +
+ safe_eval(domain)
)
_res_ids = res_ids.copy() or [0]
new, update = super()._add_followers(
diff --git a/mail_restrict_follower_selection/models/mail_wizard_invite.py b/mail_restrict_follower_selection/models/mail_wizard_invite.py
index e04c486cf9..0d579f7855 100644
--- a/mail_restrict_follower_selection/models/mail_wizard_invite.py
+++ b/mail_restrict_follower_selection/models/mail_wizard_invite.py
@@ -11,19 +11,15 @@ class MailWizardInvite(models.TransientModel):
_inherit = "mail.wizard.invite"
@api.model
- def _mail_restrict_follower_selection_get_domain(self):
- parameter_name = "mail_restrict_follower_selection.domain"
- return (
- self.env["ir.config_parameter"]
- .sudo()
- .get_param(
- "{}.{}".format(
- parameter_name, self.env.context.get("default_res_model")
- ),
- self.env["ir.config_parameter"]
- .sudo()
- .get_param(parameter_name, default="[]"),
- )
+ def _mail_restrict_follower_selection_get_domain(self, res_model=None):
+ if not res_model:
+ res_model = self.env.context.get('default_res_model')
+ parameter_name = 'mail_restrict_follower_selection.domain'
+ return self.env['ir.config_parameter'].sudo().get_param(
+ "{0}.{1}".format(parameter_name,
+ res_model),
+ self.env['ir.config_parameter'].sudo().get_param(
+ parameter_name, default='[]')
)
@api.model
From 31fae93cfdb056a182ecd5c08b1170c2304be854 Mon Sep 17 00:00:00 2001
From: angelmoya
Date: Tue, 22 Dec 2020 10:18:50 +0100
Subject: [PATCH 21/36] [IMP] mail_restrict_follower_selection: Adding tests
and improving pre-commit
---
.../models/mail_followers.py | 7 +++----
.../models/mail_wizard_invite.py | 18 +++++++++++-------
.../test_mail_restrict_follower_selection.py | 16 ++++++++++++++++
3 files changed, 30 insertions(+), 11 deletions(-)
diff --git a/mail_restrict_follower_selection/models/mail_followers.py b/mail_restrict_follower_selection/models/mail_followers.py
index 3576e1552a..30ca69c799 100644
--- a/mail_restrict_follower_selection/models/mail_followers.py
+++ b/mail_restrict_follower_selection/models/mail_followers.py
@@ -35,11 +35,10 @@ def _add_followers(
existing_policy=existing_policy,
)
domain = self.env[
- 'mail.wizard.invite'
+ "mail.wizard.invite"
]._mail_restrict_follower_selection_get_domain(res_model=res_model)
- partners = self.env['res.partner'].search(
- [('id', 'in', partner_ids)] +
- safe_eval(domain)
+ partners = self.env["res.partner"].search(
+ [("id", "in", partner_ids)] + safe_eval(domain)
)
_res_ids = res_ids.copy() or [0]
new, update = super()._add_followers(
diff --git a/mail_restrict_follower_selection/models/mail_wizard_invite.py b/mail_restrict_follower_selection/models/mail_wizard_invite.py
index 0d579f7855..9434f1581f 100644
--- a/mail_restrict_follower_selection/models/mail_wizard_invite.py
+++ b/mail_restrict_follower_selection/models/mail_wizard_invite.py
@@ -13,13 +13,17 @@ class MailWizardInvite(models.TransientModel):
@api.model
def _mail_restrict_follower_selection_get_domain(self, res_model=None):
if not res_model:
- res_model = self.env.context.get('default_res_model')
- parameter_name = 'mail_restrict_follower_selection.domain'
- return self.env['ir.config_parameter'].sudo().get_param(
- "{0}.{1}".format(parameter_name,
- res_model),
- self.env['ir.config_parameter'].sudo().get_param(
- parameter_name, default='[]')
+ res_model = self.env.context.get("default_res_model")
+ parameter_name = "mail_restrict_follower_selection.domain"
+ return (
+ self.env["ir.config_parameter"]
+ .sudo()
+ .get_param(
+ "{}.{}".format(parameter_name, res_model),
+ self.env["ir.config_parameter"]
+ .sudo()
+ .get_param(parameter_name, default="[]"),
+ )
)
@api.model
diff --git a/mail_restrict_follower_selection/tests/test_mail_restrict_follower_selection.py b/mail_restrict_follower_selection/tests/test_mail_restrict_follower_selection.py
index 9806569556..e8bf0565ca 100644
--- a/mail_restrict_follower_selection/tests/test_mail_restrict_follower_selection.py
+++ b/mail_restrict_follower_selection/tests/test_mail_restrict_follower_selection.py
@@ -64,3 +64,19 @@ def test_followers_not_meet(self):
self.assertNotIn(
self.partner, self.partner.message_follower_ids.mapped("partner_id")
)
+
+ def test_message_add_suggested_recipient(self):
+ res = self.partner.with_context(
+ test_restrict_follower=True
+ )._message_add_suggested_recipient({self.partner.id: []}, partner=self.partner)
+ self.assertEqual(res[self.partner.id][0][0], self.partner.id)
+ self.env["ir.config_parameter"].create(
+ {
+ "key": "mail_restrict_follower_selection.domain.res.partner",
+ "value": "[('category_id.name', '!=', 'Employees')]",
+ }
+ )
+ new_res = self.partner.with_context(
+ test_restrict_follower=True
+ )._message_add_suggested_recipient({self.partner.id: []})
+ self.assertFalse(new_res[self.partner.id][0][0])
From 44a0614bba47fcbc658571502228ab3ed73eb2c7 Mon Sep 17 00:00:00 2001
From: oca-travis
Date: Tue, 3 May 2022 13:45:58 +0000
Subject: [PATCH 22/36] [UPD] Update mail_restrict_follower_selection.pot
---
.../i18n/mail_restrict_follower_selection.pot | 23 ++++++++++++++++++-
1 file changed, 22 insertions(+), 1 deletion(-)
diff --git a/mail_restrict_follower_selection/i18n/mail_restrict_follower_selection.pot b/mail_restrict_follower_selection/i18n/mail_restrict_follower_selection.pot
index 5356952828..f89348394a 100644
--- a/mail_restrict_follower_selection/i18n/mail_restrict_follower_selection.pot
+++ b/mail_restrict_follower_selection/i18n/mail_restrict_follower_selection.pot
@@ -4,7 +4,7 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: Odoo Server 13.0\n"
+"Project-Id-Version: Odoo Server 14.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: \n"
"Language-Team: \n"
@@ -18,6 +18,13 @@ msgstr ""
msgid "Configure the restriction on followers"
msgstr ""
+#. module: mail_restrict_follower_selection
+#: model:ir.model.fields,field_description:mail_restrict_follower_selection.field_mail_followers__display_name
+#: model:ir.model.fields,field_description:mail_restrict_follower_selection.field_mail_thread__display_name
+#: model:ir.model.fields,field_description:mail_restrict_follower_selection.field_mail_wizard_invite__display_name
+msgid "Display Name"
+msgstr ""
+
#. module: mail_restrict_follower_selection
#: model:ir.model,name:mail_restrict_follower_selection.model_mail_followers
msgid "Document Followers"
@@ -28,7 +35,21 @@ msgstr ""
msgid "Email Thread"
msgstr ""
+#. module: mail_restrict_follower_selection
+#: model:ir.model.fields,field_description:mail_restrict_follower_selection.field_mail_followers__id
+#: model:ir.model.fields,field_description:mail_restrict_follower_selection.field_mail_thread__id
+#: model:ir.model.fields,field_description:mail_restrict_follower_selection.field_mail_wizard_invite__id
+msgid "ID"
+msgstr ""
+
#. module: mail_restrict_follower_selection
#: model:ir.model,name:mail_restrict_follower_selection.model_mail_wizard_invite
msgid "Invite wizard"
msgstr ""
+
+#. module: mail_restrict_follower_selection
+#: model:ir.model.fields,field_description:mail_restrict_follower_selection.field_mail_followers____last_update
+#: model:ir.model.fields,field_description:mail_restrict_follower_selection.field_mail_thread____last_update
+#: model:ir.model.fields,field_description:mail_restrict_follower_selection.field_mail_wizard_invite____last_update
+msgid "Last Modified on"
+msgstr ""
From a0cbe9cde1778306e8b99606224d19a726b48119 Mon Sep 17 00:00:00 2001
From: OCA-git-bot
Date: Tue, 3 May 2022 13:55:20 +0000
Subject: [PATCH 23/36] [UPD] README.rst
---
mail_restrict_follower_selection/README.rst | 10 +++++-----
.../static/description/index.html | 6 +++---
2 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/mail_restrict_follower_selection/README.rst b/mail_restrict_follower_selection/README.rst
index e09b1866c0..fa09fa36fc 100644
--- a/mail_restrict_follower_selection/README.rst
+++ b/mail_restrict_follower_selection/README.rst
@@ -14,13 +14,13 @@ Restrict follower selection
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fsocial-lightgray.png?logo=github
- :target: https://github.com/OCA/social/tree/13.0/mail_restrict_follower_selection
+ :target: https://github.com/OCA/social/tree/14.0/mail_restrict_follower_selection
:alt: OCA/social
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
- :target: https://translation.odoo-community.org/projects/social-13-0/social-13-0-mail_restrict_follower_selection
+ :target: https://translation.odoo-community.org/projects/social-14-0/social-14-0-mail_restrict_follower_selection
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
- :target: https://runbot.odoo-community.org/runbot/205/13.0
+ :target: https://runbot.odoo-community.org/runbot/205/14.0
:alt: Try me on Runbot
|badge1| |badge2| |badge3| |badge4| |badge5|
@@ -59,7 +59,7 @@ Bug Tracker
Bugs are tracked on `GitHub Issues `_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed
-`feedback `_.
+`feedback `_.
Do not contact contributors directly about support or help with technical issues.
@@ -92,6 +92,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_restrict_follower_selection/static/description/index.html b/mail_restrict_follower_selection/static/description/index.html
index 49f07278fb..5b5b44fbb3 100644
--- a/mail_restrict_follower_selection/static/description/index.html
+++ b/mail_restrict_follower_selection/static/description/index.html
@@ -367,7 +367,7 @@ Restrict follower selection
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
-
+
This module was written to allow you to restrict the selection of possible
followers. For example, if you use the social ERP functions only internally,
it makes sense to filter possible followers for being employees. Otherwise,
@@ -404,7 +404,7 @@
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.
@@ -431,7 +431,7 @@
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 1e6adad124603ba8633ca0712dcc23e58f6a1cec Mon Sep 17 00:00:00 2001
From: OCA Transbot
Date: Tue, 3 May 2022 14:53:17 +0000
Subject: [PATCH 24/36] Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.
Translation: social-14.0/social-14.0-mail_restrict_follower_selection
Translate-URL: https://translation.odoo-community.org/projects/social-14-0/social-14-0-mail_restrict_follower_selection/
---
mail_restrict_follower_selection/i18n/de.po | 21 +++++++++++++++++++++
mail_restrict_follower_selection/i18n/fr.po | 21 +++++++++++++++++++++
mail_restrict_follower_selection/i18n/hr.po | 21 +++++++++++++++++++++
mail_restrict_follower_selection/i18n/it.po | 21 +++++++++++++++++++++
mail_restrict_follower_selection/i18n/sl.po | 21 +++++++++++++++++++++
5 files changed, 105 insertions(+)
diff --git a/mail_restrict_follower_selection/i18n/de.po b/mail_restrict_follower_selection/i18n/de.po
index eff22263ff..953f26effd 100644
--- a/mail_restrict_follower_selection/i18n/de.po
+++ b/mail_restrict_follower_selection/i18n/de.po
@@ -21,6 +21,13 @@ msgstr ""
msgid "Configure the restriction on followers"
msgstr "Beschränkung der Abonnenten konfigurieren"
+#. module: mail_restrict_follower_selection
+#: model:ir.model.fields,field_description:mail_restrict_follower_selection.field_mail_followers__display_name
+#: model:ir.model.fields,field_description:mail_restrict_follower_selection.field_mail_thread__display_name
+#: model:ir.model.fields,field_description:mail_restrict_follower_selection.field_mail_wizard_invite__display_name
+msgid "Display Name"
+msgstr ""
+
#. module: mail_restrict_follower_selection
#: model:ir.model,name:mail_restrict_follower_selection.model_mail_followers
msgid "Document Followers"
@@ -31,7 +38,21 @@ msgstr "Abonnenten des Dokuments"
msgid "Email Thread"
msgstr ""
+#. module: mail_restrict_follower_selection
+#: model:ir.model.fields,field_description:mail_restrict_follower_selection.field_mail_followers__id
+#: model:ir.model.fields,field_description:mail_restrict_follower_selection.field_mail_thread__id
+#: model:ir.model.fields,field_description:mail_restrict_follower_selection.field_mail_wizard_invite__id
+msgid "ID"
+msgstr ""
+
#. module: mail_restrict_follower_selection
#: model:ir.model,name:mail_restrict_follower_selection.model_mail_wizard_invite
msgid "Invite wizard"
msgstr "Assistent zum Einladen von Abonnenten"
+
+#. module: mail_restrict_follower_selection
+#: model:ir.model.fields,field_description:mail_restrict_follower_selection.field_mail_followers____last_update
+#: model:ir.model.fields,field_description:mail_restrict_follower_selection.field_mail_thread____last_update
+#: model:ir.model.fields,field_description:mail_restrict_follower_selection.field_mail_wizard_invite____last_update
+msgid "Last Modified on"
+msgstr ""
diff --git a/mail_restrict_follower_selection/i18n/fr.po b/mail_restrict_follower_selection/i18n/fr.po
index 7f96c92b0f..545f0b10c5 100644
--- a/mail_restrict_follower_selection/i18n/fr.po
+++ b/mail_restrict_follower_selection/i18n/fr.po
@@ -24,6 +24,13 @@ msgstr ""
msgid "Configure the restriction on followers"
msgstr "Configurer les restrictions sur les abonnés"
+#. module: mail_restrict_follower_selection
+#: model:ir.model.fields,field_description:mail_restrict_follower_selection.field_mail_followers__display_name
+#: model:ir.model.fields,field_description:mail_restrict_follower_selection.field_mail_thread__display_name
+#: model:ir.model.fields,field_description:mail_restrict_follower_selection.field_mail_wizard_invite__display_name
+msgid "Display Name"
+msgstr ""
+
#. module: mail_restrict_follower_selection
#: model:ir.model,name:mail_restrict_follower_selection.model_mail_followers
msgid "Document Followers"
@@ -34,7 +41,21 @@ msgstr "Suiveurs du document"
msgid "Email Thread"
msgstr ""
+#. module: mail_restrict_follower_selection
+#: model:ir.model.fields,field_description:mail_restrict_follower_selection.field_mail_followers__id
+#: model:ir.model.fields,field_description:mail_restrict_follower_selection.field_mail_thread__id
+#: model:ir.model.fields,field_description:mail_restrict_follower_selection.field_mail_wizard_invite__id
+msgid "ID"
+msgstr ""
+
#. module: mail_restrict_follower_selection
#: model:ir.model,name:mail_restrict_follower_selection.model_mail_wizard_invite
msgid "Invite wizard"
msgstr "Assistant d'invitation"
+
+#. module: mail_restrict_follower_selection
+#: model:ir.model.fields,field_description:mail_restrict_follower_selection.field_mail_followers____last_update
+#: model:ir.model.fields,field_description:mail_restrict_follower_selection.field_mail_thread____last_update
+#: model:ir.model.fields,field_description:mail_restrict_follower_selection.field_mail_wizard_invite____last_update
+msgid "Last Modified on"
+msgstr ""
diff --git a/mail_restrict_follower_selection/i18n/hr.po b/mail_restrict_follower_selection/i18n/hr.po
index 38a74e130e..da6cfb42a4 100644
--- a/mail_restrict_follower_selection/i18n/hr.po
+++ b/mail_restrict_follower_selection/i18n/hr.po
@@ -24,6 +24,13 @@ msgstr ""
msgid "Configure the restriction on followers"
msgstr "Postavi ograničenja na pratitelje"
+#. module: mail_restrict_follower_selection
+#: model:ir.model.fields,field_description:mail_restrict_follower_selection.field_mail_followers__display_name
+#: model:ir.model.fields,field_description:mail_restrict_follower_selection.field_mail_thread__display_name
+#: model:ir.model.fields,field_description:mail_restrict_follower_selection.field_mail_wizard_invite__display_name
+msgid "Display Name"
+msgstr ""
+
#. module: mail_restrict_follower_selection
#: model:ir.model,name:mail_restrict_follower_selection.model_mail_followers
msgid "Document Followers"
@@ -34,7 +41,21 @@ msgstr ""
msgid "Email Thread"
msgstr ""
+#. module: mail_restrict_follower_selection
+#: model:ir.model.fields,field_description:mail_restrict_follower_selection.field_mail_followers__id
+#: model:ir.model.fields,field_description:mail_restrict_follower_selection.field_mail_thread__id
+#: model:ir.model.fields,field_description:mail_restrict_follower_selection.field_mail_wizard_invite__id
+msgid "ID"
+msgstr ""
+
#. module: mail_restrict_follower_selection
#: model:ir.model,name:mail_restrict_follower_selection.model_mail_wizard_invite
msgid "Invite wizard"
msgstr "Čarobnjak za pozivnce"
+
+#. module: mail_restrict_follower_selection
+#: model:ir.model.fields,field_description:mail_restrict_follower_selection.field_mail_followers____last_update
+#: model:ir.model.fields,field_description:mail_restrict_follower_selection.field_mail_thread____last_update
+#: model:ir.model.fields,field_description:mail_restrict_follower_selection.field_mail_wizard_invite____last_update
+msgid "Last Modified on"
+msgstr ""
diff --git a/mail_restrict_follower_selection/i18n/it.po b/mail_restrict_follower_selection/i18n/it.po
index 4e2da33c46..22960b3c35 100644
--- a/mail_restrict_follower_selection/i18n/it.po
+++ b/mail_restrict_follower_selection/i18n/it.po
@@ -24,6 +24,13 @@ msgstr ""
msgid "Configure the restriction on followers"
msgstr "Imposta restrizioni sui follower"
+#. module: mail_restrict_follower_selection
+#: model:ir.model.fields,field_description:mail_restrict_follower_selection.field_mail_followers__display_name
+#: model:ir.model.fields,field_description:mail_restrict_follower_selection.field_mail_thread__display_name
+#: model:ir.model.fields,field_description:mail_restrict_follower_selection.field_mail_wizard_invite__display_name
+msgid "Display Name"
+msgstr ""
+
#. module: mail_restrict_follower_selection
#: model:ir.model,name:mail_restrict_follower_selection.model_mail_followers
msgid "Document Followers"
@@ -34,7 +41,21 @@ msgstr "Follower Documento"
msgid "Email Thread"
msgstr ""
+#. module: mail_restrict_follower_selection
+#: model:ir.model.fields,field_description:mail_restrict_follower_selection.field_mail_followers__id
+#: model:ir.model.fields,field_description:mail_restrict_follower_selection.field_mail_thread__id
+#: model:ir.model.fields,field_description:mail_restrict_follower_selection.field_mail_wizard_invite__id
+msgid "ID"
+msgstr ""
+
#. module: mail_restrict_follower_selection
#: model:ir.model,name:mail_restrict_follower_selection.model_mail_wizard_invite
msgid "Invite wizard"
msgstr "Wizard Creazione Invito"
+
+#. module: mail_restrict_follower_selection
+#: model:ir.model.fields,field_description:mail_restrict_follower_selection.field_mail_followers____last_update
+#: model:ir.model.fields,field_description:mail_restrict_follower_selection.field_mail_thread____last_update
+#: model:ir.model.fields,field_description:mail_restrict_follower_selection.field_mail_wizard_invite____last_update
+msgid "Last Modified on"
+msgstr ""
diff --git a/mail_restrict_follower_selection/i18n/sl.po b/mail_restrict_follower_selection/i18n/sl.po
index b350b02642..c6e049a7a1 100644
--- a/mail_restrict_follower_selection/i18n/sl.po
+++ b/mail_restrict_follower_selection/i18n/sl.po
@@ -25,6 +25,13 @@ msgstr ""
msgid "Configure the restriction on followers"
msgstr "Nastavitev omejitev za sledilce"
+#. module: mail_restrict_follower_selection
+#: model:ir.model.fields,field_description:mail_restrict_follower_selection.field_mail_followers__display_name
+#: model:ir.model.fields,field_description:mail_restrict_follower_selection.field_mail_thread__display_name
+#: model:ir.model.fields,field_description:mail_restrict_follower_selection.field_mail_wizard_invite__display_name
+msgid "Display Name"
+msgstr ""
+
#. module: mail_restrict_follower_selection
#: model:ir.model,name:mail_restrict_follower_selection.model_mail_followers
msgid "Document Followers"
@@ -35,7 +42,21 @@ msgstr ""
msgid "Email Thread"
msgstr ""
+#. module: mail_restrict_follower_selection
+#: model:ir.model.fields,field_description:mail_restrict_follower_selection.field_mail_followers__id
+#: model:ir.model.fields,field_description:mail_restrict_follower_selection.field_mail_thread__id
+#: model:ir.model.fields,field_description:mail_restrict_follower_selection.field_mail_wizard_invite__id
+msgid "ID"
+msgstr ""
+
#. module: mail_restrict_follower_selection
#: model:ir.model,name:mail_restrict_follower_selection.model_mail_wizard_invite
msgid "Invite wizard"
msgstr "Čarovnik za vabila"
+
+#. module: mail_restrict_follower_selection
+#: model:ir.model.fields,field_description:mail_restrict_follower_selection.field_mail_followers____last_update
+#: model:ir.model.fields,field_description:mail_restrict_follower_selection.field_mail_thread____last_update
+#: model:ir.model.fields,field_description:mail_restrict_follower_selection.field_mail_wizard_invite____last_update
+msgid "Last Modified on"
+msgstr ""
From d9002772df0167db2946fe3cf3596ddd8ebae94f Mon Sep 17 00:00:00 2001
From: Francesco Foresti
Date: Fri, 18 Nov 2022 11:15:53 +0000
Subject: [PATCH 25/36] Translated using Weblate (Italian)
Currently translated at 100.0% (7 of 7 strings)
Translation: social-14.0/social-14.0-mail_restrict_follower_selection
Translate-URL: https://translation.odoo-community.org/projects/social-14-0/social-14-0-mail_restrict_follower_selection/it/
---
mail_restrict_follower_selection/i18n/it.po | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/mail_restrict_follower_selection/i18n/it.po b/mail_restrict_follower_selection/i18n/it.po
index 22960b3c35..d811a50850 100644
--- a/mail_restrict_follower_selection/i18n/it.po
+++ b/mail_restrict_follower_selection/i18n/it.po
@@ -9,15 +9,15 @@ msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-05-17 01:02+0000\n"
-"PO-Revision-Date: 2020-12-03 18:36+0000\n"
-"Last-Translator: Alessandro Fiorino \n"
+"PO-Revision-Date: 2022-11-18 13:44+0000\n"
+"Last-Translator: Francesco Foresti \n"
"Language-Team: Italian (https://www.transifex.com/oca/teams/23907/it/)\n"
"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 3.10\n"
+"X-Generator: Weblate 4.14.1\n"
#. module: mail_restrict_follower_selection
#: model:ir.actions.act_window,name:mail_restrict_follower_selection.action_setup
@@ -29,7 +29,7 @@ msgstr "Imposta restrizioni sui follower"
#: model:ir.model.fields,field_description:mail_restrict_follower_selection.field_mail_thread__display_name
#: model:ir.model.fields,field_description:mail_restrict_follower_selection.field_mail_wizard_invite__display_name
msgid "Display Name"
-msgstr ""
+msgstr "Nome da visualizzare"
#. module: mail_restrict_follower_selection
#: model:ir.model,name:mail_restrict_follower_selection.model_mail_followers
@@ -39,14 +39,14 @@ msgstr "Follower Documento"
#. module: mail_restrict_follower_selection
#: model:ir.model,name:mail_restrict_follower_selection.model_mail_thread
msgid "Email Thread"
-msgstr ""
+msgstr "Discussione Email"
#. module: mail_restrict_follower_selection
#: model:ir.model.fields,field_description:mail_restrict_follower_selection.field_mail_followers__id
#: model:ir.model.fields,field_description:mail_restrict_follower_selection.field_mail_thread__id
#: model:ir.model.fields,field_description:mail_restrict_follower_selection.field_mail_wizard_invite__id
msgid "ID"
-msgstr ""
+msgstr "ID"
#. module: mail_restrict_follower_selection
#: model:ir.model,name:mail_restrict_follower_selection.model_mail_wizard_invite
@@ -58,4 +58,4 @@ msgstr "Wizard Creazione Invito"
#: model:ir.model.fields,field_description:mail_restrict_follower_selection.field_mail_thread____last_update
#: model:ir.model.fields,field_description:mail_restrict_follower_selection.field_mail_wizard_invite____last_update
msgid "Last Modified on"
-msgstr ""
+msgstr "Ultima modifica il"
From e227b3f302988ee58515cc622bc5cf73d4583a7f Mon Sep 17 00:00:00 2001
From: oca-git-bot
Date: Mon, 12 Dec 2022 00:16:34 +0100
Subject: [PATCH 26/36] [IMP] update dotfiles [ci skip]
---
mail_restrict_follower_selection/i18n/en.po | 39 ---------------------
1 file changed, 39 deletions(-)
delete mode 100644 mail_restrict_follower_selection/i18n/en.po
diff --git a/mail_restrict_follower_selection/i18n/en.po b/mail_restrict_follower_selection/i18n/en.po
deleted file mode 100644
index e03abf3581..0000000000
--- a/mail_restrict_follower_selection/i18n/en.po
+++ /dev/null
@@ -1,39 +0,0 @@
-# Translation of Odoo Server.
-# This file contains the translation of the following modules:
-# * mail_restrict_follower_selection
-#
-# Translators:
-msgid ""
-msgstr ""
-"Project-Id-Version: social (8.0)\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-09-30 16:56+0000\n"
-"PO-Revision-Date: 2015-09-30 16:56+0000\n"
-"Last-Translator: OCA Transbot \n"
-"Language-Team: English (http://www.transifex.com/oca/OCA-social-8-0/language/"
-"en/)\n"
-"Language: en\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_restrict_follower_selection
-#: model:ir.actions.act_window,name:mail_restrict_follower_selection.action_setup
-msgid "Configure the restriction on followers"
-msgstr "Configure the restriction on followers"
-
-#. module: mail_restrict_follower_selection
-#: model:ir.model,name:mail_restrict_follower_selection.model_mail_followers
-msgid "Document Followers"
-msgstr ""
-
-#. module: mail_restrict_follower_selection
-#: model:ir.model,name:mail_restrict_follower_selection.model_mail_thread
-msgid "Email Thread"
-msgstr ""
-
-#. module: mail_restrict_follower_selection
-#: model:ir.model,name:mail_restrict_follower_selection.model_mail_wizard_invite
-msgid "Invite wizard"
-msgstr "Invite wizard"
From 0c3d334b11926e6f310324d63c2b25f59d018c30 Mon Sep 17 00:00:00 2001
From: Aungkokolin1997
Date: Thu, 15 Sep 2022 09:43:33 +0630
Subject: [PATCH 27/36] [15.0][MIG] mail_restrict_follower_selection: Migration
to 15.0
---
mail_restrict_follower_selection/README.rst | 10 +++++-----
mail_restrict_follower_selection/__manifest__.py | 2 +-
.../models/mail_followers.py | 12 +++---------
.../static/description/index.html | 8 ++++----
.../tests/test_mail_restrict_follower_selection.py | 2 +-
5 files changed, 14 insertions(+), 20 deletions(-)
diff --git a/mail_restrict_follower_selection/README.rst b/mail_restrict_follower_selection/README.rst
index fa09fa36fc..5396f0e2e1 100644
--- a/mail_restrict_follower_selection/README.rst
+++ b/mail_restrict_follower_selection/README.rst
@@ -14,13 +14,13 @@ Restrict follower selection
: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_restrict_follower_selection
+ :target: https://github.com/OCA/social/tree/15.0/mail_restrict_follower_selection
: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_restrict_follower_selection
+ :target: https://translation.odoo-community.org/projects/social-15-0/social-15-0-mail_restrict_follower_selection
: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|
@@ -59,7 +59,7 @@ Bug Tracker
Bugs are tracked on `GitHub Issues `_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed
-`feedback `_.
+`feedback `_.
Do not contact contributors directly about support or help with technical issues.
@@ -92,6 +92,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_restrict_follower_selection/__manifest__.py b/mail_restrict_follower_selection/__manifest__.py
index 2fed8a5b3c..26ba3fd34b 100644
--- a/mail_restrict_follower_selection/__manifest__.py
+++ b/mail_restrict_follower_selection/__manifest__.py
@@ -4,7 +4,7 @@
{
"name": "Restrict follower selection",
- "version": "14.0.1.0.0",
+ "version": "15.0.1.0.0",
"author": "Therp BV,Creu Blanca,Odoo Community Association (OCA)",
"license": "AGPL-3",
"category": "Social Network",
diff --git a/mail_restrict_follower_selection/models/mail_followers.py b/mail_restrict_follower_selection/models/mail_followers.py
index 30ca69c799..2963492494 100644
--- a/mail_restrict_follower_selection/models/mail_followers.py
+++ b/mail_restrict_follower_selection/models/mail_followers.py
@@ -14,9 +14,7 @@ def _add_followers(
res_model,
res_ids,
partner_ids,
- partner_subtypes,
- channel_ids,
- channel_subtypes,
+ subtypes,
check_existing=False,
existing_policy="skip",
):
@@ -28,9 +26,7 @@ def _add_followers(
res_model,
res_ids,
partner_ids,
- partner_subtypes,
- channel_ids,
- channel_subtypes,
+ subtypes,
check_existing=check_existing,
existing_policy=existing_policy,
)
@@ -45,9 +41,7 @@ def _add_followers(
res_model,
res_ids,
partners.ids,
- partner_subtypes,
- channel_ids,
- channel_subtypes,
+ subtypes,
check_existing=check_existing,
existing_policy=existing_policy,
)
diff --git a/mail_restrict_follower_selection/static/description/index.html b/mail_restrict_follower_selection/static/description/index.html
index 5b5b44fbb3..062f7e3575 100644
--- a/mail_restrict_follower_selection/static/description/index.html
+++ b/mail_restrict_follower_selection/static/description/index.html
@@ -3,7 +3,7 @@
-
+
Restrict follower selection