summaryrefslogtreecommitdiff
path: root/addons/web/static
diff options
context:
space:
mode:
authorSimon Lejeune <sle@openerp.com>2017-10-02 15:56:31 +0200
committerSimon Lejeune <sle@openerp.com>2017-10-02 20:01:58 +0200
commitcde5b232e8a1170f4f7a1242f93edc021ebfeefc (patch)
tree63795ed13d02f266d602aaffc94ca52ce2726575 /addons/web/static
parentb5de65ed6bfc3fb1e819e41c10ff2fd947eebe7a (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/static')
-rw-r--r--addons/web/static/src/js/services/data_manager.js3
-rw-r--r--addons/web/static/src/js/views/list/list_renderer.js11
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;