[IMP] mail: add moderation on channels
Purpose of this commit is to allow moderation on incoming messages in discussion channels. On some channels on which moderation is required messages should be in a pending moderation stage. Moderators can accept or refuse messages as well as always allow or ban messages coming from a given set of emails. Channels now have an option to be moderated. Moderators can be added on channels. They have access to a specific UI in Discuss to see and take action on messages waiting for moderation. Concerning mail.thread message that are pending moderation are not notified. It means nobody receives a notification about them. Moderation process calls the notification once the message is validated. Various features included in this commit : * a model is added to store the decision about emails, allow or ban; * access rights are updated so that only moderators can modify moderation fields on message; * specific bus notifications are send to moderated people as well as to moderators on incoming emails as well as when a decision is taken; * options are added on channels to send explanations to moderated emails; * options are added on channels to write and send guidelines explaining why and how moderation is performed; * a reminder is send daily to moderators with remaining messages to moderate; * discuss UI is adapted and a new channel is added below Inbox and Starred giving access to moderation tools; * chanenl UI is adapted allowing to moderate directly inside channels; This commit is linked to task ID 29521. Closes #21921.
This commit is contained in:
committed by
Thibault Delavallée
parent
eeab18d753
commit
299ebb2cdf
@@ -226,5 +226,37 @@
|
||||
</td></tr>
|
||||
</table>
|
||||
</template>
|
||||
|
||||
<!-- Channel and moderation related data -->
|
||||
<template id="mail_channel_notify_moderation">
|
||||
<div>
|
||||
<p>Hello <t t-esc='record.name'/></p>
|
||||
<p>You have messages to moderate, please go for the proceedings.</p><br/><br/>
|
||||
<div style="text-align: center;">
|
||||
<a href="/web#action=mail.mail_channel_action_client_chat&active_id=channel_moderation" style="background-color: #1abc9c; padding: 20px; text-decoration: none; color: #fff; border-radius: 5px; font-size: 16px;" class="o_default_snippet_text">Moderate Messages</a>
|
||||
<br/><br/><br/>
|
||||
</div>
|
||||
<p>Thank you!</p>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<record id="mail_template_channel_send_guidelines" model="mail.template">
|
||||
<field name="name">Partner: Send channel guidelines</field>
|
||||
<field name="model_id" ref="base.model_res_partner"/>
|
||||
<field name="email_from">${object.company_id.catchall or object.company_id.email|safe}</field>
|
||||
<field name="partner_to">${object.id}</field>
|
||||
<field name="subject">Guidelines of channel ${ctx['channel'].name}</field>
|
||||
<field name="body_html" type="xml">
|
||||
<div>
|
||||
<p>Hello ${object.name or ''},</p>
|
||||
<p>Please find below the guidelines of the ${ctx['channel'].name} channel.</p>
|
||||
<p>
|
||||
${ctx['channel'].moderation_guidelines_msg}
|
||||
</p>
|
||||
<p></p>
|
||||
</div>
|
||||
</field>
|
||||
<field name="user_signature" eval="False"/>
|
||||
</record>
|
||||
</data>
|
||||
</odoo>
|
||||
|
||||
Reference in New Issue
Block a user