diff --git a/addons/mail/mail_message.py b/addons/mail/mail_message.py index 72ccdc83bb6..6ed6b146d50 100644 --- a/addons/mail/mail_message.py +++ b/addons/mail/mail_message.py @@ -1023,3 +1023,15 @@ class mail_message(osv.Model): 'message': warning_msg, } } + +class ir_actions_client(osv.Model): + + _inherit = 'ir.actions.client' + + def check_message_security(self, cr, uid, context=None): + flag = False + group = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'base', 'group_user') + if group: + users = self.pool.get('res.groups').read(cr, uid, group[1], ['users'])['users'] + flag = uid in users and True or False + return flag diff --git a/addons/mail/static/src/js/mail.js b/addons/mail/static/src/js/mail.js index 35a6adfaaea..5cc195c467f 100644 --- a/addons/mail/static/src/js/mail.js +++ b/addons/mail/static/src/js/mail.js @@ -1790,6 +1790,7 @@ openerp.mail = function (session) { template: 'mail.record_thread', init: function (parent, node) { + var self = this; this._super.apply(this, arguments); this.ParentViewManager = parent; this.node = _.clone(node); @@ -1800,8 +1801,8 @@ openerp.mail = function (session) { 'read_action': 'unread', 'show_record_name': false, 'show_compact_message': 1, + 'display_log_button' : false, }, this.node.params); - if (this.node.attrs.placeholder) { this.node.params.compose_placeholder = this.node.attrs.placeholder; } @@ -1814,6 +1815,10 @@ openerp.mail = function (session) { if (!this.ParentViewManager.is_action_enabled('edit')) { this.node.params.show_link = false; } + this.dataset = new session.web.DataSet(this,"ir.actions.client"); + this.dataset.call('check_message_security', [this.session.uid]).then(function(result){ + self.node.params.display_log_button = result; + }); }, start: function () { diff --git a/addons/mail/static/src/xml/mail.xml b/addons/mail/static/src/xml/mail.xml index e6c84eaa5df..182346cc832 100644 --- a/addons/mail/static/src/xml/mail.xml +++ b/addons/mail/static/src/xml/mail.xml @@ -51,8 +51,10 @@
Send a message - or - Log a note + + or + Log a note +