summaryrefslogtreecommitdiff
path: root/odoo/addons/base/static/src
diff options
context:
space:
mode:
Diffstat (limited to 'odoo/addons/base/static/src')
-rw-r--r--odoo/addons/base/static/src/js/res_config_settings.js19
1 files changed, 19 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 623b452a91e..caae87cc183 100644
--- a/odoo/addons/base/static/src/js/res_config_settings.js
+++ b/odoo/addons/base/static/src/js/res_config_settings.js
@@ -1,6 +1,7 @@
odoo.define('base.settings', function (require) {
"use strict";
+var BasicModel = require('web.BasicModel');
var core = require('web.core');
var config = require('web.config');
var FormView = require('web.FormView');
@@ -346,10 +347,27 @@ var BaseSettingController = FormController.extend({
},
});
+var BaseSettingsModel = BasicModel.extend({
+ /**
+ * @override
+ */
+ save: function (recordID) {
+ var self = this;
+ return this._super.apply(this, arguments).then(function (result) {
+ // we remove here the res_id, because the record should still be
+ // considered new. We want the web client to always perform a
+ // default_get to fetch the settings anew.
+ delete self.localData[recordID].res_id;
+ return result;
+ });
+ },
+});
+
var BaseSettingView = FormView.extend({
jsLibs: [],
config: _.extend({}, FormView.prototype.config, {
+ Model: BaseSettingsModel,
Renderer: BaseSettingRenderer,
Controller: BaseSettingController,
}),
@@ -370,6 +388,7 @@ var BaseSettingView = FormView.extend({
view_registry.add('base_settings', BaseSettingView);
return {
+ Model: BaseSettingsModel,
Renderer: BaseSettingRenderer,
Controller: BaseSettingController,
};