[IMP] Only displays warning in m2o if the user typed something.

bzr revid: nicolas.vanhoren@openerp.com-20120614142309-xf4pj2oo5bl7zh9x
This commit is contained in:
niv-openerp 2012-06-14 16:23:09 +02:00
parent edcf216d33
commit 4d386b402d
1 changed files with 8 additions and 2 deletions

View File

@ -2543,6 +2543,7 @@ instance.web.form.FieldMany2One = instance.web.form.AbstractField.extend(_.exten
var tip_delay = 200; var tip_delay = 200;
var tip_duration = 3000; var tip_duration = 3000;
var anyoneLoosesFocus = function() { var anyoneLoosesFocus = function() {
var used = false;
if (self.floating) { if (self.floating) {
if (self.last_search.length > 0) { if (self.last_search.length > 0) {
if (self.last_search[0][0] != self.get("value")) { if (self.last_search[0][0] != self.get("value")) {
@ -2550,13 +2551,17 @@ instance.web.form.FieldMany2One = instance.web.form.AbstractField.extend(_.exten
self.display_value["" + self.last_search[0][0]] = self.last_search[0][1]; self.display_value["" + self.last_search[0][0]] = self.last_search[0][1];
self.set({value: self.last_search[0][0]}); self.set({value: self.last_search[0][0]});
} else { } else {
used = true;
self.render_value(); self.render_value();
} }
} else { } else {
used = true;
self.set({value: false}); self.set({value: false});
self.render_value();
} }
self.floating = false;
} }
if (! self.get("value")) { if (used) {
tip_def.reject(); tip_def.reject();
untip_def.reject(); untip_def.reject();
tip_def = $.Deferred(); tip_def = $.Deferred();
@ -2603,7 +2608,8 @@ instance.web.form.FieldMany2One = instance.web.form.AbstractField.extend(_.exten
e.preventDefault(); e.preventDefault();
}, },
html: true, html: true,
close: anyoneLoosesFocus, // disabled to solve a bug, but may cause others
//close: anyoneLoosesFocus,
minLength: 0, minLength: 0,
delay: 0 delay: 0
}); });