PURPOSE
Clean posting process and improve mail.message definition and comprehension.
SPECIFICATIONS
Website mail defines a website_published field allowing to publish / unpublish
comments on the frontend of some modules. This field has several drawbacks :
* it is used only for front-end people (portal, public) and has no real
effect in chatter / classic discussions;
* it is used only in some advanced front-end module and is not available
in portal by default;
* its naming is not really correct as it is not linked to fields coming
from the website_published mixin and its behavior is not really
the same;
* its use is a bit duplicated with internal flag coming from subtype
allowing to hide messages related to an internal subtype;
* there are overrides of standard mail.message methods just to handle
this flag;
In this commit we change that field by an is_internal flag directly on
mail.message model itself. It tells if share people (customers, share users)
are allowed to read the message. This field can be given through posting
API or set manually using widgets. It is also used in access rights custom
methods and managed like the internal flag of subtypes.
Mailgateway was already using an internal flag for internal note replies. It
is renamed to is_internal and propagated as it is now a standard field. It
also eases code understanding.
Portal is updated to allow managing the flag directly. It means customer portal
now natively allows to moderate customer comments without any need of website
modules.
Rating is updated accordingly. An is_internal field is added, replacing the
related on website published.
LINKS
Task ID 2071556
PR #38692
mail.thread mixin will (re)provide the field 'website_message_ids'.
Models can redifined its domain, since it can differ a bit (blog, forum,
... are not the same).
Even if the domain can differ, we still keep it on the mixin since
it will be required for the new chatter frontend (see following
commits).
This inheritance wasn't working till the commit of rco, modifying
models inheritance.
Anyway, `website_message_ids` field is already defined on several
models (product, slide, forum questions, blog post, ...), and each
of them have a different domain attribute.
So making the mail.thread mixin providing this field is not so
interessting since it will be overrided for specific behavior.
We remove this field as it can't be usefull and generic.
to mail. The only use was to update a method of publisher_warranty.contract
model that is defined in mail.
This code has been moved to the bridge module between website and mail
aka website_mail.
Dependency to share has also been removed.
[ADD] website: email_template: added website_link field, a link to edit the template
directly in the website
[ADD] website_mail: added controller and page to edit templates. They are still jinja
templates editable in the website. Not qweb templates.
[ADD] website_mail: JS file and editor override to enable only certain snippets. Those
are still to add, but will be base templates for email.
[IMP] website: improved the addition of editor JS in the template header to be able
to add JS file that override the editor without having to hack everything in the
template.
bzr revid: tde@openerp.com-20140113125534-djy48pi7lf42f9ms
This is done to match the new module organization we want to set
for OpenERP modules. Model-related files should lie in a models
directory.
bzr revid: tde@openerp.com-20131011100057-bpe5620omyjsj0y0