summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/core
diff options
context:
space:
mode:
Diffstat (limited to 'addons/web/static/src/js/core')
-rw-r--r--addons/web/static/src/js/core/domain.js21
1 files changed, 16 insertions, 5 deletions
diff --git a/addons/web/static/src/js/core/domain.js b/addons/web/static/src/js/core/domain.js
index dbf2b18eb40..a1d6e7e7c49 100644
--- a/addons/web/static/src/js/core/domain.js
+++ b/addons/web/static/src/js/core/domain.js
@@ -106,20 +106,31 @@ var Domain = collections.Tree.extend({
return _.intersection(
_.isArray(this._data[2]) ? this._data[2] : [this._data[2]],
_.isArray(fieldValue) ? fieldValue : [fieldValue],
- ).length !== 0;;
+ ).length !== 0;
case "not in":
return _.intersection(
_.isArray(this._data[2]) ? this._data[2] : [this._data[2]],
_.isArray(fieldValue) ? fieldValue : [fieldValue],
).length === 0;
case "like":
- return (fieldValue.toLowerCase().indexOf(this._data[2].toLowerCase()) >= 0);
+ if (fieldValue === false) {
+ return false;
+ }
+ return (fieldValue.indexOf(this._data[2]) >= 0);
case "=like":
- var regExp = new RegExp(this._data[2].toLowerCase().replace(/([.\[\]\{\}\+\*])/g, '\\\$1').replace(/%/g, '.*'));
- return regExp.test(fieldValue.toLowerCase());
+ if (fieldValue === false) {
+ return false;
+ }
+ return new RegExp(this._data[2].replace(/%/g, '.*')).test(fieldValue);
case "ilike":
- return (fieldValue.indexOf(this._data[2]) >= 0);
+ if (fieldValue === false) {
+ return false;
+ }
+ return (fieldValue.toLowerCase().indexOf(this._data[2].toLowerCase()) >= 0);
case "=ilike":
+ if (fieldValue === false) {
+ return false;
+ }
return new RegExp(this._data[2].replace(/%/g, '.*'), 'i').test(fieldValue);
default:
throw new Error(_.str.sprintf(