summaryrefslogtreecommitdiff
path: root/odoo/addons/base/static/src/js
diff options
context:
space:
mode:
authorParth Choksi <pch@odoo.com>2018-12-20 12:55:48 +0000
committerYannick Tivisse <yti@odoo.com>2019-02-04 08:40:20 +0000
commit514d6fb90d40d33a309955652b2f768575b072e1 (patch)
treeee89c90a08bdb743de5a67551b623aa29d5efdff /odoo/addons/base/static/src/js
parentbbd64c22abc19558c1d83a892fc426bf99a094ce (diff)
[IMP] base: Hide Save/Discard on Settings until there are modifications
Purpose ======= It only makes sense to display 'Save' and 'Discard' if the user actually changed something in the settings. So after this commit, the 'Save' and 'Discard' buttons of statusbar in general settings will only appear when you make any changes. Also when there are changes, there will be a message shown that will tell the user that he/she has unsaved changes. The commit is related to Task ID: 1917637 Co-authored-by: Mohammed Shekha <msh@openerp.com> closes odoo/odoo#29726
Diffstat (limited to 'odoo/addons/base/static/src/js')
-rw-r--r--odoo/addons/base/static/src/js/res_config_settings.js16
1 files changed, 16 insertions, 0 deletions
diff --git a/odoo/addons/base/static/src/js/res_config_settings.js b/odoo/addons/base/static/src/js/res_config_settings.js
index 9514d431141..5c39a2a9c02 100644
--- a/odoo/addons/base/static/src/js/res_config_settings.js
+++ b/odoo/addons/base/static/src/js/res_config_settings.js
@@ -10,6 +10,7 @@ var FormRenderer = require('web.FormRenderer');
var view_registry = require('web.view_registry');
var QWeb = core.qweb;
+var _t = core._t;
var BaseSettingRenderer = FormRenderer.extend({
events: _.extend({}, FormRenderer.prototype.events, {
@@ -34,6 +35,20 @@ var BaseSettingRenderer = FormRenderer.extend({
/**
* @override
+ * overridden to show statusbar buttons and a message if there are changes
+ */
+ confirmChange: function () {
+ var self = this;
+ return this._super.apply(this, arguments).then(function () {
+ if (self.$('.o_statusbar_buttons').hasClass('d-none')) {
+ self.$('.o_statusbar_buttons')
+ .append($('<span/>', {text: _t("There are unsaved changes"), class: 'text-muted ml-2'}))
+ .removeClass('d-none');
+ }
+ });
+ },
+ /**
+ * @override
*/
on_attach_callback: function () {
this._super.apply(this, arguments);
@@ -270,6 +285,7 @@ var BaseSettingRenderer = FormRenderer.extend({
this._initModules();
this._renderLeftPanel();
this._initSearch();
+ this.$('.o_statusbar_buttons').addClass('d-none');
if (config.device.isMobile) {
this._enableSwipe();
}