diff options
| author | Nans Lefebvre <len@odoo.com> | 2019-02-18 12:59:38 +0000 |
|---|---|---|
| committer | Nans Lefebvre <len@odoo.com> | 2019-02-22 12:55:28 +0000 |
| commit | 9607f4e801cf4f78eb632e8f603822a891d47a31 (patch) | |
| tree | dc19e679381461ea918ce4eab6215609478b9500 /addons/mail/static/src/js/models/threads/dm_chat.js | |
| parent | f1da58c718bc4e07500c9583ff8aa7d88b18e58e (diff) | |
[FIX] base: synchronize (non-false) company_id to child contacts
Let the database be in multi-company with unshared contact catalog.
Let F be a filter "('partner_id', 'not ilike', 'string')" on invoices.
If there is a contact which parent belongs to another company,
then this parent cannot be read.
Thus the name_get on partner can create an access error.
As a result applying the filter F would fail and return no results.
It generally doesn't make much sense to have a contact company X, which belongs
to the Odoo Company OC1, while its child contacts are in another Odoo company,
since many fields are directly computed from the parent.
However it is useful to have X belongs to no company, while it has child
contacts X>Yi belonging to company OCi.
In the first case it can create access errors interrupting the normal flow of
operations, while the latter should not.
To forbid the first case while allowing the second, we synchronize company_id,
but add a special case to ignore it if it set to False.
Note that PR#30997 should be used in case the name_get causes an error for
another reason that is deemed a legitimate use-case.
opw 1933862
closes odoo/odoo#31364
Diffstat (limited to 'addons/mail/static/src/js/models/threads/dm_chat.js')
0 files changed, 0 insertions, 0 deletions
