diff options
| author | Christophe Simonis <chs@odoo.com> | 2018-02-22 10:39:15 +0100 |
|---|---|---|
| committer | Christophe Simonis <chs@odoo.com> | 2018-02-22 10:39:15 +0100 |
| commit | 9a84ba55330204c49e9c72d9e53660dfd11556ae (patch) | |
| tree | 10c207733941a30d5ab86285ecb1c8b130c14200 /addons/web/static/src/js/core | |
| parent | 898cd0a5c1a9696f051477c1318a76c31eb40a16 (diff) | |
| parent | e750bb6e1149cb05e13424d66d4ff12198b4cffe (diff) | |
[MERGE] forward port branch saas-11.1 up to e750bb6e114
Diffstat (limited to 'addons/web/static/src/js/core')
| -rw-r--r-- | addons/web/static/src/js/core/domain.js | 2 | ||||
| -rw-r--r-- | addons/web/static/src/js/core/utils.js | 17 |
2 files changed, 18 insertions, 1 deletions
diff --git a/addons/web/static/src/js/core/domain.js b/addons/web/static/src/js/core/domain.js index 75aaf0105ed..8ce570b8605 100644 --- a/addons/web/static/src/js/core/domain.js +++ b/addons/web/static/src/js/core/domain.js @@ -240,7 +240,7 @@ var Domain = collections.Tree.extend({ */ stringToArray: function (domain, evalContext) { if (!_.isString(domain)) return _.clone(domain); - return pyeval.eval("domain", domain || "[]", evalContext); + return pyeval.eval("domain", domain ? domain.replace(/%%/g, '%') : "[]", evalContext); }, /** * Makes implicit "&" operators explicit in the given JS prefix-array diff --git a/addons/web/static/src/js/core/utils.js b/addons/web/static/src/js/core/utils.js index 1bdd9e70a69..251cd2b508c 100644 --- a/addons/web/static/src/js/core/utils.js +++ b/addons/web/static/src/js/core/utils.js @@ -392,6 +392,23 @@ var utils = { array[i2] = elem1; array[i1] = elem2; }, + + /** + * @param {string} value + * @param {boolean} allow_mailto + * @returns boolean + */ + is_email: function (value, allow_mailto) { + // http://stackoverflow.com/questions/46155/validate-email-address-in-javascript + var re; + if (allow_mailto) { + re = /^(mailto:)?(([^<>()\[\]\.,;:\s@\"]+(\.[^<>()\[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/i; + } else { + re = /^(([^<>()\[\]\.,;:\s@\"]+(\.[^<>()\[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/i; + } + return re.test(value); + }, + /** * @param {any} str * @param {any} elseValues |
