[FIX] Chatter: extra_emails: fixed deferreds wrongly used, leading to duplicate partners created when checking emails in the chatter.
bzr revid: tde@openerp.com-20121224105413-p56vhgxh5bg0rhu0
This commit is contained in:
parent
f49cf3ad50
commit
ff4abc7e38
|
@ -567,11 +567,14 @@ openerp.mail = function (session) {
|
||||||
check_recipient_partners: function (emails) {
|
check_recipient_partners: function (emails) {
|
||||||
var self = this;
|
var self = this;
|
||||||
var deferreds = [];
|
var deferreds = [];
|
||||||
|
for (var i = 0; i < emails.length; i++) {
|
||||||
|
deferreds.push($.Deferred());
|
||||||
|
}
|
||||||
var ds_partner = new session.web.DataSetSearch(this, 'res.partner');
|
var ds_partner = new session.web.DataSetSearch(this, 'res.partner');
|
||||||
_.each(emails, function (email) {
|
_.each(emails, function (email) {
|
||||||
ds_partner.call('search', [[['email', '=', email]]]).then(function (partner_ids) {
|
ds_partner.call('search', [[['email', 'ilike', email]]]).then(function (partner_ids) {
|
||||||
|
var deferred = deferreds[_.indexOf(emails, email)];
|
||||||
if (!partner_ids.length) {
|
if (!partner_ids.length) {
|
||||||
var deferred = $.Deferred();
|
|
||||||
var pop = new session.web.form.FormOpenPopup(this);
|
var pop = new session.web.form.FormOpenPopup(this);
|
||||||
pop.show_element(
|
pop.show_element(
|
||||||
'res.partner',
|
'res.partner',
|
||||||
|
@ -588,11 +591,14 @@ openerp.mail = function (session) {
|
||||||
pop.on('write_completed, closed', self, function () {
|
pop.on('write_completed, closed', self, function () {
|
||||||
deferred.resolve();
|
deferred.resolve();
|
||||||
});
|
});
|
||||||
deferreds.push(deferred);
|
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
|
deferred.resolve();
|
||||||
|
}
|
||||||
|
return deferred;
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
return $.when.apply( $, deferreds );
|
return $.when.apply( $, deferreds ).done();
|
||||||
},
|
},
|
||||||
|
|
||||||
on_message_post: function (event) {
|
on_message_post: function (event) {
|
||||||
|
|
Loading…
Reference in New Issue