Commit Graph
1318 Commits
Author SHA1 Message Date
Mitali Patel 2d2b65ae8a [IMP] mail: do not send email on join/leave mailing channel
Before this commit, when a user joined, left, or was invited to a
channel with "Send by email", it sent an email notification to every
member.

This commit disables email notification on subscribe/unsubscribe on
a channel, while still showing messages on join/leave.

Task-Id 2003281

closes odoo/odoo#35142

Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2020-01-17 10:29:08 +00:00
Priyanka Kakadiya 0b11ed87b6 [IMP] mail: keep old subtype subscription on change on parent record
With this commit, when changing subtype subscription from a parent
record (e.g. project of task), then it does not update subtype
subscription of existing records. Changes on parent record should
only affect new record afterwards.

Task-Id 1974055

Closes #34150

Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2020-01-17 10:05:08 +00:00
Priyanka Kakadiya 16dd3da7a9 [IMP] mail: auto follow subtypes based parent record at creation
With this commit, when the user subscribes to internal subtypes
(i.e. activities and notes) on a parent record (e.g. project of
tasks), then the user follows them by default on every record
creation (e.g. all new tasks of this project).

Task-Id 1974055

Closes #34150
2020-01-17 10:04:54 +00:00
Victor Feyens 26779271e6 [FIX] mail: env.company_id has been replaced by env.company
closes odoo/odoo#43307

Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2020-01-14 17:36:45 +00:00
Priyanka Kakadiya 5f87499554 [IMP] mail: (un)archive mail channels
This commit enables archived mail channels.
Archiving one also removes it from channel list in Discuss.

Task-Id 2155386

closes odoo/odoo#42743

Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2020-01-13 11:15:58 +00:00
Alexandre Kühn 5a13364506 [FIX] mail: mark all messages as read in discuss inbox
Revision on https://github.com/odoo/odoo/commit/a55c78836f172dba1cfa6db3df0e927a9c7e6471

Before this commit, marking all messages as read from Discuss inbox
did not update the UI correctly, hence requiring a page reload.

This bug comes from a typo in the commit above, which passed a list
of mail_notification instead of message ids, so that messages were
handled as marked as read by the web client.

Task-Id 2158452

closes odoo/odoo#43109

X-original-commit: 3cc03ee3db90c310dc60fe7ea18e0e6abe741ffa
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2020-01-10 10:17:09 +00:00
Nicolas Seinlet 611b4ed95a [FIX] mail: fix activity view when having activities without type
At model level, activity_type_id is not a mandatory field on mail.activity.
Indeed required is added in views, meaning people could have activities
without type.

This make the activity views crash with `TypeError: 'bool' object is not
subscriptable` error when computing aggregated activity data. This commit
fixes that error.

Activities without type are still not displayed in the activity view as
columns are based on available activity types. It means activities without
type have no column to be displayed. As this is a corner case that should
not happen when using activities using the interface this is considered
as a limitation of current implementation.

closes odoo/odoo#42991

X-original-commit: 77f0dd8936df3dddfa3df8041d4b7f7c62595430
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2020-01-08 18:14:36 +00:00
Swapnesh Shah 545e21da3c [IMP] mail: Remove unused method
Method was added at cf505c3 but not used, missing cleanup according to
xdo-odoo

closes odoo/odoo#42443

Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2020-01-03 09:59:49 +00:00
jerome hanke (jhk) 697d90e658 [FIX] mail: clean context for mail_activity feedback
Steps to reproduce:
-install projects
-go to projects > configuration > check the sub-tasks option
-create a project with a sub-task and add an activity on the sub-task

Previous behavior:
attempting to mark an activity as done directly from the chatter
will raise an error similar to
"Records does not exist or has been deleted (Record: mail.message (x), User: y)"

Current behavior:
activity can be marked as done trough the feedback button

opw-2126704

closes odoo/odoo#42383

X-original-commit: 06d72a1ab84f3685f547c8a04a2d3e1405e5d188
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-12-26 10:02:05 +00:00
Damien Bouvy 6ac675f50f [IMP] mail: support custom x_active field
An override of toggle_active was present to ensure that activities
would be removed before archiving records; this commit adapts this
mechanism to take custom active fields into account, since they are
now supported at ORM-level by getting the active field through the
`_active_name` model attribute instead of blindly using the `active`
hard-coded field that was used until now..

