summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/views/basic/basic_model.js
diff options
context:
space:
mode:
authorAaron Bohy <aab@odoo.com>2017-03-01 09:47:39 +0100
committerAaron Bohy <aab@odoo.com>2017-04-11 19:44:38 +0200
commit2bd4497b494e6d3dece46026283cce75beb1da91 (patch)
treed68e467e845fe0916b8356779191db3bb05a78cf /addons/web/static/src/js/views/basic/basic_model.js
parent1163bab5c62c8737449a43a637f77ec2c572bcb8 (diff)
[FIX] web: apply onchange even if warning
The onchange route returns field values, but it can also return a warning, that needs to be displayed in a dialog. When it does, the new values must be applied anyway, which wasn't the case before this rev. We generalized the 'warning' custom event handled by the webclient so that it can display a warning in a dialog (and not only through the NotificationManager).
Diffstat (limited to 'addons/web/static/src/js/views/basic/basic_model.js')
-rw-r--r--addons/web/static/src/js/views/basic/basic_model.js6
1 files changed, 5 insertions, 1 deletions
diff --git a/addons/web/static/src/js/views/basic/basic_model.js b/addons/web/static/src/js/views/basic/basic_model.js
index 5f1e6ccbb9c..b16bf1e10b0 100644
--- a/addons/web/static/src/js/views/basic/basic_model.js
+++ b/addons/web/static/src/js/views/basic/basic_model.js
@@ -969,7 +969,11 @@ var BasicModel = AbstractModel.extend({
var args = [idList, currentData, fields, onchange_spec, context];
return self.performModelRPC(record.model, 'onchange', args, {}).then(function (result) {
if (result.warning) {
- return $.Deferred().reject(result.warning);
+ self.trigger_up('warning', {
+ message: result.warning.message,
+ title: result.warning.title,
+ type: 'dialog',
+ });
}
var defs = [];
_.each(result.value, function (val, name) {