diff --git a/addons/mail/mail_thread.py b/addons/mail/mail_thread.py index cd04de19bef..d27c9b6d435 100644 --- a/addons/mail/mail_thread.py +++ b/addons/mail/mail_thread.py @@ -784,7 +784,7 @@ class mail_thread(osv.AbstractModel): new_partner_ids |= set(part_ids) if new_partner_ids: - self.message_subscribe(cr, uid, new_partner_ids, part_ids, context=context) + self.message_subscribe(cr, uid, [thread_id], list(new_partner_ids), context=context) partner_ids = set(kwargs.pop('partner_ids', [])) | set(new_partner_ids) diff --git a/addons/mail/static/src/js/mail.js b/addons/mail/static/src/js/mail.js index b7592fd8b33..32b6e85f118 100644 --- a/addons/mail/static/src/js/mail.js +++ b/addons/mail/static/src/js/mail.js @@ -567,25 +567,30 @@ openerp.mail = function (session) { check_recipient_partners: function (emails) { var self = this; var deferreds = []; + var ds_partner = new session.web.DataSetSearch(this, 'res.partner'); _.each(emails, function (email) { - var deferred = $.Deferred(); - var pop = new session.web.form.FormOpenPopup(this); - pop.show_element( - 'res.partner', - 0, - { - 'default_email': email, - 'force_email': true, - 'ref': "compound_context", - }, - { - title: _t("Please complete partner's informations"), + ds_partner.call('search', [[['email', '=', email]]]).then(function (partner_ids) { + if (!partner_ids.length) { + var deferred = $.Deferred(); + var pop = new session.web.form.FormOpenPopup(this); + pop.show_element( + 'res.partner', + 0, + { + 'default_email': email, + 'force_email': true, + 'ref': "compound_context", + }, + { + title: _t("Please complete partner's informations"), + } + ); + pop.on('write_completed, closed', self, function () { + deferred.resolve(); + }); + deferreds.push(deferred); } - ); - pop.on('write_completed, closed', self, function () { - deferred.resolve(); }); - deferreds.push(deferred); }); return $.when.apply( $, deferreds ); }, @@ -1587,7 +1592,7 @@ openerp.mail = function (session) { } this.domain = this.node.params && this.node.params.domain || []; - + if (!this.__parentedParent.is_action_enabled('edit')) { this.node.params.show_link = false; } diff --git a/addons/mail/static/src/xml/mail.xml b/addons/mail/static/src/xml/mail.xml index f878b4204f1..41de6d6b40f 100644 --- a/addons/mail/static/src/xml/mail.xml +++ b/addons/mail/static/src/xml/mail.xml @@ -132,9 +132,8 @@
- Add this contact's email on recipient and follower : - +