closes odoo/odoo#40109

Signed-off-by: Damien Bouvy (dbo) <dbo@odoo.com>
2019-12-20 11:16:01 +00:00
Kevin Baptiste 6cbe824871 [REV] web: reverts update to fontawesome 5.11.2
This reverts commit ff1c35513a.

closes odoo/odoo#41480

X-original-commit: 116057b26e71db4692280463669f3e80d813ddcc
Related: odoo/enterprise#7110
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2019-12-09 10:33:36 +00:00
Damien Bouvy d2b02cab29 [FIX] web,(various): don't pollute session_info for portal users
The `session_info` dictionnary is used to bootstrap some JS code client
side (usually in the backend). It includes relevant information, such
as some parameters key for the OdooBot onboarding, the Enterprise
subscription expiration alert, etc. to avoid triggering a lot of RPC
calls upon webclient start.

`session_info` is also called by the remote authentication mechanism
located at `/web/session/authenticate`, which can be used by external
mechanism to obtain a valid session remotely.

Revision odoo/odoo@8a28cc2 introduced the concept of cache keys for
some oft-requested data (such as menus, translations and dynamic qweb
templates) to avoid requesting them on each webclient start, since they
tend not to change often. Unfortunately, it introduced a read on the
ir.ui.menu model that raised an `AccessError` if the authenticating user
was not a member of the `base.group_user` group ('Internal' user type).

While fixing that issue, it became apparent that `session_info`
returns a whole lot of information through this remote connection route
which is entirely unnecessary if not used in the context of a webclient
start, such a currencies, the state of the enterprise subscription, etc.

This commit fixes the access right issue by removing this non-relevant
information from the returned dict (including cache keys) if the user
is not an internal one.

closes odoo/odoo#40770

X-original-commit: 6e99ac2c6cd5ca9af87b4fc7a3a1394359e30b02
Related: odoo/enterprise#6860
Signed-off-by: Damien Bouvy (dbo) <dbo@odoo.com>
2019-12-02 09:21:32 +00:00
Thibault Delavallée 82f56ffddf [IMP] mail: simplify parent and parent internal computation in routing
PURPOSE

Clean posting process and improve mail.message definition and comprehension.

SPECIFICATIONS

In this commit we use the is_internal flag to correctly propagate it from
mail gateway and clean some parent check. In this commit some code is cleaned.
No functional change should occur with this commit.

LINKS

Task ID 2071556
PR #38692
2019-12-02 15:18:44 +00:00
Thibault Delavallée 5649fc88e8 [REF] {website_}mail: move and replace published field of mail.message to is_internal
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
2019-12-02 15:18:44 +00:00
Thibault Delavallée 46b9a97b56 [MOV] {website_}mail: move description field of mail.message directly in mail
PURPOSE

Clean posting process and improve mail.message definition and comprehension.

SPECIFCIATIONS

Move description from website_mail directly to mail. Anyway it is a
non stored computed field and therefore having it available directly
in mail does not cost anything.

LINKS

Task ID 2071556
PR #38692
2019-12-02 15:18:44 +00:00
Thibault Delavallée e2b33f460d [REF] mail, various: rename subtype parameter of message_post to subtype_xmlid
PURPOSE

Clean posting process and improve mail.message definition and comprehension.

SPECIFICATIONS

In order to be more explicit subtype parameter is renamed to subtype_xmlid.
It therefore clearly indicates it should be a valid subtype Xml ID. Support
of ill formatted Xml IDs is removed because there is no reason to try to
add some random prefix. Give something that exists or go to hell, punk !

LINKS

Task ID 2071556
PR #38692
2019-12-02 15:18:44 +00:00
Thibault Delavallée 06f169a0ee [FIX] mail: give default void list instead of None when checking user groups for notification
Some override of ``_notify_classify_recipients`` may not check that groups
is None and expect a (maybe void) list.

Task ID 2071556
PR #38692
2019-12-02 15:18:44 +00:00
ryv-odoo 2b4e172c6f [IMP] mail: improve displayed error when template rendering crashes
Currently when rendering a template crashes, error is not easy to
understand as it is hidden in a generic message. Purpose of this commit is to
improve this message to indicate why the template fails to build (only the
first error encountered).

