From fb7e956c5baeb50df409e87195a39bd64f77d4e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Mart=C3=ADnez?= Date: Thu, 30 May 2024 16:52:12 +0200 Subject: [PATCH 1/8] [ADD] mail_no_user_assign_notification: New module TT49257 --- mail_no_user_assign_notification/README.rst | 112 +++++ mail_no_user_assign_notification/__init__.py | 1 + .../__manifest__.py | 14 + .../data/ir_config_parameter.xml | 7 + mail_no_user_assign_notification/i18n/es.po | 23 + .../i18n/mail_no_user_assign_notification.pot | 19 + .../models/__init__.py | 3 + .../models/mail_thread.py | 24 + .../readme/CONFIGURE.rst | 7 + .../readme/CONTRIBUTORS.rst | 4 + .../readme/DESCRIPTION.rst | 1 + .../readme/ROADMAP.rst | 2 + .../readme/USAGE.rst | 4 + .../static/description/icon.png | Bin 0 -> 9455 bytes .../static/description/index.html | 455 ++++++++++++++++++ .../tests/__init__.py | 3 + .../test_mail_no_user_assign_notification.py | 61 +++ 17 files changed, 740 insertions(+) create mode 100644 mail_no_user_assign_notification/README.rst create mode 100644 mail_no_user_assign_notification/__init__.py create mode 100644 mail_no_user_assign_notification/__manifest__.py create mode 100644 mail_no_user_assign_notification/data/ir_config_parameter.xml create mode 100644 mail_no_user_assign_notification/i18n/es.po create mode 100644 mail_no_user_assign_notification/i18n/mail_no_user_assign_notification.pot create mode 100644 mail_no_user_assign_notification/models/__init__.py create mode 100644 mail_no_user_assign_notification/models/mail_thread.py create mode 100644 mail_no_user_assign_notification/readme/CONFIGURE.rst create mode 100644 mail_no_user_assign_notification/readme/CONTRIBUTORS.rst create mode 100644 mail_no_user_assign_notification/readme/DESCRIPTION.rst create mode 100644 mail_no_user_assign_notification/readme/ROADMAP.rst create mode 100644 mail_no_user_assign_notification/readme/USAGE.rst create mode 100644 mail_no_user_assign_notification/static/description/icon.png create mode 100644 mail_no_user_assign_notification/static/description/index.html create mode 100644 mail_no_user_assign_notification/tests/__init__.py create mode 100644 mail_no_user_assign_notification/tests/test_mail_no_user_assign_notification.py diff --git a/mail_no_user_assign_notification/README.rst b/mail_no_user_assign_notification/README.rst new file mode 100644 index 000000000..fd709d4a1 --- /dev/null +++ b/mail_no_user_assign_notification/README.rst @@ -0,0 +1,112 @@ +================================ +Mail No user Assign Notification +================================ + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:6a4d1334c05ef20496bb328fb7923f2a690c50cf84df26ff96c75edc66bac568 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fsocial-lightgray.png?logo=github + :target: https://github.com/OCA/social/tree/15.0/mail_no_user_assign_notification + :alt: OCA/social +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/social-15-0/social-15-0-mail_no_user_assign_notification + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/social&target_branch=15.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module inhibits the assignation notification from the models that we want. + +**Table of contents** + +.. contents:: + :local: + +Configuration +============= + +#. Go to Settings > Technical > System Parameters +#. Edit "mail_no_user_assign_notification.models" key record +#. Set any model* (for example: res.partner). + +NOTE1: It is possible to set several models separated by comma (e.g.: model1,model2). + +NOTE2: The model should have the field `user_id` for this to be effective. + +Usage +===== + +#. Go to one of the configured models (like Contacts). +#. Create or edit a record, and assign the field for the user (in contacts, it's called + "Salesperson", in purchase orders it's "Purchase representative", etc). +#. The user won't receive the automatic assignment email. + +Known issues / Roadmap +====================== + +* This is not valid for project tasks users assignation, as the field is multi-relational. + A specific extension would be needed. + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +~~~~~~~ + +* Tecnativa + +Contributors +~~~~~~~~~~~~ + +* `Tecnativa `_: + + * Víctor Martínez + * Pedro M. Baeza + +Maintainers +~~~~~~~~~~~ + +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +.. |maintainer-victoralmau| image:: https://github.com/victoralmau.png?size=40px + :target: https://github.com/victoralmau + :alt: victoralmau + +Current `maintainer `__: + +|maintainer-victoralmau| + +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_no_user_assign_notification/__init__.py b/mail_no_user_assign_notification/__init__.py new file mode 100644 index 000000000..0650744f6 --- /dev/null +++ b/mail_no_user_assign_notification/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/mail_no_user_assign_notification/__manifest__.py b/mail_no_user_assign_notification/__manifest__.py new file mode 100644 index 000000000..93484d97a --- /dev/null +++ b/mail_no_user_assign_notification/__manifest__.py @@ -0,0 +1,14 @@ +# Copyright 2024 Tecnativa - Víctor Martínez +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). +{ + "name": "Mail No user Assign Notification", + "author": "Tecnativa, Odoo Community Association (OCA)", + "website": "https://github.com/OCA/social", + "version": "15.0.1.0.0", + "depends": ["mail"], + "license": "AGPL-3", + "category": "Discuss", + "data": ["data/ir_config_parameter.xml"], + "installable": True, + "maintainers": ["victoralmau"], +} diff --git a/mail_no_user_assign_notification/data/ir_config_parameter.xml b/mail_no_user_assign_notification/data/ir_config_parameter.xml new file mode 100644 index 000000000..d33db04f7 --- /dev/null +++ b/mail_no_user_assign_notification/data/ir_config_parameter.xml @@ -0,0 +1,7 @@ + + + + mail_no_user_assign_notification.models + + + diff --git a/mail_no_user_assign_notification/i18n/es.po b/mail_no_user_assign_notification/i18n/es.po new file mode 100644 index 000000000..3fa5c046b --- /dev/null +++ b/mail_no_user_assign_notification/i18n/es.po @@ -0,0 +1,23 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mail_no_user_assign_notification +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 15.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-30 15:32+0000\n" +"PO-Revision-Date: 2024-05-30 17:33+0200\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: \n" +"X-Generator: Poedit 3.0.1\n" + +#. module: mail_no_user_assign_notification +#: model:ir.model,name:mail_no_user_assign_notification.model_mail_thread +msgid "Email Thread" +msgstr "Hilo de mensajes" diff --git a/mail_no_user_assign_notification/i18n/mail_no_user_assign_notification.pot b/mail_no_user_assign_notification/i18n/mail_no_user_assign_notification.pot new file mode 100644 index 000000000..224335a7c --- /dev/null +++ b/mail_no_user_assign_notification/i18n/mail_no_user_assign_notification.pot @@ -0,0 +1,19 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mail_no_user_assign_notification +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 15.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: mail_no_user_assign_notification +#: model:ir.model,name:mail_no_user_assign_notification.model_mail_thread +msgid "Email Thread" +msgstr "" diff --git a/mail_no_user_assign_notification/models/__init__.py b/mail_no_user_assign_notification/models/__init__.py new file mode 100644 index 000000000..f2f13374b --- /dev/null +++ b/mail_no_user_assign_notification/models/__init__.py @@ -0,0 +1,3 @@ +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from . import mail_thread diff --git a/mail_no_user_assign_notification/models/mail_thread.py b/mail_no_user_assign_notification/models/mail_thread.py new file mode 100644 index 000000000..28b02c666 --- /dev/null +++ b/mail_no_user_assign_notification/models/mail_thread.py @@ -0,0 +1,24 @@ +# Copyright 2024 Tecnativa - Víctor Martínez +# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html + +from odoo import models + + +class MailThread(models.AbstractModel): + _inherit = "mail.thread" + + def _message_auto_subscribe_followers(self, updated_values, default_subtype_ids): + """Remove user_id from updated_values if this model has been set. + This will prevent the user from auto subscrube to records on creation and/or + assignment.""" + if updated_values.get("user_id"): + icp = self.sudo().env["ir.config_parameter"] + models_to_skip = icp.get_param( + "mail_no_user_assign_notification.models", "" + ) + models_to_skip = [x.strip() for x in models_to_skip.split(",")] + if self._name in models_to_skip: + updated_values.pop("user_id") + return super()._message_auto_subscribe_followers( + updated_values=updated_values, default_subtype_ids=default_subtype_ids + ) diff --git a/mail_no_user_assign_notification/readme/CONFIGURE.rst b/mail_no_user_assign_notification/readme/CONFIGURE.rst new file mode 100644 index 000000000..dfa6df12b --- /dev/null +++ b/mail_no_user_assign_notification/readme/CONFIGURE.rst @@ -0,0 +1,7 @@ +#. Go to Settings > Technical > System Parameters +#. Edit "mail_no_user_assign_notification.models" key record +#. Set any model* (for example: res.partner). + +NOTE1: It is possible to set several models separated by comma (e.g.: model1,model2). + +NOTE2: The model should have the field `user_id` for this to be effective. diff --git a/mail_no_user_assign_notification/readme/CONTRIBUTORS.rst b/mail_no_user_assign_notification/readme/CONTRIBUTORS.rst new file mode 100644 index 000000000..5fb713053 --- /dev/null +++ b/mail_no_user_assign_notification/readme/CONTRIBUTORS.rst @@ -0,0 +1,4 @@ +* `Tecnativa `_: + + * Víctor Martínez + * Pedro M. Baeza diff --git a/mail_no_user_assign_notification/readme/DESCRIPTION.rst b/mail_no_user_assign_notification/readme/DESCRIPTION.rst new file mode 100644 index 000000000..5242a6317 --- /dev/null +++ b/mail_no_user_assign_notification/readme/DESCRIPTION.rst @@ -0,0 +1 @@ +This module inhibits the assignation notification from the models that we want. diff --git a/mail_no_user_assign_notification/readme/ROADMAP.rst b/mail_no_user_assign_notification/readme/ROADMAP.rst new file mode 100644 index 000000000..6633bdfa3 --- /dev/null +++ b/mail_no_user_assign_notification/readme/ROADMAP.rst @@ -0,0 +1,2 @@ +* This is not valid for project tasks users assignation, as the field is multi-relational. + A specific extension would be needed. diff --git a/mail_no_user_assign_notification/readme/USAGE.rst b/mail_no_user_assign_notification/readme/USAGE.rst new file mode 100644 index 000000000..28839c376 --- /dev/null +++ b/mail_no_user_assign_notification/readme/USAGE.rst @@ -0,0 +1,4 @@ +#. Go to one of the configured models (like Contacts). +#. Create or edit a record, and assign the field for the user (in contacts, it's called + "Salesperson", in purchase orders it's "Purchase representative", etc). +#. The user won't receive the automatic assignment email. diff --git a/mail_no_user_assign_notification/static/description/icon.png b/mail_no_user_assign_notification/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_no_user_assign_notification/static/description/index.html b/mail_no_user_assign_notification/static/description/index.html new file mode 100644 index 000000000..7ec0fac71 --- /dev/null +++ b/mail_no_user_assign_notification/static/description/index.html @@ -0,0 +1,455 @@ + + + + + +Mail No user Assign Notification + + + +
+

