diff options
| author | Christophe Simonis <chs@odoo.com> | 2018-02-21 20:19:26 +0100 |
|---|---|---|
| committer | Christophe Simonis <chs@odoo.com> | 2018-02-21 20:19:26 +0100 |
| commit | ae6a65753e57fd2e31f2fb9a0675fdc7266ad38c (patch) | |
| tree | a16174284684978612798d19fab2e05ac492aef1 /addons/web/static/src/js/core | |
| parent | 90e8da9b4f792919c14c7de1d8596bf2056f58b2 (diff) | |
| parent | dbb713c2f836892de516e8d5e313a5dab8919a56 (diff) | |
[MERGE] forward port branch 11.0 up to dbb713c2f83
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 |