Task 2085912
PR #38708
2019-12-02 10:22:12 +00:00
Romeo Fragomeli ecc028c0e8 [IMP] mail: use _notify_get_action_link and not inline string
Note that this also add data-oe-model and data-oe-id in XML.
This allow us to avoid to load these links as external URL when
a user receive it in inbox instead of external mail client.
See file addons/mail/static/src/js/thread_widget.js -> _onClickRedirect

Task ID: 1895451

closes odoo/odoo#39958

Related: odoo/enterprise#6414
Signed-off-by: Adrien Dieudonné (adr) <adr@odoo.com>
2019-12-02 09:10:34 +00:00
Thibault Delavallée 69ccabb212 [FIX] mail: restrict access to mail.mail model
From now on mail.mail is considered as a technical model. Indeed people should
not really manually craft mails by hand. Instead various functional flows
should either send mails, either craft mails based on some user input.

We therefore make mail restricted to admin users. Flows creating mail.mail
are updated to use sudo, and ensure it was done in a context that makes
sense to delegate this power to the user.

Task ID 1853147
PR #32243
2019-11-29 13:35:14 +00:00
Thibault Delavallée 1838191eec [REF] mail, various: improve mail creation calls, notably author and email from default computation
Purpose of this commit is to correctly compute author_id and email_from
in mail_message and mail_mail as they depends from each other. Moreover it
is a good idea in various flows to specify email and author when giving
creation values to avoid default computation that is not always guaranteed to
be accurate notably when involving super user.

Mail message creation could lead to desynchronized values between author
and email_from. This is improved with this commit by correctly inheriting
from default_get and computing both of them at the same time instead of having
two default values. Indeed they depend on each other.

Same thing is done for mail composer. Mail Thread offers a tool method to
find email_from / author_id based on having one of those values or current
user and it is called whenever necessary.

Some calls to mail template send_mail are also cleaned.

Task ID 1853147
PR #32243
2019-11-29 13:35:14 +00:00
Thibault Delavallée b9a22d2f24 [IMP] mail: add computed fields for company emails
Purpose of this commit is to give a way to access to company email and catchall
with formatting. Those will be used in various automated emails. Indeed
currently several templates use either ``company_id.partner_id.email``,
``company_id.email``, or even don't provide fallback values.

With this commit from a company record people will be able to use

  * a correctly formatted catchall: ``"My Company Name"
    <catchall_alias@catchall_domain>``
  * an email_formatted field like partner email_formatted that is either its
    partner-related email_formatted value, or formatted catchall if its partner
    is not correctly configured;

Various calls to mail creation are updated accordingly.

Task ID 1853147
PR #32243
2019-11-29 13:35:14 +00:00
Thibault Delavallée 351b0ca6f4 [IMP] mail: improve returned values of _message_compute_author
Purpose of this commit is to ease the use of mail.thread tool method
_message_compute_author. Instead of returning a dict with two values and
having to unpack them, directly return a tuple with both author and
email_from values. All calls and return management are the same in mail.
Let us simplify code.

Task ID 1853147
PR #32243
2019-11-29 13:35:14 +00:00
Florian Gilbert d862965324 [IMP] account: Add tracking for account move line in account move chatter.
Purpose:

In V13, you can reset to draft a posted move if this move isn't in
a hashed journal. But it's little bit dangerous and we want to
track changes for some fields.
It works for editing in editable list view and form view.

Task ID: 2061399
2019-11-28 14:47:12 +00:00
Kevin Baptiste ff1c35513a [IMP] web: update to fontawesome 4.7.0 to 5.11.2
FontAwesome 5 introduced new names for some icons as described on
https://fontawesome.com/how-to-use/on-the-web/setup/upgrading-from-version-4#name-changes

This commit replaces the old names to the new ones.

closes odoo/odoo#35826

Taskid: 2050241
Related: odoo/enterprise#5180
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2019-11-28 10:05:12 +00:00
helly kapatel 355f99069a [FIX] mail: do not mention on archive users
Archived users are inactive, so we shouldn't be able to ping them.