Mail No user Assign Notification

+ + +

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

+

This module inhibits the assignation notification from the models that we want.

+

Table of contents

+ +
+

Configuration

+
    +
  1. Go to Settings > Technical > System Parameters
  2. +
  3. Edit “mail_no_user_assign_notification.models” key record
  4. +
  5. Set any model* (for example: res.partner).
  6. +
+

NOTE1: It is possible to set several models separated by comma (e.g.: model1,model2).

+

NOTE2: The model should have the field user_id for this to be effective.

+
+
+

Usage

+
    +
  1. Go to one of the configured models (like Contacts).
  2. +
  3. Create or edit a record, and assign the field for the user (in contacts, it’s called +“Salesperson”, in purchase orders it’s “Purchase representative”, etc).
  4. +
  5. The user won’t receive the automatic assignment email.
  6. +
+
+
+

Known issues / Roadmap

+
    +
  • This is not valid for project tasks users assignation, as the field is multi-relational. +A specific extension would be needed.
  • +
+
+
+

Bug Tracker

+

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

+

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

+
+
+

Credits

+
+

Authors

+
    +
  • Tecnativa
  • +
+
+
+

Contributors

+
    +
  • Tecnativa:
      +
    • Víctor Martínez
    • +
    • Pedro M. Baeza
    • +
    +
  • +
