[FIX] handling of value and default domain in search m2o

bzr revid: xmo@openerp.com-20111005105731-9431uvhay91bt10c
This commit is contained in:
Xavier Morel
2011-10-05 12:57:31 +02:00
parent 19b7493711
commit 68cd9188b9
+19 -3
View File
@@ -895,16 +895,32 @@ openerp.web.search.ManyToOneField = openerp.web.search.CharField.extend({
}
return this._super(defaults);
},
make_domain: function (name, operator, value) {
/**
* m2o default domain has a different fallback method than normal char widget:
*
* * If an ``this.id`` is set on the field and the field's input value is
* the same as ``this.name``, the operator is ``this.operator || =``
* and the value is ``this.id``
* * If
*/
make_domain: function (name) {
var value = this.$element.val();
if (this.id && this.name) {
if (value === this.name) {
return [[name, '=', this.id]];
return [[name, this.attrs.operator || '=', this.id]];
} else {
delete this.id;
delete this.name;
}
}
return this._super(name, operator, value);
if (value === null || value === '') { return; }
return this._super(name, this.default_operator, value);
},
/**
* m2o field's normal value is the id of the m2o record
*/
get_value: function () {
return this.id || false;
}
});