From 77fe523569c69d1865c705aab98dc23919c7fefc Mon Sep 17 00:00:00 2001 From: Sylvain LE GAL Date: Fri, 16 Oct 2020 11:32:23 +0200 Subject: [PATCH] [IMP] server_environmnet_ir_config_parameter: display in the config parameter list and form views the new field is_environment, and make the key and values readonly if checked --- .../__manifest__.py | 1 + .../models/ir_config_parameter.py | 15 +++++++- .../readme/CONTRIBUTORS.rst | 1 + .../readme/ROADMAP.rst | 4 --- .../views/view_ir_config_parameter.xml | 35 +++++++++++++++++++ 5 files changed, 51 insertions(+), 5 deletions(-) delete mode 100644 server_environment_ir_config_parameter/readme/ROADMAP.rst create mode 100644 server_environment_ir_config_parameter/views/view_ir_config_parameter.xml diff --git a/server_environment_ir_config_parameter/__manifest__.py b/server_environment_ir_config_parameter/__manifest__.py index a0dd28a..ccbc546 100644 --- a/server_environment_ir_config_parameter/__manifest__.py +++ b/server_environment_ir_config_parameter/__manifest__.py @@ -13,6 +13,7 @@ 'server_environment', ], 'data': [ + 'views/view_ir_config_parameter.xml', ], 'demo': [ ], diff --git a/server_environment_ir_config_parameter/models/ir_config_parameter.py b/server_environment_ir_config_parameter/models/ir_config_parameter.py index 29ddc44..3097d77 100644 --- a/server_environment_ir_config_parameter/models/ir_config_parameter.py +++ b/server_environment_ir_config_parameter/models/ir_config_parameter.py @@ -1,7 +1,7 @@ # Copyright 2016-2018 ACSONE SA/NV # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -from odoo import api, models, _ +from odoo import api, fields, models, _ from odoo.exceptions import UserError from odoo.addons.server_environment import serv_config @@ -13,6 +13,19 @@ class IrConfigParameter(models.Model): _inherit = 'ir.config_parameter' + is_environment = fields.Boolean( + string="Defined by environment", + compute="_compute_is_environment", + help="If check, the value in the database will be ignored" + " and alternatively, the system will use the key defined" + " in your odoo.cfg environment file.") + + @api.multi + def _compute_is_environment(self): + for parameter in self: + parameter.is_environment = serv_config.has_option( + SECTION, parameter.key) + @api.model def get_param(self, key, default=False): value = super().get_param(key, default=None) diff --git a/server_environment_ir_config_parameter/readme/CONTRIBUTORS.rst b/server_environment_ir_config_parameter/readme/CONTRIBUTORS.rst index c3ae88d..96047e9 100644 --- a/server_environment_ir_config_parameter/readme/CONTRIBUTORS.rst +++ b/server_environment_ir_config_parameter/readme/CONTRIBUTORS.rst @@ -1,3 +1,4 @@ * Stéphane Bidoul (https://acsone.eu) * Thierry Ducrest * Gilles Meyomesse (https://acsone.eu) +* Sylvain LE GAL (https://www.twitter.com/legalsylvain) diff --git a/server_environment_ir_config_parameter/readme/ROADMAP.rst b/server_environment_ir_config_parameter/readme/ROADMAP.rst deleted file mode 100644 index 42a26d8..0000000 --- a/server_environment_ir_config_parameter/readme/ROADMAP.rst +++ /dev/null @@ -1,4 +0,0 @@ -When the user modifies System Parameters that are defined in the config -file, the changes are ignored. It would be nice to display which system -parameters come from the config file and possibly make their key and value -readonly in the user interface. \ No newline at end of file diff --git a/server_environment_ir_config_parameter/views/view_ir_config_parameter.xml b/server_environment_ir_config_parameter/views/view_ir_config_parameter.xml new file mode 100644 index 0000000..71e3550 --- /dev/null +++ b/server_environment_ir_config_parameter/views/view_ir_config_parameter.xml @@ -0,0 +1,35 @@ + + + + + + ir.config_parameter + + + + + + + + + + ir.config_parameter + + + + + + + {'readonly': [('is_environment', '=', True)]} + + + {'readonly': [('is_environment', '=', True)]} + + + + +