+
+
+

Maintainers

+

This module is maintained by the OCA.

+Odoo Community Association +

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

+

Current maintainer:

+

victoralmau

+

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_no_user_assign_notification/tests/__init__.py b/mail_no_user_assign_notification/tests/__init__.py new file mode 100644 index 000000000..5a63b7d7d --- /dev/null +++ b/mail_no_user_assign_notification/tests/__init__.py @@ -0,0 +1,3 @@ +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from . import test_mail_no_user_assign_notification diff --git a/mail_no_user_assign_notification/tests/test_mail_no_user_assign_notification.py b/mail_no_user_assign_notification/tests/test_mail_no_user_assign_notification.py new file mode 100644 index 000000000..4d92f05af --- /dev/null +++ b/mail_no_user_assign_notification/tests/test_mail_no_user_assign_notification.py @@ -0,0 +1,61 @@ +# Copyright 2024 Tecnativa - Víctor Martínez +# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html + + +from odoo.tests import common, new_test_user + + +class TestMailNoUserAssignNotification(common.TransactionCase): + @classmethod + def setUpClass(cls): + super().setUpClass() + cls.user = new_test_user(cls.env, login="test_user") + cls.icp = cls.env.ref( + "mail_no_user_assign_notification.no_user_assign_notification_models" + ) + cls.icp.value = "res.partner" + # patch registry to simulate a ready environment so that _message_auto_subscribe_notify + # will be executed with the associated notification + cls.env.registry.ready = True + + def _get_mail_messages(self, record): + return self.env["mail.message"].search( + [("model", "=", record._name), ("res_id", "=", record.id)] + ) + + def test_partner_create(self): + partner = self.env["res.partner"].create( + { + "name": "Test partner", + "user_id": self.user.id, + } + ) + all_messages = self._get_mail_messages(partner) + # Message with user_notification is created when the assignment email is sent. + self.assertNotIn("user_notification", all_messages.mapped("message_type")) + # Remove model from config parameter (default behavior) + self.icp.value = "" + extra_partner = self.env["res.partner"].create( + { + "name": "Test partner extra", + "user_id": self.user.id, + } + ) + all_messages = self._get_mail_messages(extra_partner) + message = all_messages.filtered(lambda x: x.message_type == "user_notification") + self.assertIn("You have been assigned to", message.body) + + def test_partner_write(self): + partner = self.env["res.partner"].create({"name": "Test partner"}) + all_messages = self._get_mail_messages(partner) + partner.write({"user_id": self.user.id}) + new_messages = self._get_mail_messages(partner) - all_messages + # Message with user_notification is created when the assignment email is sent. + self.assertNotIn("user_notification", new_messages.mapped("message_type")) + # Remove model from config parameter (default behavior) + self.icp.value = "" + extra_partner = self.env["res.partner"].create({"name": "Test partner extra"}) + all_messages = self._get_mail_messages(extra_partner) + extra_partner.write({"user_id": self.user.id}) + new_messages = self._get_mail_messages(extra_partner) - all_messages + self.assertIn("You have been assigned to", new_messages.body) From b38ed33ea4e2ce69733f2760c82d8c2945276d43 Mon Sep 17 00:00:00 2001 From: Carlos Lopez Date: Thu, 20 Feb 2025 08:08:16 -0500 Subject: [PATCH 2/8] [IMP] mail_no_user_assign_notification: pre-commit auto fixes --- mail_no_user_assign_notification/README.rst | 49 ++++++++++--------- .../pyproject.toml | 3 ++ .../readme/CONFIGURE.md | 8 +++ .../readme/CONFIGURE.rst | 7 --- .../readme/CONTRIBUTORS.md | 3 ++ .../readme/CONTRIBUTORS.rst | 4 -- .../{DESCRIPTION.rst => DESCRIPTION.md} | 3 +- .../readme/ROADMAP.md | 2 + .../readme/ROADMAP.rst | 2 - .../readme/USAGE.md | 5 ++ .../readme/USAGE.rst | 4 -- .../static/description/index.html | 36 ++++++++------ 12 files changed, 70 insertions(+), 56 deletions(-) create mode 100644 mail_no_user_assign_notification/pyproject.toml create mode 100644 mail_no_user_assign_notification/readme/CONFIGURE.md delete mode 100644 mail_no_user_assign_notification/readme/CONFIGURE.rst create mode 100644 mail_no_user_assign_notification/readme/CONTRIBUTORS.md delete mode 100644 mail_no_user_assign_notification/readme/CONTRIBUTORS.rst rename mail_no_user_assign_notification/readme/{DESCRIPTION.rst => DESCRIPTION.md} (80%) create mode 100644 mail_no_user_assign_notification/readme/ROADMAP.md delete mode 100644 mail_no_user_assign_notification/readme/ROADMAP.rst create mode 100644 mail_no_user_assign_notification/readme/USAGE.md delete mode 100644 mail_no_user_assign_notification/readme/USAGE.rst diff --git a/mail_no_user_assign_notification/README.rst b/mail_no_user_assign_notification/README.rst index fd709d4a1..afa59f21b 100644 --- a/mail_no_user_assign_notification/README.rst +++ b/mail_no_user_assign_notification/README.rst @@ -17,18 +17,19 @@ Mail No user Assign Notification :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fsocial-lightgray.png?logo=github - :target: https://github.com/OCA/social/tree/15.0/mail_no_user_assign_notification + :target: https://github.com/OCA/social/tree/17.0/mail_no_user_assign_notification :alt: OCA/social .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/social-15-0/social-15-0-mail_no_user_assign_notification + :target: https://translation.odoo-community.org/projects/social-17-0/social-17-0-mail_no_user_assign_notification :alt: Translate me on Weblate .. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png - :target: https://runboat.odoo-community.org/builds?repo=OCA/social&target_branch=15.0 + :target: https://runboat.odoo-community.org/builds?repo=OCA/social&target_branch=17.0 :alt: Try me on Runboat |badge1| |badge2| |badge3| |badge4| |badge5| -This module inhibits the assignation notification from the models that we want. +This module inhibits the assignation notification from the models that +we want. **Table of contents** @@ -38,27 +39,29 @@ This module inhibits the assignation notification from the models that we want. Configuration ============= -#. Go to Settings > Technical > System Parameters -#. Edit "mail_no_user_assign_notification.models" key record -#. Set any model* (for example: res.partner). +1. Go to Settings > Technical > System Parameters +2. Edit "mailno_user_assign_notification.models" key record +3. Set any model\* (for example: res.partner). -NOTE1: It is possible to set several models separated by comma (e.g.: model1,model2). +NOTE1: It is possible to set several models separated by comma (e.g.: +model1,model2). -NOTE2: The model should have the field `user_id` for this to be effective. +NOTE2: The model should have the field user_id for this to be effective. Usage ===== -#. Go to one of the configured models (like Contacts). -#. Create or edit a record, and assign the field for the user (in contacts, it's called - "Salesperson", in purchase orders it's "Purchase representative", etc). -#. The user won't receive the automatic assignment email. +1. Go to one of the configured models (like Contacts). +2. Create or edit a record, and assign the field for the user (in + contacts, it's called "Salesperson", in purchase orders it's + "Purchase representative", etc). +3. The user won't receive the automatic assignment email. Known issues / Roadmap ====================== -* This is not valid for project tasks users assignation, as the field is multi-relational. - A specific extension would be needed. +- This is not valid for project tasks users assignation, as the field is + multi-relational. A specific extension would be needed. Bug Tracker =========== @@ -66,7 +69,7 @@ Bug Tracker Bugs are tracked on `GitHub Issues `_. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed -`feedback `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -74,20 +77,20 @@ Credits ======= Authors -~~~~~~~ +------- * Tecnativa Contributors -~~~~~~~~~~~~ +------------ -* `Tecnativa `_: +- `Tecnativa `__: - * Víctor Martínez - * Pedro M. Baeza + - Víctor Martínez + - Pedro M. Baeza Maintainers -~~~~~~~~~~~ +----------- This module is maintained by the OCA. @@ -107,6 +110,6 @@ Current `maintainer `__: |maintainer-victoralmau| -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_no_user_assign_notification/pyproject.toml b/mail_no_user_assign_notification/pyproject.toml new file mode 100644 index 000000000..4231d0ccc --- /dev/null +++ b/mail_no_user_assign_notification/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["whool"] +build-backend = "whool.buildapi" diff --git a/mail_no_user_assign_notification/readme/CONFIGURE.md b/mail_no_user_assign_notification/readme/CONFIGURE.md new file mode 100644 index 000000000..c18b02230 --- /dev/null +++ b/mail_no_user_assign_notification/readme/CONFIGURE.md @@ -0,0 +1,8 @@ +1. Go to Settings \> Technical \> System Parameters +2. Edit "mailno_user_assign_notification.models" key record +3. Set any model\* (for example: res.partner). + +NOTE1: It is possible to set several models separated by comma (e.g.: +model1,model2). + +NOTE2: The model should have the field user_id for this to be effective. diff --git a/mail_no_user_assign_notification/readme/CONFIGURE.rst b/mail_no_user_assign_notification/readme/CONFIGURE.rst deleted file mode 100644 index dfa6df12b..000000000 --- a/mail_no_user_assign_notification/readme/CONFIGURE.rst +++ /dev/null @@ -1,7 +0,0 @@ -#. Go to Settings > Technical > System Parameters -#. Edit "mail_no_user_assign_notification.models" key record -#. Set any model* (for example: res.partner). - -NOTE1: It is possible to set several models separated by comma (e.g.: model1,model2). - -NOTE2: The model should have the field `user_id` for this to be effective. diff --git a/mail_no_user_assign_notification/readme/CONTRIBUTORS.md b/mail_no_user_assign_notification/readme/CONTRIBUTORS.md new file mode 100644 index 000000000..5fee39042 --- /dev/null +++ b/mail_no_user_assign_notification/readme/CONTRIBUTORS.md @@ -0,0 +1,3 @@ +- [Tecnativa](https://www.tecnativa.com): + - Víctor Martínez + - Pedro M. Baeza diff --git a/mail_no_user_assign_notification/readme/CONTRIBUTORS.rst b/mail_no_user_assign_notification/readme/CONTRIBUTORS.rst deleted file mode 100644 index 5fb713053..000000000 --- a/mail_no_user_assign_notification/readme/CONTRIBUTORS.rst +++ /dev/null @@ -1,4 +0,0 @@ -* `Tecnativa `_: - - * Víctor Martínez - * Pedro M. Baeza diff --git a/mail_no_user_assign_notification/readme/DESCRIPTION.rst b/mail_no_user_assign_notification/readme/DESCRIPTION.md similarity index 80% rename from mail_no_user_assign_notification/readme/DESCRIPTION.rst rename to mail_no_user_assign_notification/readme/DESCRIPTION.md index 5242a6317..e94865168 100644 --- a/mail_no_user_assign_notification/readme/DESCRIPTION.rst +++ b/mail_no_user_assign_notification/readme/DESCRIPTION.md @@ -1 +1,2 @@ -This module inhibits the assignation notification from the models that we want. +This module inhibits the assignation notification from the models that +we want. diff --git a/mail_no_user_assign_notification/readme/ROADMAP.md b/mail_no_user_assign_notification/readme/ROADMAP.md new file mode 100644 index 000000000..e880900b8 --- /dev/null +++ b/mail_no_user_assign_notification/readme/ROADMAP.md @@ -0,0 +1,2 @@ +- This is not valid for project tasks users assignation, as the field is + multi-relational. A specific extension would be needed. diff --git a/mail_no_user_assign_notification/readme/ROADMAP.rst b/mail_no_user_assign_notification/readme/ROADMAP.rst deleted file mode 100644 index 6633bdfa3..000000000 --- a/mail_no_user_assign_notification/readme/ROADMAP.rst +++ /dev/null @@ -1,2 +0,0 @@ -* This is not valid for project tasks users assignation, as the field is multi-relational. - A specific extension would be needed. diff --git a/mail_no_user_assign_notification/readme/USAGE.md b/mail_no_user_assign_notification/readme/USAGE.md new file mode 100644 index 000000000..72ca425c5 --- /dev/null +++ b/mail_no_user_assign_notification/readme/USAGE.md @@ -0,0 +1,5 @@ +1. Go to one of the configured models (like Contacts). +2. Create or edit a record, and assign the field for the user (in + contacts, it's called "Salesperson", in purchase orders it's + "Purchase representative", etc). +3. The user won't receive the automatic assignment email. diff --git a/mail_no_user_assign_notification/readme/USAGE.rst b/mail_no_user_assign_notification/readme/USAGE.rst deleted file mode 100644 index 28839c376..000000000 --- a/mail_no_user_assign_notification/readme/USAGE.rst +++ /dev/null @@ -1,4 +0,0 @@ -#. Go to one of the configured models (like Contacts). -#. Create or edit a record, and assign the field for the user (in contacts, it's called - "Salesperson", in purchase orders it's "Purchase representative", etc). -#. The user won't receive the automatic assignment email. diff --git a/mail_no_user_assign_notification/static/description/index.html b/mail_no_user_assign_notification/static/description/index.html index 7ec0fac71..e3a9a83c9 100644 --- a/mail_no_user_assign_notification/static/description/index.html +++ b/mail_no_user_assign_notification/static/description/index.html @@ -8,10 +8,11 @@ /* :Author: David Goodger (goodger@python.org) -:Id: $Id: html4css1.css 8954 2022-01-20 10:10:25Z milde $ +:Id: $Id: html4css1.css 9511 2024-01-13 09:50:07Z milde $ :Copyright: This stylesheet has been placed in the public domain. Default cascading style sheet for the HTML output of Docutils. +Despite the name, some widely supported CSS2 features are used. See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to customize this style sheet. @@ -274,7 +275,7 @@ margin-left: 2em ; margin-right: 2em } -pre.code .ln { color: grey; } /* line numbers */ +pre.code .ln { color: gray; } /* line numbers */ pre.code, code { background-color: #eeeeee } pre.code .comment, code .comment { color: #5C6576 } pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold } @@ -300,7 +301,7 @@ span.pre { white-space: pre } -span.problematic { +span.problematic, pre.problematic { color: red } span.section-subtitle { @@ -368,8 +369,9 @@

