[NEW] mail_prevent_send_note_to_external
This commit is contained in:
72
mail_prevent_send_note_to_external/README.rst
Normal file
72
mail_prevent_send_note_to_external/README.rst
Normal file
@@ -0,0 +1,72 @@
|
||||
====================
|
||||
mail_activity_plan
|
||||
====================
|
||||
|
||||
Installation
|
||||
============
|
||||
Use Odoo normal module installation procedure to install ``mail_activity_plan``.
|
||||
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
||||
To create activities plans, go to Settings > Technical > Discuss > Activity plans :
|
||||
|
||||
Provice a name
|
||||
|
||||
Add activity templates :
|
||||
|
||||
Select an activity type, write a summary. Optionnaly assigne to a user and write a note.
|
||||
|
||||
A plan can be related to many activity templates
|
||||
|
||||
A activity template can be related to only one plan
|
||||
|
||||
A activity template is related to only one activity type
|
||||
|
||||
|
||||
Usage
|
||||
=====
|
||||
Once your plan is configured, you can define a server-action to launch automatically the activities for a choose model
|
||||
|
||||
Go to Settings > Technical > Actions > Server Actions
|
||||
|
||||
Provide a name, select a model, select action "[generate_activities]", select a plan.
|
||||
|
||||
Once your new server action is configured, go to an instance of the chosen model,
|
||||
click on the server action to generate automatically the activities of the plan.
|
||||
|
||||
If nobody is assigned to a activity, the current user will be automatically assigned.
|
||||
|
||||
Known issues / Roadmap
|
||||
======================
|
||||
|
||||
None yet.
|
||||
|
||||
Bug Tracker
|
||||
===========
|
||||
|
||||
Bugs are tracked on `our issues website <https://github.com/elabore-coop/ux-tools/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.
|
||||
|
||||
Credits
|
||||
=======
|
||||
|
||||
Contributors
|
||||
------------
|
||||
|
||||
* Laetitia Da Costa (https://github.com/LaetitiaElabore)
|
||||
|
||||
Funders
|
||||
-------
|
||||
|
||||
The development of this module has been financially supported by:
|
||||
* Elabore (https://elabore.coop)
|
||||
|
||||
|
||||
Maintainer
|
||||
----------
|
||||
|
||||
This module is maintained by Elabore.
|
4
mail_prevent_send_note_to_external/__init__.py
Normal file
4
mail_prevent_send_note_to_external/__init__.py
Normal file
@@ -0,0 +1,4 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
from . import models
|
88
mail_prevent_send_note_to_external/__manifest__.py
Normal file
88
mail_prevent_send_note_to_external/__manifest__.py
Normal file
@@ -0,0 +1,88 @@
|
||||
# Copyright 2022 Laetitia Élabore (Elabore)
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
||||
|
||||
{
|
||||
"name": "mail_prevent_send_note_to_external",
|
||||
"version": "16.0.1.0.0",
|
||||
"author": "Elabore",
|
||||
"website": "https://github.com/elabore-coop/ux-tools",
|
||||
"maintainer": "Clément",
|
||||
"license": "AGPL-3",
|
||||
"category": "Tools",
|
||||
"summary": "Prevent chatter note to send email to external partner",
|
||||
"description": """
|
||||
:image: https://img.shields.io/badge/licence-AGPL--3-blue.svg
|
||||
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
|
||||
:alt: License: AGPL-3
|
||||
=================
|
||||
mail_prevent_send_note_to_external
|
||||
=================
|
||||
|
||||
Prevent chatter note to send email to external partner
|
||||
|
||||
Installation
|
||||
============
|
||||
|
||||
Install ``mail_prevent_send_note_to_external``, all dependencies will be installed by default.
|
||||
|
||||
Known issues / Roadmap
|
||||
======================
|
||||
|
||||
None yet.
|
||||
|
||||
Bug Tracker
|
||||
===========
|
||||
|
||||
Bugs are tracked on `our issues website
|
||||
<https://github.com/elabore-coop/ux-tools/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.
|
||||
|
||||
Credits
|
||||
=======
|
||||
|
||||
Images
|
||||
------
|
||||
|
||||
* Elabore: `Icon <https://elabore.coop/web/image/res.company/1/logo?unique=f3db262>`_.
|
||||
|
||||
Contributors
|
||||
------------
|
||||
|
||||
* Clément Thomas
|
||||
|
||||
Funders
|
||||
-------
|
||||
|
||||
The development of this module has been financially supported by:
|
||||
* Elabore (https://elabore.coop)
|
||||
|
||||
|
||||
Maintainer
|
||||
----------
|
||||
This module is maintained by Elabore.
|
||||
|
||||
""",
|
||||
# any module necessary for this one to work correctly
|
||||
'depends' : ['base_setup'],
|
||||
"qweb": [
|
||||
# "static/src/xml/*.xml",
|
||||
],
|
||||
"external_dependencies": {
|
||||
"python": [],
|
||||
},
|
||||
# always loaded
|
||||
"data": [
|
||||
|
||||
],
|
||||
# only loaded in demonstration mode
|
||||
"demo": [],
|
||||
"js": [],
|
||||
"css": [],
|
||||
"installable": True,
|
||||
# Install this module automatically if all dependency have been previously
|
||||
# and independently installed. Used for synergetic or glue modules.
|
||||
"auto_install": False,
|
||||
"application": False,
|
||||
}
|
1
mail_prevent_send_note_to_external/models/__init__.py
Normal file
1
mail_prevent_send_note_to_external/models/__init__.py
Normal file
@@ -0,0 +1 @@
|
||||
from . import mail_thread
|
19
mail_prevent_send_note_to_external/models/mail_thread.py
Normal file
19
mail_prevent_send_note_to_external/models/mail_thread.py
Normal file
@@ -0,0 +1,19 @@
|
||||
from odoo import api, models, _
|
||||
|
||||
|
||||
class MailThread(models.AbstractModel):
|
||||
_inherit = 'mail.thread'
|
||||
|
||||
@api.returns('mail.message', lambda value: value.id)
|
||||
def message_post(self, **kwargs):
|
||||
#check subtype_xmlid and partner_ids, and remove external partners if subtype is "note"
|
||||
if kwargs.get("subtype_xmlid") == 'mail.mt_note' and "partner_ids" in kwargs:
|
||||
new_partner_ids = []
|
||||
for partner_id in kwargs["partner_ids"]:
|
||||
user = self.env["res.users"].search([('partner_id','=',partner_id)])
|
||||
if user.active and user.has_group('base.group_user'):
|
||||
new_partner_ids.append(partner_id)
|
||||
kwargs["partner_ids"] = new_partner_ids
|
||||
|
||||
message = super(MailThread, self).message_post(**kwargs)
|
||||
return message
|
Reference in New Issue
Block a user