Task-2046885

closes odoo/odoo#40814

X-original-commit: 8169e34a2230b9a2aff359dc6a69b59c04fc9908
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2019-11-25 13:02:10 +00:00
Victor FeyensandMichaël Mattiello 0eadc0aa5e [IMP] mail: better prevent activity type removal and add a fallback mechanism
Current activity types master data cannot be unlinked through a quite harsh
override of unlink using xml id existence, introduced at 2602642a78.
Some of them are real master data, other could be unlinked if users want it.
Finally custom activity types may cause errors when removed if used in some
side models like server actions or automated actions.

To allow more flexibility we remove the removal constraint and implement
a fallback mechanism. It is implemented in mail.activity.mixin when calling
activity_schedule(xmlid, ...). If the given xmlid is not found
_default_activity_type() specifies the default activity to use. It can
be overridden in modules if some specific behavior is wanted.

e.g.

def _default_activity_type(self):
    """Define a default fallback activity type when xml id not found
    only used in in activity_schedule() for now.
    """
    try:
        return self.env.ref('mail.mail_activity_data_todo')
    except Exception:
        return False

In this commit we also

  * restrict deletion of activity type (hr.plan and ir.actions.server);
  * fallback on default activity type if xmlid ref not found in
    activity_schedule;
  * correct calls to activity_schedule and replace some manual creation calls
    by activity_schedule;

Task ID 1961156
PR #39013

Related: odoo/enterprise#6238
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Co-authored-by: Victor Feyens <vfe@odoo.com>
Co-authored-by: Michaël Mattiello <mcm@odoo.com>
2019-11-25 14:17:31 +00:00
Andrea Grazioso (agr-odoo) 5e9a4c39bd [FIX] mail: make attachment filtering selective on uid
Install Accounting, go to Configuration > Follow-up Levels. Create a new
Follow-Up Action with low due days just to make testing easier and "Join
open invoices" enabled. Go to Customers>"Follow-up Reports", select a
follow up report with action "test", click on "Send Email"

The email will be sent, without attachments. There should be a number of
attachments equal to the number of due invoices, but for security reason
the attachments are filtered in the message post processing phase.

Changing security check to avoid filtering legitimate material.

opw-2116803

closes odoo/odoo#40726

X-original-commit: 6258c7eba905ee0d9591573dc8b0c90e6dc7111e
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2019-11-22 15:49:48 +00:00
Kevin Baptiste 2c6cd81f30 [IMP] mail: track fields based on ir_model_fields
The tracked field is now a relation to the corresponding ir.model.field.
This prevents potential privacy issues should the field be deleted or renamed.

closes odoo/odoo#39232

Taskid: 2088634
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2019-11-19 07:50:34 +00:00
Thibault Delavallée f0ae04ab3d [FIX] tools: correctly format emails when having an encoding issue
It seems the emails &gt; &lt; are missing.

By the way one manual formataddr is replaced by an email_formatted field.
Result is the same but let us use fields doing it for us.
2019-11-12 13:48:39 +00:00
Thibault Delavallée f4ef7cbc5e [FW][FIX] mail: correctly format rejection email moderation content
When an incoming email on a channel is rejected, an email is sent to the
original author to inform him of the rejection. This email contains the
original email content added in a generic rejection email.

This original content was however considered as plaintext and escaped. Result
was quite hard to read. As content is sanitized we can safely append it to
the rejection email as valid html.

Task ID 2121319
PR #39986
FW PR #39978

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2019-11-08 08:13:33 +00:00
Thibault Delavallée 6befb1b400 [FW][FIX] mail: use queue to send channel guidelines
Commit 775e8a9 forced channel guidelines to be sent directly. It seems
safer to use the cron queue as we do not see any evidence of daily use of
channel guidelines requiring immediate sending.

Task ID 2121319
PR #39986
FW PR #39978
2019-11-08 08:11:54 +00:00
laa 72aa049844 [IMP] mail, mass_mailing: add dynamic placeholder mixin and use it in mailing and templates
PURPOSE

Upgrade the "mass_mailing" and "mass_mailing_sms" modules with a dynamic
placeholder generator as it already exists in "mail module" as depicted in
https://www.screencast.com/t/cnFA0gIY.