Mail No user Assign Notification

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! source digest: sha256:6a4d1334c05ef20496bb328fb7923f2a690c50cf84df26ff96c75edc66bac568 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

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

-

This module inhibits the assignation notification from the models that we want.

+

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

+

This module inhibits the assignation notification from the models that +we want.

Table of contents

    @@ -389,26 +391,28 @@

    Mail No user Assign Notification

    Configuration

    1. Go to Settings > Technical > System Parameters
    2. -
    3. Edit “mail_no_user_assign_notification.models” key record
    4. +
    5. Edit “mailno_user_assign_notification.models” key record
    6. Set any model* (for example: res.partner).
    -

    NOTE1: It is possible to set several models separated by comma (e.g.: model1,model2).

    -

    NOTE2: The model should have the field user_id for this to be effective.

    +

    NOTE1: It is possible to set several models separated by comma (e.g.: +model1,model2).

    +

    NOTE2: The model should have the field user_id for this to be effective.

Usage

  1. Go to one of the configured models (like Contacts).
  2. -
  3. Create or edit a record, and assign the field for the user (in contacts, it’s called -“Salesperson”, in purchase orders it’s “Purchase representative”, etc).
  4. +
  5. Create or edit a record, and assign the field for the user (in +contacts, it’s called “Salesperson”, in purchase orders it’s +“Purchase representative”, etc).
  6. The user won’t receive the automatic assignment email.

