diff options
| author | Sébastien Theys <seb@odoo.com> | 2018-07-20 12:02:16 +0000 |
|---|---|---|
| committer | Thibault Delavallée <tde@odoo.com> | 2018-12-12 12:44:03 +0000 |
| commit | b9c8ba83e6b367275eca28255dd7df9b8ac84aa1 (patch) | |
| tree | 388eb2d542849b73e1980b0483cf5ca426576192 /addons/mail/security | |
| parent | 13eb9b9c5b77cb42616f91dc4db48e0a6aab014e (diff) | |
[IMP] mail: clean activities access rights
This commit improves code of access rights checks when creating or updating
activities. Several points triggers this commit
* we would like to use _filter_access_rules and override it on activities
model in order to be more standard;
* we would like to get rid of sudo used in various CRUD overrides as using
standard ORM method allows to correctly use current user;
* we would like to get rid of create_user_id field once we can keep the
current user as create_uid;
Access rights are a bit updated. They are now the following
* you can create activities for documents like posting messages (using
_mail_post_access attribute; if not defined, write access on document
is required);
* you can read activities for documents you can read;
* you can write and unlink activities either following the defined access
rule (created OR assigned), and otherwise like posting messages (
using _mail_post_access attribute; if not defined, write access on
document is required);
In this commit we also hide edit / mark as done / cancel buttons for
activities the current user cannot modify.
This commit is linked to task ID 1856417 and PR #27619.
Co-Authored-By: Sébastien Theys <seb@odoo.com>
Co-Authored-By: Thibault Delavallée <tde@odoo.com>
Diffstat (limited to 'addons/mail/security')
| -rw-r--r-- | addons/mail/security/mail_security.xml | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/addons/mail/security/mail_security.xml b/addons/mail/security/mail_security.xml index 7a97925b42b..79f6f44bae1 100644 --- a/addons/mail/security/mail_security.xml +++ b/addons/mail/security/mail_security.xml @@ -41,9 +41,9 @@ </record> <record id="mail_activity_rule_user" model="ir.rule"> - <field name="name">mail.activity: user: own only</field> + <field name="name">mail.activity: user: write/unlink only (created or assigned)</field> <field name="model_id" ref="model_mail_activity"/> - <field name="domain_force">[('user_id', '=', user.id)]</field> + <field name="domain_force">['|', ('user_id', '=', user.id), ('create_user_id', '=', user.id)]</field> <field name="groups" eval="[(4, ref('base.group_user'))]"/> <field name="perm_create" eval="False"/> <field name="perm_read" eval="False"/> |
