diff options
| author | Simon Lejeune <sle@openerp.com> | 2017-10-02 15:56:31 +0200 |
|---|---|---|
| committer | Simon Lejeune <sle@openerp.com> | 2017-10-02 20:01:58 +0200 |
| commit | cde5b232e8a1170f4f7a1242f93edc021ebfeefc (patch) | |
| tree | 63795ed13d02f266d602aaffc94ca52ce2726575 /addons/web | |
| parent | b5de65ed6bfc3fb1e819e41c10ff2fd947eebe7a (diff) | |
[REF] stock: alert on show details if not saved
It's not possible to click on the show details button if the picking is
not saved. It's a limitation of the webclient. This commit introduces a
waring telling the user to save the form view first.
Diffstat (limited to 'addons/web')
| -rw-r--r-- | addons/web/static/src/js/services/data_manager.js | 3 | ||||
| -rw-r--r-- | addons/web/static/src/js/views/list/list_renderer.js | 11 |
2 files changed, 13 insertions, 1 deletions
diff --git a/addons/web/static/src/js/services/data_manager.js b/addons/web/static/src/js/services/data_manager.js index 48a0e2676ae..911e1c5582f 100644 --- a/addons/web/static/src/js/services/data_manager.js +++ b/addons/web/static/src/js/services/data_manager.js @@ -408,6 +408,9 @@ return core.Class.extend({ if (!_.isObject(node.attrs.modifiers)) { node.attrs.modifiers = node.attrs.modifiers ? JSON.parse(node.attrs.modifiers) : {}; } + if (!_.isObject(node.attrs.options) && node.tag === 'button') { + node.attrs.options = node.attrs.options ? JSON.parse(node.attrs.options) : {}; + } if (node.tag === 'field') { fieldsInfo[node.attrs.name] = self._processField(viewType, fields[node.attrs.name], node.attrs ? _.clone(node.attrs) : {}); diff --git a/addons/web/static/src/js/views/list/list_renderer.js b/addons/web/static/src/js/views/list/list_renderer.js index 3ba80210714..d37120339d6 100644 --- a/addons/web/static/src/js/views/list/list_renderer.js +++ b/addons/web/static/src/js/views/list/list_renderer.js @@ -4,6 +4,7 @@ odoo.define('web.ListRenderer', function (require) { var BasicRenderer = require('web.BasicRenderer'); var config = require('web.config'); var core = require('web.core'); +var Dialog = require('web.Dialog'); var dom = require('web.dom'); var field_utils = require('web.field_utils'); var Pager = require('web.Pager'); @@ -323,7 +324,15 @@ var ListRenderer = BasicRenderer.extend({ }); }); } else { - $button.prop('disabled', true); + if (node.attrs.options.warn) { + var self = this; + $button.on("click", function (e) { + e.stopPropagation(); + self.do_warn(_t("Warning"), _t('Please click on the "save" button first')); + }); + } else { + $button.prop('disabled', true); + } } return $button; |