Known issues / Roadmap

    -
  • This is not valid for project tasks users assignation, as the field is multi-relational. -A specific extension would be needed.
  • +
  • This is not valid for project tasks users assignation, as the field is +multi-relational. A specific extension would be needed.
@@ -416,7 +420,7 @@

Bug Tracker

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

+feedback.

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

@@ -440,13 +444,15 @@

Contributors

Maintainers

This module is maintained by the OCA.

-Odoo Community Association + +Odoo Community Association +

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

Current maintainer:

victoralmau

-

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 22ccde474c527a1a311aa6d1fd64c708f4d0d8cf Mon Sep 17 00:00:00 2001 From: Carlos Lopez Date: Thu, 20 Feb 2025 08:53:43 -0500 Subject: [PATCH 3/8] [MIG] mail_no_user_assign_notification: Migration to version 17.0 --- mail_no_user_assign_notification/README.rst | 2 +- mail_no_user_assign_notification/__manifest__.py | 2 +- .../i18n/mail_no_user_assign_notification.pot | 2 +- mail_no_user_assign_notification/static/description/index.html | 2 +- .../tests/test_mail_no_user_assign_notification.py | 3 ++- 5 files changed, 6 insertions(+), 5 deletions(-) diff --git a/mail_no_user_assign_notification/README.rst b/mail_no_user_assign_notification/README.rst index afa59f21b..7414bcba3 100644 --- a/mail_no_user_assign_notification/README.rst +++ b/mail_no_user_assign_notification/README.rst @@ -7,7 +7,7 @@ Mail No user Assign Notification !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:6a4d1334c05ef20496bb328fb7923f2a690c50cf84df26ff96c75edc66bac568 + !! source digest: sha256:6c92038441171972dbb95e3ac02db0ce3b006a4157f7370390fbd10ff9bd1893 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png diff --git a/mail_no_user_assign_notification/__manifest__.py b/mail_no_user_assign_notification/__manifest__.py index 93484d97a..5836a5842 100644 --- a/mail_no_user_assign_notification/__manifest__.py +++ b/mail_no_user_assign_notification/__manifest__.py @@ -4,7 +4,7 @@ "name": "Mail No user Assign Notification", "author": "Tecnativa, Odoo Community Association (OCA)", "website": "https://github.com/OCA/social", - "version": "15.0.1.0.0", + "version": "17.0.1.0.0", "depends": ["mail"], "license": "AGPL-3", "category": "Discuss", diff --git a/mail_no_user_assign_notification/i18n/mail_no_user_assign_notification.pot b/mail_no_user_assign_notification/i18n/mail_no_user_assign_notification.pot index 224335a7c..f25cceaf0 100644 --- a/mail_no_user_assign_notification/i18n/mail_no_user_assign_notification.pot +++ b/mail_no_user_assign_notification/i18n/mail_no_user_assign_notification.pot @@ -4,7 +4,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 15.0\n" +"Project-Id-Version: Odoo Server 17.0\n" "Report-Msgid-Bugs-To: \n" "Last-Translator: \n" "Language-Team: \n" diff --git a/mail_no_user_assign_notification/static/description/index.html b/mail_no_user_assign_notification/static/description/index.html index e3a9a83c9..1853fbb28 100644 --- a/mail_no_user_assign_notification/static/description/index.html +++ b/mail_no_user_assign_notification/static/description/index.html @@ -367,7 +367,7 @@

