Odoo's Mergebot 276b2093dc [MERGE] mail, various: remove channel listening feature
RATIONALE

Channel model is a mail.thread enabled model behaving strangely with followers,
notifications and discuss. Its code should however be simplified to be more
self contained and avoid unwanted side effects on other models..

PURPOSE

Remove channel ability to follow records as it mainly adds noise without a lot
of added value. Simplify channel notification flow by using directly members
and not a delegation through a channel self-following trick. Remove followers
being channels and posting with added listeners being channels.

SPECIFICATIONS SUMMARY

Make subscription work using partners only. Remove channel ability to follow
records. Remove channel auto-follow. Simplify channel notification flow by
using directly members and not a delegation through a channel self-following
trick. Thread notification is simplified and channel specific behavior is now
implemented directly on ``mail.channel`` model.

Remove ``channel_id`` field from follower model. Only partner_id is kept.
Starting from now on followers are partners only.

Remove support of channels when posting a message. Messages now belong to
a single thread using standard ``model`` / ``res_id`` pair even for
``mail.channel`` records. Remove ``channel_ids`` support on ``message_post``
and from Message model. Channel content is now computed like all other
documents.

As a side quest, following updates are necessary

  * remove ``message_channel_ids`` field from ``mail.thread``. Indeed there
    will not be any follower being ``mail.channel`` anymore;
  * remove ``channel_message_ids`` field from ``mail.channel`` as they now
    use standard ``message_ids`` field;
  * remove various ``channel_ids`` linked to followers (server actions, invite
    wizard, ...);
  * remove duplicated ``is_subscribed`` field on ``mail.channel``, duplicate of
    ``is_member``;

With this merge, following features are modified

  * channels cannot follow records anymore;
  * messages cannot belong to a business document AND channels at the
    same time. A channel is now behaving like all other business documents;
  * following a channel using partners to be notified of discussions. Only chat
    or mailing lists notify their members;

Finally various code places are improved: renaming, more modular approach,
... See sub commits for more details. Each commit explains more in details
its change and purpose / specifications.

LINKS

Task ID-2070632 (main task)
Task ID-2419762 (followup task)
COM PR odoo/odoo#62859
ENT PR odoo/enterprise#15172
UPG PR odoo/upgrade#2005

Thanks to @seb-odoo for in-depth review.

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2021-03-17 20:18:20 +01:00
2021-03-11 18:06:30 +00:00
…
…
…
2019-11-08 11:24:04 +00:00
2020-09-28 14:07:25 +00:00

Build Status Tech Doc Help Nightly Builds

Odoo

Odoo is a suite of web based open source business apps.

The main Odoo Apps include an Open Source CRM, Website Builder, eCommerce, Warehouse Management, Project Management, Billing & Accounting, Point of Sale, Human Resources, Marketing, Manufacturing, ...

Odoo Apps can be used as stand-alone applications, but they also integrate seamlessly so you get a full-featured Open Source ERP when you install several Apps.

Getting started with Odoo

For a standard installation please follow the Setup instructions from the documentation.

To learn the software, we recommend the Odoo eLearning, or Scale-up, the business game. Developers can start with the developer tutorials

S
Description
No description provided
Readme LGPL-3.0
3.4 GiB
Languages
Python 49.6%
JavaScript 47.8%
SCSS 2%
CSS 0.3%
HTML 0.2%