diff options
| author | Fabien Meghazi <fme@openerp.com> | 2011-08-10 17:42:38 +0200 |
|---|---|---|
| committer | Fabien Meghazi <fme@openerp.com> | 2011-08-10 17:42:38 +0200 |
| commit | 0cd8a79009b8df3a880c72dab2a66da16e4f9a5f (patch) | |
| tree | 0877988fb26f80a716fd5b044c308a509c3e04c6 /addons/base/static | |
| parent | 84dde229f0d1e12e6825d2768fffc93bffe00535 (diff) | |
[ADD] Added exception throw when domain references an unknown field
bzr revid: fme@openerp.com-20110810154238-h18xpgjtbhqlr67d
Diffstat (limited to 'addons/base/static')
| -rw-r--r-- | addons/base/static/src/js/form.js | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/addons/base/static/src/js/form.js b/addons/base/static/src/js/form.js index 3aea5828038..25bc55a86fb 100644 --- a/addons/base/static/src/js/form.js +++ b/addons/base/static/src/js/form.js @@ -510,36 +510,40 @@ openerp.base.form.compute_domain = function(expr, fields) { } } - var field = fields[ex[0]].get_value ? fields[ex[0]].get_value() : fields[ex[0]].value; + var field = fields[ex[0]]; + if (!field) { + throw new Error("Domain references unknown field : " + ex[0]); + } + var field_value = field.get_value ? fields[ex[0]].get_value() : fields[ex[0]].value; var op = ex[1]; var val = ex[2]; switch (op.toLowerCase()) { case '=': case '==': - stack.push(field == val); + stack.push(field_value == val); break; case '!=': case '<>': - stack.push(field != val); + stack.push(field_value != val); break; case '<': - stack.push(field < val); + stack.push(field_value < val); break; case '>': - stack.push(field > val); + stack.push(field_value > val); break; case '<=': - stack.push(field <= val); + stack.push(field_value <= val); break; case '>=': - stack.push(field >= val); + stack.push(field_value >= val); break; case 'in': - stack.push(_(val).contains(field)); + stack.push(_(val).contains(field_value)); break; case 'not in': - stack.push(!_(val).contains(field)); + stack.push(!_(val).contains(field_value)); break; default: this.log("Unsupported operator in modifiers :", op); |