Mail No user Assign Notification

!! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:6a4d1334c05ef20496bb328fb7923f2a690c50cf84df26ff96c75edc66bac568 +!! source digest: sha256:6c92038441171972dbb95e3ac02db0ce3b006a4157f7370390fbd10ff9bd1893 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

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

This module inhibits the assignation notification from the models that diff --git a/mail_no_user_assign_notification/tests/test_mail_no_user_assign_notification.py b/mail_no_user_assign_notification/tests/test_mail_no_user_assign_notification.py index 4d92f05af..42b053471 100644 --- a/mail_no_user_assign_notification/tests/test_mail_no_user_assign_notification.py +++ b/mail_no_user_assign_notification/tests/test_mail_no_user_assign_notification.py @@ -14,7 +14,8 @@ def setUpClass(cls): "mail_no_user_assign_notification.no_user_assign_notification_models" ) cls.icp.value = "res.partner" - # patch registry to simulate a ready environment so that _message_auto_subscribe_notify + # patch registry to simulate a ready environment + # so that _message_auto_subscribe_notify # will be executed with the associated notification cls.env.registry.ready = True From f1408125dc10ec1ad6a96b0a7af9e70c58c0e65e Mon Sep 17 00:00:00 2001 From: mymage Date: Tue, 1 Apr 2025 16:42:33 +0000 Subject: [PATCH 4/8] Added translation using Weblate (Italian) --- mail_no_user_assign_notification/i18n/it.po | 22 +++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 mail_no_user_assign_notification/i18n/it.po diff --git a/mail_no_user_assign_notification/i18n/it.po b/mail_no_user_assign_notification/i18n/it.po new file mode 100644 index 000000000..18fa4e3e6 --- /dev/null +++ b/mail_no_user_assign_notification/i18n/it.po @@ -0,0 +1,22 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mail_no_user_assign_notification +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2025-04-05 08:50+0000\n" +"Last-Translator: mymage \n" +"Language-Team: none\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 5.10.2\n" + +#. module: mail_no_user_assign_notification +#: model:ir.model,name:mail_no_user_assign_notification.model_mail_thread +msgid "Email Thread" +msgstr "Discussione e-mail" From cb123815040b6ff409914ebd8141cc75fe8b1a43 Mon Sep 17 00:00:00 2001 From: Jorge Quinteros Date: Tue, 10 Feb 2026 00:25:31 +0100 Subject: [PATCH 5/8] [IMP] mail_no_user_assign_notification: pre-commit auto fixes --- mail_no_user_assign_notification/README.rst | 16 ++++++++-------- .../__manifest__.py | 2 +- .../static/description/index.html | 19 ++++++++----------- 3 files changed, 17 insertions(+), 20 deletions(-) diff --git a/mail_no_user_assign_notification/README.rst b/mail_no_user_assign_notification/README.rst index 7414bcba3..a963891de 100644 --- a/mail_no_user_assign_notification/README.rst +++ b/mail_no_user_assign_notification/README.rst @@ -16,14 +16,14 @@ Mail No user Assign Notification .. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 -.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fsocial-lightgray.png?logo=github - :target: https://github.com/OCA/social/tree/17.0/mail_no_user_assign_notification - :alt: OCA/social +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fmail-lightgray.png?logo=github + :target: https://github.com/OCA/mail/tree/18.0/mail_no_user_assign_notification + :alt: OCA/mail .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/social-17-0/social-17-0-mail_no_user_assign_notification + :target: https://translation.odoo-community.org/projects/mail-18-0/mail-18-0-mail_no_user_assign_notification :alt: Translate me on Weblate .. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png - :target: https://runboat.odoo-community.org/builds?repo=OCA/social&target_branch=17.0 + :target: https://runboat.odoo-community.org/builds?repo=OCA/mail&target_branch=18.0 :alt: Try me on Runboat |badge1| |badge2| |badge3| |badge4| |badge5| @@ -66,10 +66,10 @@ Known issues / Roadmap Bug Tracker =========== -Bugs are tracked on `GitHub Issues `_. +Bugs are tracked on `GitHub Issues `_. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed -`feedback `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -110,6 +110,6 @@ Current `maintainer `__: |maintainer-victoralmau| -This module is part of the `OCA/social `_ project on GitHub. +This module is part of the `OCA/mail `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/mail_no_user_assign_notification/__manifest__.py b/mail_no_user_assign_notification/__manifest__.py index 5836a5842..1a7668bac 100644 --- a/mail_no_user_assign_notification/__manifest__.py +++ b/mail_no_user_assign_notification/__manifest__.py @@ -3,7 +3,7 @@ { "name": "Mail No user Assign Notification", "author": "Tecnativa, Odoo Community Association (OCA)", - "website": "https://github.com/OCA/social", + "website": "https://github.com/OCA/mail", "version": "17.0.1.0.0", "depends": ["mail"], "license": "AGPL-3", diff --git a/mail_no_user_assign_notification/static/description/index.html b/mail_no_user_assign_notification/static/description/index.html index 1853fbb28..ba252ce3f 100644 --- a/mail_no_user_assign_notification/static/description/index.html +++ b/mail_no_user_assign_notification/static/description/index.html @@ -8,11 +8,10 @@ /* :Author: David Goodger (goodger@python.org) -:Id: $Id: html4css1.css 9511 2024-01-13 09:50:07Z milde $ +:Id: $Id: html4css1.css 8954 2022-01-20 10:10:25Z milde $ :Copyright: This stylesheet has been placed in the public domain. Default cascading style sheet for the HTML output of Docutils. -Despite the name, some widely supported CSS2 features are used. See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to customize this style sheet. @@ -275,7 +274,7 @@ margin-left: 2em ; margin-right: 2em } -pre.code .ln { color: gray; } /* line numbers */ +pre.code .ln { color: grey; } /* line numbers */ pre.code, code { background-color: #eeeeee } pre.code .comment, code .comment { color: #5C6576 } pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold } @@ -301,7 +300,7 @@ span.pre { white-space: pre } -span.problematic, pre.problematic { +span.problematic { color: red } span.section-subtitle { @@ -369,7 +368,7 @@