SPECIFICATIONS

As duplicated code already exists for that and that a third version of this
code has to be added, instead create a mixin for this dynamic placeholder
generator to avoid code duplication.

Thereby

  * a mail.render mixin for the dynamic placeholder generator must be
    created in mail;
  * dynamic placeholder generator code present in mail.template.py must be
    moved to that mixin and replaced by a simple inherit;
  * use the mixin in

    * mail templates: mail.template.py (mail module);
    * mass mailings: mailing.py (mass_mailing module);
    * sms templates: sms.template (mass_mailing_sms module);

In a near future, some code will be added in this mixin, notably the template
rendering that could be moved outside of mail.template core model and moved
in that rendering mixin.

LINKS

Task ID 2070612
PR #36722

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2019-11-07 16:19:37 +00:00
fw-bot cddddf0078 [FIX] mail: avoid raising errors during uninstall
Raising a python error cannot stop an uninstall, however since the
unlink stops early, the calls to super() are never reached, this
prevents the deletion of module-related data and leaves crap in the
database, not to mention that it potentially prevents the reinstallation
of a module because of duplicate data with unique IDs, which is the case
for mail.

With this patch, we let the registry delete everything related to the
mail module when uninstalling, which allows for its reinstallation.

Fixes #25138

closes odoo/odoo#39347

Signed-off-by: Adrian Torres (adt) <adt@odoo.com>
2019-10-25 06:51:54 +00:00
Thibault Delavallée f0a8382dc1 [IMP] fetchmail, mail: remove dead code in mail.message
Task ID 1853147
PR #39272

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2019-10-23 15:32:46 +00:00
Thibault Delavallée 7ec2e85734 [REF] mail: remove dead code in composer and lint some code bits
Purpose of this commit is to remove code coming from old features,
implementations and that was not completely cleaned.

Including

  * remove support of old "reply" composition mode which is simply a comment
    with a parent message, and is deprecated;
  * remove support of old "mail.compose.message.mode" context key that was
    used in Odoo 6.1;
  * remove support of message_id default value in context instead of
    default_parent_id;
  * remove old redirection of user / partner post. This code come from
    old age when people were able to post on their "profile" by posting
    on their user;
  * remove unnecessary method for selection field;
  * remove unused imports to clean a bit code;

We also make some optional parameters in rendering methods mandatory to
ease code understanding and future modifications.

Task ID 1853147
PR #39272
2019-10-23 15:29:58 +00:00
Thibault Delavallée de0951eb91 [REF] mail: use create multi on mail.mail
Purpose is to prepare future cleanups and speed improvements. In this commit
we use create multi on mail.mail, allowing to batch their creation when
necessary.

Task ID 1853147
PR #39272
2019-10-23 15:29:41 +00:00
Thibault Delavallée 2535a52177 [IMP] mail, portal: use formataddr to format email
Somehow followup of dbb6cfdbf8 . Purpose is
to use formataddr from tools instead of manually handcrafting the full
email address format. Indeed the tools one correctly encapsulates and
format name and email.

Task ID 2068986
2019-10-18 14:17:45 +00:00
Thibault Delavallée 20c49e8093 [FIX][IMP] mail: update all notification status before sending bus notifications
Otherwise status of notifications is not correctly updated when sending them
on the bus.

Task ID 2068986
2019-10-18 14:13:28 +00:00
Kevin Baptiste 7b8038c4bd [FIX] mail: Reserve mis-referenced trackings to system users
Purpose
=======

Let's say that the field 'foo' is tracked and defined with a res.group.

When the field is modified, a mail.tracking.value is generated, but the
reference to the field name is a char field.

When displaying the mail.tracking.values on the chatter, a check is done
according to the field group to decide whether we should display it or not
to the user. See: odoo/odoo@c7aa8c5#diff-ad8b6db158187579d2208f233d993c3cR43

So if I rename the field, and if the mail.tracking.value is not modified,
the mail.tracking.value magically appears to the users who shouldn't
access it before.

Note: If the migration is correctly handled, this shouldn't be the case.
But manual manipulations on the database could lead to this issue.

Specification
=============