Mail No user Assign Notification

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! source digest: sha256:6c92038441171972dbb95e3ac02db0ce3b006a4157f7370390fbd10ff9bd1893 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

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

+

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

This module inhibits the assignation notification from the models that we want.

Table of contents

@@ -417,10 +416,10 @@

Known issues / Roadmap

Bug Tracker

-

Bugs are tracked on GitHub Issues. +

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

+feedback.

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

@@ -444,15 +443,13 @@

Contributors

Maintainers

This module is maintained by the OCA.

- -Odoo Community Association - +Odoo Community Association

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

Current maintainer:

victoralmau

-

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

+

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

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

From d9d09eaa7ba3165fa5ab8b1906b30089697aa83c Mon Sep 17 00:00:00 2001 From: Jorge Quinteros Date: Tue, 10 Feb 2026 00:25:32 +0100 Subject: [PATCH 6/8] [MIG] mail_no_user_assign_notification: Migration to 18.0 --- mail_no_user_assign_notification/README.rst | 8 +++- .../__manifest__.py | 2 +- .../i18n/mail_no_user_assign_notification.pot | 2 +- .../static/description/index.html | 43 +++++++++++-------- 4 files changed, 34 insertions(+), 21 deletions(-) diff --git a/mail_no_user_assign_notification/README.rst b/mail_no_user_assign_notification/README.rst index a963891de..6347a4fbe 100644 --- a/mail_no_user_assign_notification/README.rst +++ b/mail_no_user_assign_notification/README.rst @@ -1,3 +1,7 @@ +.. image:: https://odoo-community.org/readme-banner-image + :target: https://odoo-community.org/get-involved?utm_source=readme + :alt: Odoo Community Association + ================================ Mail No user Assign Notification ================================ @@ -7,13 +11,13 @@ Mail No user Assign Notification !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:6c92038441171972dbb95e3ac02db0ce3b006a4157f7370390fbd10ff9bd1893 + !! source digest: sha256:2258ebf0f9828ca3d8384d904798cf7e1e4d0d9deb76aa232524103948b1c5de !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png :target: https://odoo-community.org/page/development-status :alt: Beta -.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png +.. |badge2| image:: https://img.shields.io/badge/license-AGPL--3-blue.png :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fmail-lightgray.png?logo=github diff --git a/mail_no_user_assign_notification/__manifest__.py b/mail_no_user_assign_notification/__manifest__.py index 1a7668bac..08d922dc0 100644 --- a/mail_no_user_assign_notification/__manifest__.py +++ b/mail_no_user_assign_notification/__manifest__.py @@ -4,7 +4,7 @@ "name": "Mail No user Assign Notification", "author": "Tecnativa, Odoo Community Association (OCA)", "website": "https://github.com/OCA/mail", - "version": "17.0.1.0.0", + "version": "18.0.1.0.0", "depends": ["mail"], "license": "AGPL-3", "category": "Discuss", diff --git a/mail_no_user_assign_notification/i18n/mail_no_user_assign_notification.pot b/mail_no_user_assign_notification/i18n/mail_no_user_assign_notification.pot index f25cceaf0..b7028132e 100644 --- a/mail_no_user_assign_notification/i18n/mail_no_user_assign_notification.pot +++ b/mail_no_user_assign_notification/i18n/mail_no_user_assign_notification.pot @@ -4,7 +4,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 17.0\n" +"Project-Id-Version: Odoo Server 18.0\n" "Report-Msgid-Bugs-To: \n" "Last-Translator: \n" "Language-Team: \n" diff --git a/mail_no_user_assign_notification/static/description/index.html b/mail_no_user_assign_notification/static/description/index.html index ba252ce3f..f909eb7ce 100644 --- a/mail_no_user_assign_notification/static/description/index.html +++ b/mail_no_user_assign_notification/static/description/index.html @@ -3,15 +3,16 @@ -Mail No user Assign Notification +README.rst -
-

Mail No user Assign Notification

+
+ + +Odoo Community Association + +
+

Mail No user Assign Notification

-

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

+

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

This module inhibits the assignation notification from the models that we want.

Table of contents

@@ -387,7 +393,7 @@

Mail No user Assign Notification

-

Configuration

+

Configuration

  1. Go to Settings > Technical > System Parameters
  2. Edit “mailno_user_assign_notification.models” key record
  3. @@ -398,7 +404,7 @@

    Configuration

    NOTE2: The model should have the field user_id for this to be effective.

-

Usage

+

Usage

  1. Go to one of the configured models (like Contacts).
  2. Create or edit a record, and assign the field for the user (in @@ -408,14 +414,14 @@

    Usage

-

Known issues / Roadmap

+

Known issues / Roadmap

  • This is not valid for project tasks users assignation, as the field is multi-relational. A specific extension would be needed.
-

Bug Tracker

+

Bug Tracker

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

Bug Tracker

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

-

Credits

+

Credits

-

Authors

+

Authors

  • Tecnativa
-

Contributors

+

Contributors

-

Maintainers

+

Maintainers

This module is maintained by the OCA.

-Odoo Community Association + +Odoo Community Association +

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

@@ -454,5 +462,6 @@

Maintainers

+
From 7c6d823b326c6afa7576dd33700bf47dbdd230b1 Mon Sep 17 00:00:00 2001 From: MJD Date: Tue, 17 Feb 2026 10:10:41 +0000 Subject: [PATCH 7/8] Added translation using Weblate (German) --- mail_no_user_assign_notification/i18n/de.po | 22 +++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 mail_no_user_assign_notification/i18n/de.po diff --git a/mail_no_user_assign_notification/i18n/de.po b/mail_no_user_assign_notification/i18n/de.po new file mode 100644 index 000000000..c1003b38f --- /dev/null +++ b/mail_no_user_assign_notification/i18n/de.po @@ -0,0 +1,22 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mail_no_user_assign_notification +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 18.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2026-02-17 13:09+0000\n" +"Last-Translator: MJD \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 5.15.2\n" + +#. module: mail_no_user_assign_notification +#: model:ir.model,name:mail_no_user_assign_notification.model_mail_thread +msgid "Email Thread" +msgstr "E-Mail-Thread" From d634c814381d1f80b29b50554049103d4623c829 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Paradis?= Date: Wed, 15 Apr 2026 15:42:41 +0000 Subject: [PATCH 8/8] [MIG] mail_no_user_assign_notification: Migration to 19.0 --- mail_no_user_assign_notification/__manifest__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mail_no_user_assign_notification/__manifest__.py b/mail_no_user_assign_notification/__manifest__.py index 08d922dc0..7ef563844 100644 --- a/mail_no_user_assign_notification/__manifest__.py +++ b/mail_no_user_assign_notification/__manifest__.py @@ -4,7 +4,7 @@ "name": "Mail No user Assign Notification", "author": "Tecnativa, Odoo Community Association (OCA)", "website": "https://github.com/OCA/mail", - "version": "18.0.1.0.0", + "version": "19.0.1.0.0", "depends": ["mail"], "license": "AGPL-3", "category": "Discuss",