If the field referenced by the mail_tracking_value doesn't seem to exist,
then display its value to system users only, by security.

closes odoo/odoo#39033

Taskid: 2088634
X-original-commit: ae1e70eba10112170283cfc17fa95d94dd948d2b
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2019-10-18 12:19:10 +00:00
Thibault Delavallée c737dd5001 [IMP] mail: reorganize mail message code
Purpose of this commit is to reorganize mail.message file in order to
better understand its content. It is done according to guidelines

  * computed fields;
  * CRUD and search / check access overrides;
  * actions (discuss, moderation, fetch / failure);
  * tools;

Even if this commit generates a big diff, there only some main blocks code
move. Nothing is changed and functionally as well as technically nothing
changes.

closes odoo/odoo#38695

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2019-10-14 09:50:28 +00:00
fw-bot 91e4b00b8b [FIX] base_sparse_field,mail: handle None _instanciate_attrs override
The parent was expected to return a dict, but it can also return None in some
cases. When that happens, the overrides were crashing because it is impossible
to assign a key/val to None.

Note that using `if` conditions like this also prevents from writing on the dict
if it is existing but empty, but due to the definition of the parent, if there
is a dict, it will not be empty.

closes odoo/odoo#38316

X-original-commit: 3525fad3b1729286d139b19a4a92f1821d94ad88
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2019-10-10 06:27:09 +00:00
Christophe Simonis d74b451805 [MERGE] forward port branch 13.0 up to f4105eb9c7 2019-10-09 02:08:17 +02:00
fw-bot 2b830e5d41 [FIX] mail: translate assignation msg in recipient lang
Before this commit, when assigning a user onto a record,
through the field user_id, the email was sent
in the current user's language

After this commit, it is sent in the partner's language

OPW 2060898

closes odoo/odoo#38142

Signed-off-by: Lucas Perais (lpe) <lpe@odoo.com>
2019-10-08 07:52:13 +00:00
fw-bot 2083f8b0d8 [FIX] mail: filter void attachments when sending mail.mail
In some cases you may have a void attachment (datas being False) that you
try to send through the mail.mail send flow and this make crash the send
process. This commit fixes that behavior by filtering void attachments.

closes odoo/odoo#38098

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2019-10-07 14:07:11 +00:00
mreficent 6bc944f589 [IMP] mail: make use of is_mail_thread and allow filtering on it
Purpose of this commit is to use is_mail_thread field in a constraint
instead of manually checking classes. Field is also made visible on
model search and group to ease its use.

closes odoo/odoo#37867

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2019-10-03 10:13:03 +00:00
Stéphane Bidoul (ACSONE) c8c8413e3e [IMP] mail: enforce kw args for message_{post/notify/log}
Since there are message_post overrides using the form `def message_post(self,
**kwargs)` in some modules, this method is intended to be invoked with keyword
arguments only.

This commit enforces this behavior. Calls such as `message_post("body")` will
fail regardless of which addon is installed, forcing users to use
`message_post(body="body")`.

It also fixes a message_post override in hr, and applies the same
mechanism to message_notify, and _message_log.

closes odoo/odoo#33306

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2019-10-02 15:42:04 +00:00
Jairo Llopis 7d93c80693 [IMP] mail: allow auto_commit parameter with templated message posts
The underlying `mail.compose.message` model has a useful `auto_commit`
argument when sending emails, which is unavailable when posting messages with
template through message_post_with_template.

This patch simply exposes the preexisting feature, to ease developments that
need it.

closes odoo/odoo#37783

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2019-10-02 12:57:32 +00:00
Nicolas Bayet 14116b3b9e [IMP] add ability to unlink databases from subscription more easily
closes odoo/odoo#37431

Signed-off-by: Toufik Benjaa (tbe) <tbe@odoo.com>
2019-10-01 07:58:02 +00:00
Laurent Smet 006e15569b [FIX] account,mail: Fix creation message in chatter for invoices
Add a hook inside mail_thread to be able to get a custom message at
the record creation.
Override this hook in account.move to get a custom creation message
dependent of the move's type.

closes odoo/odoo#37474

Signed-off-by: Laurent Smet <smetl@users.noreply.github.com>
2019-09-27 08:08:04 +00:00