From 59952a8ffde46a3127ca0b9fe721fd63d52b4af7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Bidoul=20=28ACSONE=29?= Date: Sun, 20 Nov 2016 18:14:15 +0100 Subject: [PATCH 01/35] server_environment_ir_config_parameter --- .../README.rst | 82 ++++++++++++++++++ .../__init__.py | 1 + .../__openerp__.py | 20 +++++ .../models/__init__.py | 1 + .../models/ir_config_parameter.py | 59 +++++++++++++ .../static/description/icon.png | Bin 0 -> 9455 bytes .../tests/__init__.py | 1 + .../tests/test_server_environment_ircp.py | 51 +++++++++++ 8 files changed, 215 insertions(+) create mode 100644 server_environment_ir_config_parameter/README.rst create mode 100644 server_environment_ir_config_parameter/__init__.py create mode 100644 server_environment_ir_config_parameter/__openerp__.py create mode 100644 server_environment_ir_config_parameter/models/__init__.py create mode 100644 server_environment_ir_config_parameter/models/ir_config_parameter.py create mode 100644 server_environment_ir_config_parameter/static/description/icon.png create mode 100644 server_environment_ir_config_parameter/tests/__init__.py create mode 100644 server_environment_ir_config_parameter/tests/test_server_environment_ircp.py diff --git a/server_environment_ir_config_parameter/README.rst b/server_environment_ir_config_parameter/README.rst new file mode 100644 index 000000000..954a7a85c --- /dev/null +++ b/server_environment_ir_config_parameter/README.rst @@ -0,0 +1,82 @@ +.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 + +====================================== +Server Environment Ir Config Parameter +====================================== + +Override System Parameters from server environment file. +Before using this module, you must be familiar with the +server_environment module. + +Installation +============ + +There is no specific installation instruction for this module. + +Configuration +============= + +To configure this module, you need to add a section ``[ir.config_parameter]`` to +you server_environment_files configurations, where the keys are the same +as would normally be set in the Systems Parameter Odoo menu. + +When first using a value, the system will read it from the configuration file +and override any value that would be present in the database, so the configuration +file has precedence. + +The user cannot write, create, or delete System Parameters that are defined in the +configuration files. + +For example you can use this module in combination with web_environment_ribbon: + +.. code:: + + [ir.config_parameter] + ribbon.name=DEV + +.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas + :alt: Try me on Runbot + :target: https://runbot.odoo-community.org/runbot/149/9.0 + +Known issues / Roadmap +====================== + +N/A + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues +`_. In case of trouble, please +check there if your issue has already been reported. If you spotted it first, +help us smashing it by providing a detailed and welcomed feedback. + +Credits +======= + +Images +------ + +* Odoo Community Association: `Icon `_. + +Contributors +------------ + +* Stéphane Bidoul + +Maintainer +---------- + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +This module is maintained by the OCA. + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +To contribute to this module, please visit https://odoo-community.org. diff --git a/server_environment_ir_config_parameter/__init__.py b/server_environment_ir_config_parameter/__init__.py new file mode 100644 index 000000000..0650744f6 --- /dev/null +++ b/server_environment_ir_config_parameter/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/server_environment_ir_config_parameter/__openerp__.py b/server_environment_ir_config_parameter/__openerp__.py new file mode 100644 index 000000000..616840f8a --- /dev/null +++ b/server_environment_ir_config_parameter/__openerp__.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +# Copyright 2016 ACSONE SA/NV +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +{ + 'name': 'Server Environment Ir Config Parameter', + 'summary': """ + Override System Parameters from server environment file""", + 'version': '9.0.1.0.0', + 'license': 'AGPL-3', + 'author': 'ACSONE SA/NV,Odoo Community Association (OCA)', + 'website': 'https://odoo-community.org/', + 'depends': [ + 'server_environment', + ], + 'data': [ + ], + 'demo': [ + ], +} diff --git a/server_environment_ir_config_parameter/models/__init__.py b/server_environment_ir_config_parameter/models/__init__.py new file mode 100644 index 000000000..bd3aa9f10 --- /dev/null +++ b/server_environment_ir_config_parameter/models/__init__.py @@ -0,0 +1 @@ +from . import ir_config_parameter diff --git a/server_environment_ir_config_parameter/models/ir_config_parameter.py b/server_environment_ir_config_parameter/models/ir_config_parameter.py new file mode 100644 index 000000000..c92153dee --- /dev/null +++ b/server_environment_ir_config_parameter/models/ir_config_parameter.py @@ -0,0 +1,59 @@ +# -*- coding: utf-8 -*- +# Copyright 2016 ACSONE SA/NV +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from openerp import api, models, _, SUPERUSER_ID +from openerp.exceptions import UserError +from openerp.tools import ormcache +from openerp.addons.server_environment import serv_config + + +SECTION = 'ir.config_parameter' +CTX_NO_CHECK = 'icp_no_check' + + +class IrConfigParameter(models.Model): + + _inherit = 'ir.config_parameter' + + @ormcache('uid', 'key') + def _get_param(self, cr, uid, key): + value = super(IrConfigParameter, self)._get_param(cr, uid, key) + if serv_config.has_option(SECTION, key): + cvalue = serv_config.get(SECTION, key) + if cvalue != value: + # we write in db on first access; + # should we have preloaded values in database at, + # server startup, modules loading their parameters + # from data files would break on unique key error. + self.set_param( + cr, SUPERUSER_ID, key, cvalue, + context={CTX_NO_CHECK: True}) + return cvalue + return value + + def _check_not_in_config(self, keys): + if self.env.context.get(CTX_NO_CHECK): + return + if not serv_config.has_section(SECTION): + return + config_icp_keys = set(serv_config.options(SECTION)) & set(keys) + if config_icp_keys: + raise UserError(_("System Parameter(s) %s is/are defined " + "in server_environment_files.") % + (config_icp_keys, )) + + @api.model + def create(self, vals): + self._check_not_in_config([vals.get('key')]) + return super(IrConfigParameter, self).create(vals) + + @api.multi + def write(self, vals): + self._check_not_in_config(self.mapped('key')) + return super(IrConfigParameter, self).write(vals) + + @api.multi + def unlink(self): + self._check_not_in_config(self.mapped('key')) + return super(IrConfigParameter, self).unlink() diff --git a/server_environment_ir_config_parameter/static/description/icon.png b/server_environment_ir_config_parameter/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d GIT binary patch literal 9455 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 z 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 Xviia!U7SGha1wx#SCgwmn*{w2TRX*I literal 0 HcmV?d00001 diff --git a/server_environment_ir_config_parameter/tests/__init__.py b/server_environment_ir_config_parameter/tests/__init__.py new file mode 100644 index 000000000..83a250db1 --- /dev/null +++ b/server_environment_ir_config_parameter/tests/__init__.py @@ -0,0 +1 @@ +from . import test_server_environment_ircp diff --git a/server_environment_ir_config_parameter/tests/test_server_environment_ircp.py b/server_environment_ir_config_parameter/tests/test_server_environment_ircp.py new file mode 100644 index 000000000..9566bb126 --- /dev/null +++ b/server_environment_ir_config_parameter/tests/test_server_environment_ircp.py @@ -0,0 +1,51 @@ +# -*- coding: utf-8 -*- +# Copyright 2016 ACSONE SA/NV +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from openerp.exceptions import UserError +from openerp.tests import common + + +class TestEnv(common.SavepointCase): + + def setUp(self): + super(TestEnv, self).setUp() + self.ICP = self.env['ir.config_parameter'] + + def test_get_param(self): + """ Get system parameter from config """ + # it's not in db + res = self.ICP.search([('key', '=', 'ircp_from_config')]) + self.assertFalse(res) + # read so it's created in db + value = self.ICP.get_param('ircp_from_config') + self.assertEqual(value, 'config_value') + # now it's in db + res = self.ICP.search([('key', '=', 'ircp_from_config')]) + self.assertEqual(len(res), 1) + self.assertEqual(res.value, 'config_value') + + def test_set_param_1(self): + """ We can't set parameters that are in config file """ + # create + with self.assertRaises(UserError): + self.ICP.set_param('ircp_from_config', 'new_value') + # read so it's created in db + self.ICP.get_param('ircp_from_config') + # write + res = self.ICP.search([('key', '=', 'ircp_from_config')]) + self.assertEqual(len(res), 1) + with self.assertRaises(UserError): + res.write({'ircp_from_config': 'new_value'}) + # unlink + with self.assertRaises(UserError): + res.unlink() + + def test_set_param_2(self): + """ We can set parameters that are not in config file """ + self.ICP.set_param('some.param', 'new_value') + self.assertEqual(self.ICP.get_param('some.param'), 'new_value') + res = self.ICP.search([('key', '=', 'some.param')]) + res.unlink() + res = self.ICP.search([('key', '=', 'some.param')]) + self.assertFalse(res) From 866bbc5eb0c501734b8df8a41a1308f16f649121 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Bidoul=20=28ACSONE=29?= Date: Sun, 20 Nov 2016 23:18:01 +0100 Subject: [PATCH 02/35] server_environment_ir_config_parameter: work around double ormcache issue --- .../models/ir_config_parameter.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) 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 c92153dee..819ef8f62 100644 --- a/server_environment_ir_config_parameter/models/ir_config_parameter.py +++ b/server_environment_ir_config_parameter/models/ir_config_parameter.py @@ -4,7 +4,6 @@ from openerp import api, models, _, SUPERUSER_ID from openerp.exceptions import UserError -from openerp.tools import ormcache from openerp.addons.server_environment import serv_config @@ -16,9 +15,9 @@ class IrConfigParameter(models.Model): _inherit = 'ir.config_parameter' - @ormcache('uid', 'key') - def _get_param(self, cr, uid, key): - value = super(IrConfigParameter, self)._get_param(cr, uid, key) + def get_param(self, cr, uid, key, default=False, context=None): + value = super(IrConfigParameter, self).get_param( + cr, uid, key, default=None, context=context) if serv_config.has_option(SECTION, key): cvalue = serv_config.get(SECTION, key) if cvalue != value: @@ -29,7 +28,9 @@ def _get_param(self, cr, uid, key): self.set_param( cr, SUPERUSER_ID, key, cvalue, context={CTX_NO_CHECK: True}) - return cvalue + value = cvalue + if value is None: + return default return value def _check_not_in_config(self, keys): From 888a6fb162ff0e688a67cf618fb8d83be6fe1a83 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Bidoul=20=28ACSONE=29?= Date: Sun, 20 Nov 2016 23:18:38 +0100 Subject: [PATCH 03/35] server_environment_ir_config_parameter: handle empty values better --- .../models/ir_config_parameter.py | 4 ++++ .../tests/test_server_environment_ircp.py | 6 ++++++ 2 files changed, 10 insertions(+) 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 819ef8f62..14bad0ca8 100644 --- a/server_environment_ir_config_parameter/models/ir_config_parameter.py +++ b/server_environment_ir_config_parameter/models/ir_config_parameter.py @@ -20,6 +20,10 @@ def get_param(self, cr, uid, key, default=False, context=None): cr, uid, key, default=None, context=context) if serv_config.has_option(SECTION, key): cvalue = serv_config.get(SECTION, key) + if not cvalue: + raise UserError(_("Key %s is empty in " + "server_environment_file") % + (key, )) if cvalue != value: # we write in db on first access; # should we have preloaded values in database at, diff --git a/server_environment_ir_config_parameter/tests/test_server_environment_ircp.py b/server_environment_ir_config_parameter/tests/test_server_environment_ircp.py index 9566bb126..07fae4469 100644 --- a/server_environment_ir_config_parameter/tests/test_server_environment_ircp.py +++ b/server_environment_ir_config_parameter/tests/test_server_environment_ircp.py @@ -49,3 +49,9 @@ def test_set_param_2(self): res.unlink() res = self.ICP.search([('key', '=', 'some.param')]) self.assertFalse(res) + + def test_empty(self): + """ Empty config values cause error """ + with self.assertRaises(UserError): + self.ICP.get_param('ircp_empty') + self.assertEqual(self.ICP.get_param('ircp_nonexistant'), False) From c45cd0ebb9cbe441c31a0d4517c74f24d675e5ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Bidoul=20=28ACSONE=29?= Date: Sun, 20 Nov 2016 23:23:14 +0100 Subject: [PATCH 04/35] server_environment_ir_config_param: silently replace values by config values This is much more robust that raising an error, and let modules load ir.config_parameter from xml data files, while still enforcing values from the config files. --- .../README.rst | 4 +- .../models/ir_config_parameter.py | 36 +++++--------- .../tests/test_server_environment_ircp.py | 48 ++++++++++++++----- 3 files changed, 51 insertions(+), 37 deletions(-) diff --git a/server_environment_ir_config_parameter/README.rst b/server_environment_ir_config_parameter/README.rst index 954a7a85c..07afc8b87 100644 --- a/server_environment_ir_config_parameter/README.rst +++ b/server_environment_ir_config_parameter/README.rst @@ -26,8 +26,8 @@ When first using a value, the system will read it from the configuration file and override any value that would be present in the database, so the configuration file has precedence. -The user cannot write, create, or delete System Parameters that are defined in the -configuration files. +When creating or modifying values that are in the configuration file, the +module replace changes, enforcing the configuration value. For example you can use this module in combination with web_environment_ribbon: 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 14bad0ca8..f00ba08ac 100644 --- a/server_environment_ir_config_parameter/models/ir_config_parameter.py +++ b/server_environment_ir_config_parameter/models/ir_config_parameter.py @@ -8,7 +8,6 @@ SECTION = 'ir.config_parameter' -CTX_NO_CHECK = 'icp_no_check' class IrConfigParameter(models.Model): @@ -29,36 +28,27 @@ def get_param(self, cr, uid, key, default=False, context=None): # should we have preloaded values in database at, # server startup, modules loading their parameters # from data files would break on unique key error. - self.set_param( - cr, SUPERUSER_ID, key, cvalue, - context={CTX_NO_CHECK: True}) + self.set_param(cr, SUPERUSER_ID, key, cvalue) value = cvalue if value is None: return default return value - def _check_not_in_config(self, keys): - if self.env.context.get(CTX_NO_CHECK): - return - if not serv_config.has_section(SECTION): - return - config_icp_keys = set(serv_config.options(SECTION)) & set(keys) - if config_icp_keys: - raise UserError(_("System Parameter(s) %s is/are defined " - "in server_environment_files.") % - (config_icp_keys, )) - @api.model def create(self, vals): - self._check_not_in_config([vals.get('key')]) + key = vals.get('key') + if serv_config.has_option(SECTION, key): + # enforce value from config file + vals = dict(vals, value=serv_config.get(SECTION, key)) return super(IrConfigParameter, self).create(vals) @api.multi def write(self, vals): - self._check_not_in_config(self.mapped('key')) - return super(IrConfigParameter, self).write(vals) - - @api.multi - def unlink(self): - self._check_not_in_config(self.mapped('key')) - return super(IrConfigParameter, self).unlink() + for rec in self: + key = vals.get('key') or rec.key + if serv_config.has_option(SECTION, key): + # enforce value from config file + newvals = dict(vals, value=serv_config.get(SECTION, key)) + else: + newvals = vals + super(IrConfigParameter, rec).write(newvals) diff --git a/server_environment_ir_config_parameter/tests/test_server_environment_ircp.py b/server_environment_ir_config_parameter/tests/test_server_environment_ircp.py index 07fae4469..8f6f768a5 100644 --- a/server_environment_ir_config_parameter/tests/test_server_environment_ircp.py +++ b/server_environment_ir_config_parameter/tests/test_server_environment_ircp.py @@ -2,11 +2,14 @@ # Copyright 2016 ACSONE SA/NV # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +from cStringIO import StringIO + from openerp.exceptions import UserError from openerp.tests import common +from openerp.tools import convert -class TestEnv(common.SavepointCase): +class TestEnv(common.TransactionCase): def setUp(self): super(TestEnv, self).setUp() @@ -27,19 +30,27 @@ def test_get_param(self): def test_set_param_1(self): """ We can't set parameters that are in config file """ - # create - with self.assertRaises(UserError): - self.ICP.set_param('ircp_from_config', 'new_value') - # read so it's created in db - self.ICP.get_param('ircp_from_config') - # write + # when creating, the value is overridden by config file + self.ICP.set_param('ircp_from_config', 'new_value') + value = self.ICP.get_param('ircp_from_config') + self.assertEqual(value, 'config_value') + # when writing, the value is overridden by config file + res = self.ICP.search([('key', '=', 'ircp_from_config')]) + self.assertEqual(len(res), 1) + res.write({'value': 'new_value'}) + value = self.ICP.get_param('ircp_from_config') + self.assertEqual(value, 'config_value') + # unlink works normally... + res = self.ICP.search([('key', '=', 'ircp_from_config')]) + self.assertEqual(len(res), 1) + res.unlink() + res = self.ICP.search([('key', '=', 'ircp_from_config')]) + self.assertEqual(len(res), 0) + # but the value is recreated when getting param again + value = self.ICP.get_param('ircp_from_config') + self.assertEqual(value, 'config_value') res = self.ICP.search([('key', '=', 'ircp_from_config')]) self.assertEqual(len(res), 1) - with self.assertRaises(UserError): - res.write({'ircp_from_config': 'new_value'}) - # unlink - with self.assertRaises(UserError): - res.unlink() def test_set_param_2(self): """ We can set parameters that are not in config file """ @@ -55,3 +66,16 @@ def test_empty(self): with self.assertRaises(UserError): self.ICP.get_param('ircp_empty') self.assertEqual(self.ICP.get_param('ircp_nonexistant'), False) + + def test_override_xmldata(self): + xml = """ + + + ircp_from_config + value_from_xml + + + """ + convert.convert_xml_import(self.env.cr, 'testmodule', StringIO(xml)) + value = self.ICP.get_param('ircp_from_config') + self.assertEqual(value, 'config_value') From 318da5e55e871df2378250059fbebebe8d42c648 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Bidoul=20=28ACSONE=29?= Date: Tue, 22 Nov 2016 09:45:04 +0100 Subject: [PATCH 05/35] server_environment_ir_config_parameter: update roadmap --- server_environment_ir_config_parameter/README.rst | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/server_environment_ir_config_parameter/README.rst b/server_environment_ir_config_parameter/README.rst index 07afc8b87..e457f88f0 100644 --- a/server_environment_ir_config_parameter/README.rst +++ b/server_environment_ir_config_parameter/README.rst @@ -43,7 +43,10 @@ For example you can use this module in combination with web_environment_ribbon: Known issues / Roadmap ====================== -N/A +* 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. Bug Tracker =========== From 47f9980e3e636dfbbd75df307cf1f0b64ce9b295 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Bidoul=20=28ACSONE=29?= Date: Fri, 9 Dec 2016 11:35:20 +0100 Subject: [PATCH 06/35] server_environment_ir_config_parameter: migrate to 10.0 --- server_environment_ir_config_parameter/README.rst | 2 +- .../{__openerp__.py => __manifest__.py} | 2 +- .../models/ir_config_parameter.py | 14 +++++++------- .../tests/test_server_environment_ircp.py | 6 +++--- 4 files changed, 12 insertions(+), 12 deletions(-) rename server_environment_ir_config_parameter/{__openerp__.py => __manifest__.py} (94%) diff --git a/server_environment_ir_config_parameter/README.rst b/server_environment_ir_config_parameter/README.rst index e457f88f0..5bfd6d611 100644 --- a/server_environment_ir_config_parameter/README.rst +++ b/server_environment_ir_config_parameter/README.rst @@ -38,7 +38,7 @@ For example you can use this module in combination with web_environment_ribbon: .. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas :alt: Try me on Runbot - :target: https://runbot.odoo-community.org/runbot/149/9.0 + :target: https://runbot.odoo-community.org/runbot/149/10.0 Known issues / Roadmap ====================== diff --git a/server_environment_ir_config_parameter/__openerp__.py b/server_environment_ir_config_parameter/__manifest__.py similarity index 94% rename from server_environment_ir_config_parameter/__openerp__.py rename to server_environment_ir_config_parameter/__manifest__.py index 616840f8a..20b357f34 100644 --- a/server_environment_ir_config_parameter/__openerp__.py +++ b/server_environment_ir_config_parameter/__manifest__.py @@ -6,7 +6,7 @@ 'name': 'Server Environment Ir Config Parameter', 'summary': """ Override System Parameters from server environment file""", - 'version': '9.0.1.0.0', + 'version': '10.0.1.0.0', 'license': 'AGPL-3', 'author': 'ACSONE SA/NV,Odoo Community Association (OCA)', 'website': 'https://odoo-community.org/', 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 f00ba08ac..61116360d 100644 --- a/server_environment_ir_config_parameter/models/ir_config_parameter.py +++ b/server_environment_ir_config_parameter/models/ir_config_parameter.py @@ -2,9 +2,9 @@ # Copyright 2016 ACSONE SA/NV # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -from openerp import api, models, _, SUPERUSER_ID -from openerp.exceptions import UserError -from openerp.addons.server_environment import serv_config +from odoo import api, models, _ +from odoo.exceptions import UserError +from odoo.addons.server_environment import serv_config SECTION = 'ir.config_parameter' @@ -14,9 +14,9 @@ class IrConfigParameter(models.Model): _inherit = 'ir.config_parameter' - def get_param(self, cr, uid, key, default=False, context=None): - value = super(IrConfigParameter, self).get_param( - cr, uid, key, default=None, context=context) + @api.model + def get_param(self, key, default=False): + value = super(IrConfigParameter, self).get_param(key, default=None) if serv_config.has_option(SECTION, key): cvalue = serv_config.get(SECTION, key) if not cvalue: @@ -28,7 +28,7 @@ def get_param(self, cr, uid, key, default=False, context=None): # should we have preloaded values in database at, # server startup, modules loading their parameters # from data files would break on unique key error. - self.set_param(cr, SUPERUSER_ID, key, cvalue) + self.set_param(key, cvalue) value = cvalue if value is None: return default diff --git a/server_environment_ir_config_parameter/tests/test_server_environment_ircp.py b/server_environment_ir_config_parameter/tests/test_server_environment_ircp.py index 8f6f768a5..bcffa9c5b 100644 --- a/server_environment_ir_config_parameter/tests/test_server_environment_ircp.py +++ b/server_environment_ir_config_parameter/tests/test_server_environment_ircp.py @@ -4,9 +4,9 @@ from cStringIO import StringIO -from openerp.exceptions import UserError -from openerp.tests import common -from openerp.tools import convert +from odoo.exceptions import UserError +from odoo.tests import common +from odoo.tools import convert class TestEnv(common.TransactionCase): From 4ae9504a67b45bec862e2688e7aaba4bf75554c9 Mon Sep 17 00:00:00 2001 From: Denis Roussel Date: Wed, 21 Jun 2017 17:34:29 +0200 Subject: [PATCH 07/35] server_environment_ir_config_parameter Avoid loading import Odoo loads modules that contain static directory, so it wanted to load server_environment_files but it does not exist --- .../i18n/de.po | 30 ++++++++++++++++++ .../i18n/es.po | 30 ++++++++++++++++++ .../i18n/nl_NL.po | 30 ++++++++++++++++++ .../static/description/icon.png | Bin 9455 -> 0 bytes 4 files changed, 90 insertions(+) create mode 100644 server_environment_ir_config_parameter/i18n/de.po create mode 100644 server_environment_ir_config_parameter/i18n/es.po create mode 100644 server_environment_ir_config_parameter/i18n/nl_NL.po delete mode 100644 server_environment_ir_config_parameter/static/description/icon.png diff --git a/server_environment_ir_config_parameter/i18n/de.po b/server_environment_ir_config_parameter/i18n/de.po new file mode 100644 index 000000000..8b27e6610 --- /dev/null +++ b/server_environment_ir_config_parameter/i18n/de.po @@ -0,0 +1,30 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * server_environment_ir_config_parameter +# +# Translators: +# Niki Waibel , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-06-22 01:12+0000\n" +"PO-Revision-Date: 2017-06-22 01:12+0000\n" +"Last-Translator: Niki Waibel , 2017\n" +"Language-Team: German (https://www.transifex.com/oca/teams/23907/de/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: de\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: server_environment_ir_config_parameter +#: code:addons/server_environment_ir_config_parameter/models/ir_config_parameter.py:23 +#, python-format +msgid "Key %s is empty in server_environment_file" +msgstr "" + +#. module: server_environment_ir_config_parameter +#: model:ir.model,name:server_environment_ir_config_parameter.model_ir_config_parameter +msgid "ir.config_parameter" +msgstr "ir.config_parameter" diff --git a/server_environment_ir_config_parameter/i18n/es.po b/server_environment_ir_config_parameter/i18n/es.po new file mode 100644 index 000000000..39388a122 --- /dev/null +++ b/server_environment_ir_config_parameter/i18n/es.po @@ -0,0 +1,30 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * server_environment_ir_config_parameter +# +# Translators: +# Pedro M. Baeza , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-06-22 01:12+0000\n" +"PO-Revision-Date: 2017-06-22 01:12+0000\n" +"Last-Translator: Pedro M. Baeza , 2017\n" +"Language-Team: Spanish (https://www.transifex.com/oca/teams/23907/es/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: es\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: server_environment_ir_config_parameter +#: code:addons/server_environment_ir_config_parameter/models/ir_config_parameter.py:23 +#, python-format +msgid "Key %s is empty in server_environment_file" +msgstr "" + +#. module: server_environment_ir_config_parameter +#: model:ir.model,name:server_environment_ir_config_parameter.model_ir_config_parameter +msgid "ir.config_parameter" +msgstr "ir.config_parameter" diff --git a/server_environment_ir_config_parameter/i18n/nl_NL.po b/server_environment_ir_config_parameter/i18n/nl_NL.po new file mode 100644 index 000000000..11fe9f352 --- /dev/null +++ b/server_environment_ir_config_parameter/i18n/nl_NL.po @@ -0,0 +1,30 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * server_environment_ir_config_parameter +# +# Translators: +# Peter Hageman , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-06-22 01:12+0000\n" +"PO-Revision-Date: 2017-06-22 01:12+0000\n" +"Last-Translator: Peter Hageman , 2017\n" +"Language-Team: Dutch (Netherlands) (https://www.transifex.com/oca/teams/23907/nl_NL/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: nl_NL\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: server_environment_ir_config_parameter +#: code:addons/server_environment_ir_config_parameter/models/ir_config_parameter.py:23 +#, python-format +msgid "Key %s is empty in server_environment_file" +msgstr "sleutel %s is leeg in server_environment_file" + +#. module: server_environment_ir_config_parameter +#: model:ir.model,name:server_environment_ir_config_parameter.model_ir_config_parameter +msgid "ir.config_parameter" +msgstr "ir.config_parameter" diff --git a/server_environment_ir_config_parameter/static/description/icon.png b/server_environment_ir_config_parameter/static/description/icon.png deleted file mode 100644 index 3a0328b516c4980e8e44cdb63fd945757ddd132d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9455 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 z 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 Xviia!U7SGha1wx#SCgwmn*{w2TRX*I From bb88f43f703bad1a452077f667e118a80d5a88d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Bidoul=20=28ACSONE=29?= Date: Sun, 13 Aug 2017 14:09:04 +0200 Subject: [PATCH 08/35] missing sudo in server_environment_ir_config_param Without this sudo get_param would fail when the first user reading a parameter that has changed in the configuration file does not have write access to system parameters. --- server_environment_ir_config_parameter/__manifest__.py | 2 +- .../models/ir_config_parameter.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/server_environment_ir_config_parameter/__manifest__.py b/server_environment_ir_config_parameter/__manifest__.py index 20b357f34..a48e34a0b 100644 --- a/server_environment_ir_config_parameter/__manifest__.py +++ b/server_environment_ir_config_parameter/__manifest__.py @@ -6,7 +6,7 @@ 'name': 'Server Environment Ir Config Parameter', 'summary': """ Override System Parameters from server environment file""", - 'version': '10.0.1.0.0', + 'version': '10.0.1.0.1', 'license': 'AGPL-3', 'author': 'ACSONE SA/NV,Odoo Community Association (OCA)', 'website': 'https://odoo-community.org/', 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 61116360d..ea52aec8e 100644 --- a/server_environment_ir_config_parameter/models/ir_config_parameter.py +++ b/server_environment_ir_config_parameter/models/ir_config_parameter.py @@ -28,7 +28,7 @@ def get_param(self, key, default=False): # should we have preloaded values in database at, # server startup, modules loading their parameters # from data files would break on unique key error. - self.set_param(key, cvalue) + self.sudo().set_param(key, cvalue) value = cvalue if value is None: return default From 8ebe5f4f62e129bb122601ed19c335ae641b7531 Mon Sep 17 00:00:00 2001 From: "Adrien Peiffer (ACSONE)" Date: Fri, 24 Nov 2017 11:09:19 +0100 Subject: [PATCH 09/35] server_environment_ir_config_parameter: missing return. --- .../i18n/de.po | 4 +-- .../i18n/es.po | 4 +-- .../i18n/it.po | 30 ++++++++++++++++++ .../i18n/nl_NL.po | 7 +++-- .../i18n/ro.po | 31 +++++++++++++++++++ ...server_environment_ir_config_parameter.pot | 26 ++++++++++++++++ .../models/ir_config_parameter.py | 1 + 7 files changed, 96 insertions(+), 7 deletions(-) create mode 100644 server_environment_ir_config_parameter/i18n/it.po create mode 100644 server_environment_ir_config_parameter/i18n/ro.po create mode 100644 server_environment_ir_config_parameter/i18n/server_environment_ir_config_parameter.pot diff --git a/server_environment_ir_config_parameter/i18n/de.po b/server_environment_ir_config_parameter/i18n/de.po index 8b27e6610..f46b8a6df 100644 --- a/server_environment_ir_config_parameter/i18n/de.po +++ b/server_environment_ir_config_parameter/i18n/de.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * server_environment_ir_config_parameter -# +# # Translators: # Niki Waibel , 2017 msgid "" @@ -12,10 +12,10 @@ msgstr "" "PO-Revision-Date: 2017-06-22 01:12+0000\n" "Last-Translator: Niki Waibel , 2017\n" "Language-Team: German (https://www.transifex.com/oca/teams/23907/de/)\n" +"Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: de\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: server_environment_ir_config_parameter diff --git a/server_environment_ir_config_parameter/i18n/es.po b/server_environment_ir_config_parameter/i18n/es.po index 39388a122..fc51cf7bb 100644 --- a/server_environment_ir_config_parameter/i18n/es.po +++ b/server_environment_ir_config_parameter/i18n/es.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * server_environment_ir_config_parameter -# +# # Translators: # Pedro M. Baeza , 2017 msgid "" @@ -12,10 +12,10 @@ msgstr "" "PO-Revision-Date: 2017-06-22 01:12+0000\n" "Last-Translator: Pedro M. Baeza , 2017\n" "Language-Team: Spanish (https://www.transifex.com/oca/teams/23907/es/)\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: server_environment_ir_config_parameter diff --git a/server_environment_ir_config_parameter/i18n/it.po b/server_environment_ir_config_parameter/i18n/it.po new file mode 100644 index 000000000..c6294e422 --- /dev/null +++ b/server_environment_ir_config_parameter/i18n/it.po @@ -0,0 +1,30 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * server_environment_ir_config_parameter +# +# Translators: +# Paolo Valier , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-06 02:25+0000\n" +"PO-Revision-Date: 2018-01-06 02:25+0000\n" +"Last-Translator: Paolo Valier , 2018\n" +"Language-Team: Italian (https://www.transifex.com/oca/teams/23907/it/)\n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: server_environment_ir_config_parameter +#: code:addons/server_environment_ir_config_parameter/models/ir_config_parameter.py:23 +#, python-format +msgid "Key %s is empty in server_environment_file" +msgstr "" + +#. module: server_environment_ir_config_parameter +#: model:ir.model,name:server_environment_ir_config_parameter.model_ir_config_parameter +msgid "ir.config_parameter" +msgstr "ir.config_parameter" diff --git a/server_environment_ir_config_parameter/i18n/nl_NL.po b/server_environment_ir_config_parameter/i18n/nl_NL.po index 11fe9f352..a104e5d79 100644 --- a/server_environment_ir_config_parameter/i18n/nl_NL.po +++ b/server_environment_ir_config_parameter/i18n/nl_NL.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * server_environment_ir_config_parameter -# +# # Translators: # Peter Hageman , 2017 msgid "" @@ -11,11 +11,12 @@ msgstr "" "POT-Creation-Date: 2017-06-22 01:12+0000\n" "PO-Revision-Date: 2017-06-22 01:12+0000\n" "Last-Translator: Peter Hageman , 2017\n" -"Language-Team: Dutch (Netherlands) (https://www.transifex.com/oca/teams/23907/nl_NL/)\n" +"Language-Team: Dutch (Netherlands) (https://www.transifex.com/oca/" +"teams/23907/nl_NL/)\n" +"Language: nl_NL\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: nl_NL\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: server_environment_ir_config_parameter diff --git a/server_environment_ir_config_parameter/i18n/ro.po b/server_environment_ir_config_parameter/i18n/ro.po new file mode 100644 index 000000000..9d1d18135 --- /dev/null +++ b/server_environment_ir_config_parameter/i18n/ro.po @@ -0,0 +1,31 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * server_environment_ir_config_parameter +# +# Translators: +# Dorin Hongu , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-12-16 02:17+0000\n" +"PO-Revision-Date: 2017-12-16 02:17+0000\n" +"Last-Translator: Dorin Hongu , 2017\n" +"Language-Team: Romanian (https://www.transifex.com/oca/teams/23907/ro/)\n" +"Language: ro\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" +"2:1));\n" + +#. module: server_environment_ir_config_parameter +#: code:addons/server_environment_ir_config_parameter/models/ir_config_parameter.py:23 +#, python-format +msgid "Key %s is empty in server_environment_file" +msgstr "" + +#. module: server_environment_ir_config_parameter +#: model:ir.model,name:server_environment_ir_config_parameter.model_ir_config_parameter +msgid "ir.config_parameter" +msgstr "ir.config_parameter" diff --git a/server_environment_ir_config_parameter/i18n/server_environment_ir_config_parameter.pot b/server_environment_ir_config_parameter/i18n/server_environment_ir_config_parameter.pot new file mode 100644 index 000000000..3e08d8b2a --- /dev/null +++ b/server_environment_ir_config_parameter/i18n/server_environment_ir_config_parameter.pot @@ -0,0 +1,26 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * server_environment_ir_config_parameter +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: <>\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: server_environment_ir_config_parameter +#: code:addons/server_environment_ir_config_parameter/models/ir_config_parameter.py:23 +#, python-format +msgid "Key %s is empty in server_environment_file" +msgstr "" + +#. module: server_environment_ir_config_parameter +#: model:ir.model,name:server_environment_ir_config_parameter.model_ir_config_parameter +msgid "ir.config_parameter" +msgstr "" + 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 ea52aec8e..4017fdd4d 100644 --- a/server_environment_ir_config_parameter/models/ir_config_parameter.py +++ b/server_environment_ir_config_parameter/models/ir_config_parameter.py @@ -52,3 +52,4 @@ def write(self, vals): else: newvals = vals super(IrConfigParameter, rec).write(newvals) + return True From b01248727683144f661e6617bb41bf1d3733db95 Mon Sep 17 00:00:00 2001 From: Gilles Meyomesse Date: Tue, 2 Oct 2018 12:11:30 +0200 Subject: [PATCH 10/35] [MIG] server_environment_ir_config_parameter from 11 to 12 --- .../README.rst | 90 ++-- .../__manifest__.py | 3 +- .../models/ir_config_parameter.py | 1 - .../readme/CONFIGURE.rst | 17 + .../readme/CONTRIBUTORS.rst | 2 + .../readme/CREDITS.rst | 2 + .../readme/DESCRIPTION.rst | 1 + .../readme/ROADMAP.rst | 4 + .../readme/USAGE.rst | 2 + .../static/description/index.html | 457 ++++++++++++++++++ .../tests/test_server_environment_ircp.py | 1 - 11 files changed, 546 insertions(+), 34 deletions(-) create mode 100644 server_environment_ir_config_parameter/readme/CONFIGURE.rst create mode 100644 server_environment_ir_config_parameter/readme/CONTRIBUTORS.rst create mode 100644 server_environment_ir_config_parameter/readme/CREDITS.rst create mode 100644 server_environment_ir_config_parameter/readme/DESCRIPTION.rst create mode 100644 server_environment_ir_config_parameter/readme/ROADMAP.rst create mode 100644 server_environment_ir_config_parameter/readme/USAGE.rst create mode 100644 server_environment_ir_config_parameter/static/description/index.html diff --git a/server_environment_ir_config_parameter/README.rst b/server_environment_ir_config_parameter/README.rst index 5bfd6d611..ebea787d6 100644 --- a/server_environment_ir_config_parameter/README.rst +++ b/server_environment_ir_config_parameter/README.rst @@ -1,19 +1,36 @@ -.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg - :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html - :alt: License: AGPL-3 - ====================================== Server Environment Ir Config Parameter ====================================== +.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fserver--tools-lightgray.png?logo=github + :target: https://github.com/OCA/server-tools/tree/12.0/server_environment_ir_config_parameter + :alt: OCA/server-tools +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/server-tools-12-0/server-tools-12-0-server_environment_ir_config_parameter + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png + :target: https://runbot.odoo-community.org/runbot/149/12.0 + :alt: Try me on Runbot + +|badge1| |badge2| |badge3| |badge4| |badge5| + Override System Parameters from server environment file. -Before using this module, you must be familiar with the -server_environment module. -Installation -============ +**Table of contents** -There is no specific installation instruction for this module. +.. contents:: + :local: Configuration ============= @@ -36,50 +53,63 @@ For example you can use this module in combination with web_environment_ribbon: [ir.config_parameter] ribbon.name=DEV -.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas - :alt: Try me on Runbot - :target: https://runbot.odoo-community.org/runbot/149/10.0 +Usage +===== + +Before using this module, you must be familiar with the +server_environment module. Known issues / Roadmap ====================== -* 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. +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. Bug Tracker =========== -Bugs are tracked on `GitHub Issues -`_. In case of trouble, please -check there if your issue has already been reported. If you spotted it first, -help us smashing it by providing a detailed and welcomed feedback. +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us smashing it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. Credits ======= -Images ------- +Authors +~~~~~~~ -* Odoo Community Association: `Icon `_. +* ACSONE SA/NV Contributors ------------- +~~~~~~~~~~~~ -* Stéphane Bidoul +* Stéphane Bidoul (https://acsone.eu) +* Gilles Meyomesse (https://acsone.eu) -Maintainer ----------- +Other credits +~~~~~~~~~~~~~ + +This module is maintained by: +* Odoo Community Association + +Maintainers +~~~~~~~~~~~ + +This module is maintained by the OCA. .. image:: https://odoo-community.org/logo.png :alt: Odoo Community Association :target: https://odoo-community.org -This module is maintained by the OCA. - OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use. -To contribute to this module, please visit https://odoo-community.org. +This module is part of the `OCA/server-tools `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/server_environment_ir_config_parameter/__manifest__.py b/server_environment_ir_config_parameter/__manifest__.py index a48e34a0b..65c790e91 100644 --- a/server_environment_ir_config_parameter/__manifest__.py +++ b/server_environment_ir_config_parameter/__manifest__.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Copyright 2016 ACSONE SA/NV # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). @@ -6,7 +5,7 @@ 'name': 'Server Environment Ir Config Parameter', 'summary': """ Override System Parameters from server environment file""", - 'version': '10.0.1.0.1', + 'version': '12.0.1.0.0', 'license': 'AGPL-3', 'author': 'ACSONE SA/NV,Odoo Community Association (OCA)', 'website': 'https://odoo-community.org/', 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 4017fdd4d..c0f18e285 100644 --- a/server_environment_ir_config_parameter/models/ir_config_parameter.py +++ b/server_environment_ir_config_parameter/models/ir_config_parameter.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Copyright 2016 ACSONE SA/NV # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). diff --git a/server_environment_ir_config_parameter/readme/CONFIGURE.rst b/server_environment_ir_config_parameter/readme/CONFIGURE.rst new file mode 100644 index 000000000..ce786cbc0 --- /dev/null +++ b/server_environment_ir_config_parameter/readme/CONFIGURE.rst @@ -0,0 +1,17 @@ +To configure this module, you need to add a section ``[ir.config_parameter]`` to +you server_environment_files configurations, where the keys are the same +as would normally be set in the Systems Parameter Odoo menu. + +When first using a value, the system will read it from the configuration file +and override any value that would be present in the database, so the configuration +file has precedence. + +When creating or modifying values that are in the configuration file, the +module replace changes, enforcing the configuration value. + +For example you can use this module in combination with web_environment_ribbon: + +.. code:: + + [ir.config_parameter] + ribbon.name=DEV \ No newline at end of file diff --git a/server_environment_ir_config_parameter/readme/CONTRIBUTORS.rst b/server_environment_ir_config_parameter/readme/CONTRIBUTORS.rst new file mode 100644 index 000000000..0ac312858 --- /dev/null +++ b/server_environment_ir_config_parameter/readme/CONTRIBUTORS.rst @@ -0,0 +1,2 @@ +* Stéphane Bidoul (https://acsone.eu) +* Gilles Meyomesse (https://acsone.eu) \ No newline at end of file diff --git a/server_environment_ir_config_parameter/readme/CREDITS.rst b/server_environment_ir_config_parameter/readme/CREDITS.rst new file mode 100644 index 000000000..e8134ce93 --- /dev/null +++ b/server_environment_ir_config_parameter/readme/CREDITS.rst @@ -0,0 +1,2 @@ +This module is maintained by: +* Odoo Community Association \ No newline at end of file diff --git a/server_environment_ir_config_parameter/readme/DESCRIPTION.rst b/server_environment_ir_config_parameter/readme/DESCRIPTION.rst new file mode 100644 index 000000000..141459e45 --- /dev/null +++ b/server_environment_ir_config_parameter/readme/DESCRIPTION.rst @@ -0,0 +1 @@ +Override System Parameters from server environment file. \ No newline at end of file diff --git a/server_environment_ir_config_parameter/readme/ROADMAP.rst b/server_environment_ir_config_parameter/readme/ROADMAP.rst new file mode 100644 index 000000000..42a26d822 --- /dev/null +++ b/server_environment_ir_config_parameter/readme/ROADMAP.rst @@ -0,0 +1,4 @@ +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/readme/USAGE.rst b/server_environment_ir_config_parameter/readme/USAGE.rst new file mode 100644 index 000000000..300775c17 --- /dev/null +++ b/server_environment_ir_config_parameter/readme/USAGE.rst @@ -0,0 +1,2 @@ +Before using this module, you must be familiar with the +server_environment module. \ No newline at end of file diff --git a/server_environment_ir_config_parameter/static/description/index.html b/server_environment_ir_config_parameter/static/description/index.html new file mode 100644 index 000000000..8842fdd59 --- /dev/null +++ b/server_environment_ir_config_parameter/static/description/index.html @@ -0,0 +1,457 @@ + + + + + + +Server Environment Ir Config Parameter + + + +
+

Server Environment Ir Config Parameter

+ + +

Beta License: AGPL-3 OCA/server-tools Translate me on Weblate Try me on Runbot

+

Override System Parameters from server environment file.

+

Table of contents

+ +
+

Configuration

+

To configure this module, you need to add a section [ir.config_parameter] to +you server_environment_files configurations, where the keys are the same +as would normally be set in the Systems Parameter Odoo menu.

+

When first using a value, the system will read it from the configuration file +and override any value that would be present in the database, so the configuration +file has precedence.

+

When creating or modifying values that are in the configuration file, the +module replace changes, enforcing the configuration value.

+

For example you can use this module in combination with web_environment_ribbon:

+
+[ir.config_parameter]
+ribbon.name=DEV
+
+
+
+

Usage

+

Before using this module, you must be familiar with the +server_environment module.

+
+
+

Known issues / Roadmap

+

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.

+
+
+

Bug Tracker

+

Bugs are tracked on GitHub Issues. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us smashing it by providing a detailed and welcomed +feedback.

+

Do not contact contributors directly about support or help with technical issues.

+
+
+

Credits

+
+

Authors

+
    +
  • ACSONE SA/NV
  • +
+
+ +
+

Other credits

+

This module is maintained by: +* Odoo Community Association

+
+
+

Maintainers

+

This module is maintained by the OCA.

+Odoo Community Association +

OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use.

+

This module is part of the OCA/server-tools project on GitHub.

+

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

+
+
+
+ + diff --git a/server_environment_ir_config_parameter/tests/test_server_environment_ircp.py b/server_environment_ir_config_parameter/tests/test_server_environment_ircp.py index bcffa9c5b..31fd4d790 100644 --- a/server_environment_ir_config_parameter/tests/test_server_environment_ircp.py +++ b/server_environment_ir_config_parameter/tests/test_server_environment_ircp.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Copyright 2016 ACSONE SA/NV # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). From 5b0eb5176fc4fe250ab33746601e4e9c3d3f8da2 Mon Sep 17 00:00:00 2001 From: Thierry Ducrest Date: Thu, 15 Nov 2018 15:39:30 +0100 Subject: [PATCH 11/35] [MIG] fix tests Manual forward port of 11.0 migration commit by Thierry Ducrest. --- .../README.rst | 17 ++++++----- .../__manifest__.py | 6 ++-- .../i18n/de.po | 9 ++++-- .../i18n/es.po | 9 ++++-- .../i18n/it.po | 9 ++++-- .../i18n/nl_NL.po | 9 ++++-- .../i18n/ro.po | 9 ++++-- ...server_environment_ir_config_parameter.pot | 6 ++-- .../models/ir_config_parameter.py | 8 ++--- .../readme/CONTRIBUTORS.rst | 3 +- .../static/description/icon.png | Bin 0 -> 9455 bytes .../static/description/index.html | 11 +++---- .../tests/config_param_test.xml | 6 ++++ .../tests/test_server_environment_ircp.py | 28 +++++++++--------- 14 files changed, 77 insertions(+), 53 deletions(-) create mode 100644 server_environment_ir_config_parameter/static/description/icon.png create mode 100644 server_environment_ir_config_parameter/tests/config_param_test.xml diff --git a/server_environment_ir_config_parameter/README.rst b/server_environment_ir_config_parameter/README.rst index ebea787d6..2e7f0ff2d 100644 --- a/server_environment_ir_config_parameter/README.rst +++ b/server_environment_ir_config_parameter/README.rst @@ -13,14 +13,14 @@ Server Environment Ir Config Parameter .. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 -.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fserver--tools-lightgray.png?logo=github - :target: https://github.com/OCA/server-tools/tree/12.0/server_environment_ir_config_parameter - :alt: OCA/server-tools +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fserver--env-lightgray.png?logo=github + :target: https://github.com/OCA/server-env/tree/12.0/server_environment_ir_config_parameter + :alt: OCA/server-env .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/server-tools-12-0/server-tools-12-0-server_environment_ir_config_parameter + :target: https://translation.odoo-community.org/projects/server-env-12-0/server-env-12-0-server_environment_ir_config_parameter :alt: Translate me on Weblate .. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png - :target: https://runbot.odoo-community.org/runbot/149/12.0 + :target: https://runbot.odoo-community.org/runbot/254/12.0 :alt: Try me on Runbot |badge1| |badge2| |badge3| |badge4| |badge5| @@ -70,10 +70,10 @@ readonly in the user interface. Bug Tracker =========== -Bugs are tracked on `GitHub Issues `_. +Bugs are tracked on `GitHub Issues `_. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us smashing it by providing a detailed and welcomed -`feedback `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -89,6 +89,7 @@ Contributors ~~~~~~~~~~~~ * Stéphane Bidoul (https://acsone.eu) +* Thierry Ducrest * Gilles Meyomesse (https://acsone.eu) Other credits @@ -110,6 +111,6 @@ OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use. -This module is part of the `OCA/server-tools `_ project on GitHub. +This module is part of the `OCA/server-env `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/server_environment_ir_config_parameter/__manifest__.py b/server_environment_ir_config_parameter/__manifest__.py index 65c790e91..a0dd28ad5 100644 --- a/server_environment_ir_config_parameter/__manifest__.py +++ b/server_environment_ir_config_parameter/__manifest__.py @@ -1,4 +1,4 @@ -# Copyright 2016 ACSONE SA/NV +# Copyright 2016-2018 ACSONE SA/NV # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). { @@ -7,8 +7,8 @@ Override System Parameters from server environment file""", 'version': '12.0.1.0.0', 'license': 'AGPL-3', - 'author': 'ACSONE SA/NV,Odoo Community Association (OCA)', - 'website': 'https://odoo-community.org/', + 'author': 'ACSONE SA/NV, Odoo Community Association (OCA)', + 'website': 'https://github.com/OCA/server-env/', 'depends': [ 'server_environment', ], diff --git a/server_environment_ir_config_parameter/i18n/de.po b/server_environment_ir_config_parameter/i18n/de.po index f46b8a6df..5625ccc78 100644 --- a/server_environment_ir_config_parameter/i18n/de.po +++ b/server_environment_ir_config_parameter/i18n/de.po @@ -19,12 +19,15 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: server_environment_ir_config_parameter -#: code:addons/server_environment_ir_config_parameter/models/ir_config_parameter.py:23 +#: code:addons/server_environment_ir_config_parameter/models/ir_config_parameter.py:22 #, python-format msgid "Key %s is empty in server_environment_file" msgstr "" #. module: server_environment_ir_config_parameter #: model:ir.model,name:server_environment_ir_config_parameter.model_ir_config_parameter -msgid "ir.config_parameter" -msgstr "ir.config_parameter" +msgid "System Parameter" +msgstr "" + +#~ msgid "ir.config_parameter" +#~ msgstr "ir.config_parameter" diff --git a/server_environment_ir_config_parameter/i18n/es.po b/server_environment_ir_config_parameter/i18n/es.po index fc51cf7bb..7f53f153d 100644 --- a/server_environment_ir_config_parameter/i18n/es.po +++ b/server_environment_ir_config_parameter/i18n/es.po @@ -19,12 +19,15 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: server_environment_ir_config_parameter -#: code:addons/server_environment_ir_config_parameter/models/ir_config_parameter.py:23 +#: code:addons/server_environment_ir_config_parameter/models/ir_config_parameter.py:22 #, python-format msgid "Key %s is empty in server_environment_file" msgstr "" #. module: server_environment_ir_config_parameter #: model:ir.model,name:server_environment_ir_config_parameter.model_ir_config_parameter -msgid "ir.config_parameter" -msgstr "ir.config_parameter" +msgid "System Parameter" +msgstr "" + +#~ msgid "ir.config_parameter" +#~ msgstr "ir.config_parameter" diff --git a/server_environment_ir_config_parameter/i18n/it.po b/server_environment_ir_config_parameter/i18n/it.po index c6294e422..51b0a6f1d 100644 --- a/server_environment_ir_config_parameter/i18n/it.po +++ b/server_environment_ir_config_parameter/i18n/it.po @@ -19,12 +19,15 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: server_environment_ir_config_parameter -#: code:addons/server_environment_ir_config_parameter/models/ir_config_parameter.py:23 +#: code:addons/server_environment_ir_config_parameter/models/ir_config_parameter.py:22 #, python-format msgid "Key %s is empty in server_environment_file" msgstr "" #. module: server_environment_ir_config_parameter #: model:ir.model,name:server_environment_ir_config_parameter.model_ir_config_parameter -msgid "ir.config_parameter" -msgstr "ir.config_parameter" +msgid "System Parameter" +msgstr "" + +#~ msgid "ir.config_parameter" +#~ msgstr "ir.config_parameter" diff --git a/server_environment_ir_config_parameter/i18n/nl_NL.po b/server_environment_ir_config_parameter/i18n/nl_NL.po index a104e5d79..8e68688f3 100644 --- a/server_environment_ir_config_parameter/i18n/nl_NL.po +++ b/server_environment_ir_config_parameter/i18n/nl_NL.po @@ -20,12 +20,15 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: server_environment_ir_config_parameter -#: code:addons/server_environment_ir_config_parameter/models/ir_config_parameter.py:23 +#: code:addons/server_environment_ir_config_parameter/models/ir_config_parameter.py:22 #, python-format msgid "Key %s is empty in server_environment_file" msgstr "sleutel %s is leeg in server_environment_file" #. module: server_environment_ir_config_parameter #: model:ir.model,name:server_environment_ir_config_parameter.model_ir_config_parameter -msgid "ir.config_parameter" -msgstr "ir.config_parameter" +msgid "System Parameter" +msgstr "" + +#~ msgid "ir.config_parameter" +#~ msgstr "ir.config_parameter" diff --git a/server_environment_ir_config_parameter/i18n/ro.po b/server_environment_ir_config_parameter/i18n/ro.po index 9d1d18135..238168909 100644 --- a/server_environment_ir_config_parameter/i18n/ro.po +++ b/server_environment_ir_config_parameter/i18n/ro.po @@ -20,12 +20,15 @@ msgstr "" "2:1));\n" #. module: server_environment_ir_config_parameter -#: code:addons/server_environment_ir_config_parameter/models/ir_config_parameter.py:23 +#: code:addons/server_environment_ir_config_parameter/models/ir_config_parameter.py:22 #, python-format msgid "Key %s is empty in server_environment_file" msgstr "" #. module: server_environment_ir_config_parameter #: model:ir.model,name:server_environment_ir_config_parameter.model_ir_config_parameter -msgid "ir.config_parameter" -msgstr "ir.config_parameter" +msgid "System Parameter" +msgstr "" + +#~ msgid "ir.config_parameter" +#~ msgstr "ir.config_parameter" diff --git a/server_environment_ir_config_parameter/i18n/server_environment_ir_config_parameter.pot b/server_environment_ir_config_parameter/i18n/server_environment_ir_config_parameter.pot index 3e08d8b2a..a17f0d010 100644 --- a/server_environment_ir_config_parameter/i18n/server_environment_ir_config_parameter.pot +++ b/server_environment_ir_config_parameter/i18n/server_environment_ir_config_parameter.pot @@ -4,7 +4,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 10.0\n" +"Project-Id-Version: Odoo Server 12.0\n" "Report-Msgid-Bugs-To: \n" "Last-Translator: <>\n" "Language-Team: \n" @@ -14,13 +14,13 @@ msgstr "" "Plural-Forms: \n" #. module: server_environment_ir_config_parameter -#: code:addons/server_environment_ir_config_parameter/models/ir_config_parameter.py:23 +#: code:addons/server_environment_ir_config_parameter/models/ir_config_parameter.py:22 #, python-format msgid "Key %s is empty in server_environment_file" msgstr "" #. module: server_environment_ir_config_parameter #: model:ir.model,name:server_environment_ir_config_parameter.model_ir_config_parameter -msgid "ir.config_parameter" +msgid "System Parameter" msgstr "" 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 c0f18e285..29ddc44e3 100644 --- a/server_environment_ir_config_parameter/models/ir_config_parameter.py +++ b/server_environment_ir_config_parameter/models/ir_config_parameter.py @@ -1,4 +1,4 @@ -# Copyright 2016 ACSONE SA/NV +# Copyright 2016-2018 ACSONE SA/NV # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). from odoo import api, models, _ @@ -15,7 +15,7 @@ class IrConfigParameter(models.Model): @api.model def get_param(self, key, default=False): - value = super(IrConfigParameter, self).get_param(key, default=None) + value = super().get_param(key, default=None) if serv_config.has_option(SECTION, key): cvalue = serv_config.get(SECTION, key) if not cvalue: @@ -39,7 +39,7 @@ def create(self, vals): if serv_config.has_option(SECTION, key): # enforce value from config file vals = dict(vals, value=serv_config.get(SECTION, key)) - return super(IrConfigParameter, self).create(vals) + return super().create(vals) @api.multi def write(self, vals): @@ -50,5 +50,5 @@ def write(self, vals): newvals = dict(vals, value=serv_config.get(SECTION, key)) else: newvals = vals - super(IrConfigParameter, rec).write(newvals) + super().write(newvals) return True diff --git a/server_environment_ir_config_parameter/readme/CONTRIBUTORS.rst b/server_environment_ir_config_parameter/readme/CONTRIBUTORS.rst index 0ac312858..c3ae88deb 100644 --- a/server_environment_ir_config_parameter/readme/CONTRIBUTORS.rst +++ b/server_environment_ir_config_parameter/readme/CONTRIBUTORS.rst @@ -1,2 +1,3 @@ * Stéphane Bidoul (https://acsone.eu) -* Gilles Meyomesse (https://acsone.eu) \ No newline at end of file +* Thierry Ducrest +* Gilles Meyomesse (https://acsone.eu) diff --git a/server_environment_ir_config_parameter/static/description/icon.png b/server_environment_ir_config_parameter/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d GIT binary patch literal 9455 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 z z?n?eq1XP>p-IM$Z^C;2L3itnbJZAip*Zo0aw2bs8@(s^~*8T9go!%dHcAz2lM;`yp zD=7&xjFV$S&5uDaiScyD?B-i1ze`+CoRtz`Wn+Zl&#s4&}MO{@N!ufrzjG$B79)Y2d3tBk&)TxUTw@QS0TEL_?njX|@vq?Uz(nBFK5Pq7*xj#u*R&i|?7+6# z+|r_n#SW&LXhtheZdah{ZVoqwyT{D>MC3nkFF#N)xLi{p7J1jXlmVeb;cP5?e(=f# zuT7fvjSbjS781v?7{)-X3*?>tq?)Yd)~|1{BDS(pqC zC}~H#WXlkUW*H5CDOo<)#x7%RY)A;ShGhI5s*#cRDA8YgqG(HeKDx+#(ZQ?386dv! zlXCO)w91~Vw4AmOcATuV653fa9R$fyK8ul%rG z-wfS zihugoZyr38Im?Zuh6@RcF~t1anQu7>#lPpb#}4cOA!EM11`%f*07RqOVkmX{p~KJ9 z^zP;K#|)$`^Rb{rnHGH{~>1(fawV0*Z#)}M`m8-?ZJV<+e}s9wE# z)l&az?w^5{)`S(%MRzxdNqrs1n*-=jS^_jqE*5XDrA0+VE`5^*p3CuM<&dZEeCjoz zR;uu_H9ZPZV|fQq`Cyw4nscrVwi!fE6ciMmX$!_hN7uF;jjKG)d2@aC4ropY)8etW=xJvni)8eHi`H$%#zn^WJ5NLc-rqk|u&&4Z6fD_m&JfSI1Bvb?b<*n&sfl0^t z=HnmRl`XrFvMKB%9}>PaA`m-fK6a0(8=qPkWS5bb4=v?XcWi&hRY?O5HdulRi4?fN zlsJ*N-0Qw+Yic@s0(2uy%F@ib;GjXt01Fmx5XbRo6+n|pP(&nodMoap^z{~q ziEeaUT@Mxe3vJSfI6?uLND(CNr=#^W<1b}jzW58bIfyWTDle$mmS(|x-0|2UlX+9k zQ^EX7Nw}?EzVoBfT(-LT|=9N@^hcn-_p&sqG z&*oVs2JSU+N4ZD`FhCAWaS;>|wH2G*Id|?pa#@>tyxX`+4HyIArWDvVrX)2WAOQff z0qyHu&-S@i^MS-+j--!pr4fPBj~_8({~e1bfcl0wI1kaoN>mJL6KUPQm5N7lB(ui1 zE-o%kq)&djzWJ}ob<-GfDlkB;F31j-VHKvQUGQ3sp`CwyGJk_i!y^sD0fqC@$9|jO zOqN!r!8-p==F@ZVP=U$qSpY(gQ0)59P1&t@y?5rvg<}E+GB}26NYPp4f2YFQrQtot5mn3wu_qprZ=>Ig-$ zbW26Ws~IgY>}^5w`vTB(G`PTZaDiGBo5o(tp)qli|NeV( z@H_=R8V39rt5J5YB2Ky?4eJJ#b`_iBe2ot~6%7mLt5t8Vwi^Jy7|jWXqa3amOIoRb zOr}WVFP--DsS`1WpN%~)t3R!arKF^Q$e12KEqU36AWwnCBICpH4XCsfnyrHr>$I$4 z!DpKX$OKLWarN7nv@!uIA+~RNO)l$$w}p(;b>mx8pwYvu;dD_unryX_NhT8*Tj>BTrTTL&!?O+%Rv;b?B??gSzdp?6Uug9{ zd@V08Z$BdI?fpoCS$)t4mg4rT8Q_I}h`0d-vYZ^|dOB*Q^S|xqTV*vIg?@fVFSmMpaw0qtTRbx} z({Pg?#{2`sc9)M5N$*N|4;^t$+QP?#mov zGVC@I*lBVrOU-%2y!7%)fAKjpEFsgQc4{amtiHb95KQEwvf<(3T<9-Zm$xIew#P22 zc2Ix|App^>v6(3L_MCU0d3W##AB0M~3D00EWoKZqsJYT(#@w$Y_H7G22M~ApVFTRHMI_3be)Lkn#0F*V8Pq zc}`Cjy$bE;FJ6H7p=0y#R>`}-m4(0F>%@P|?7fx{=R^uFdISRnZ2W_xQhD{YuR3t< z{6yxu=4~JkeA;|(J6_nv#>Nvs&FuLA&PW^he@t(UwFFE8)|a!R{`E`K`i^ZnyE4$k z;(749Ix|oi$c3QbEJ3b~D_kQsPz~fIUKym($a_7dJ?o+40*OLl^{=&oq$<#Q(yyrp z{J-FAniyAw9tPbe&IhQ|a`DqFTVQGQ&Gq3!C2==4x{6EJwiPZ8zub-iXoUtkJiG{} zPaR&}_fn8_z~(=;5lD-aPWD3z8PZS@AaUiomF!G8I}Mf>e~0g#BelA-5#`cj;O5>N Xviia!U7SGha1wx#SCgwmn*{w2TRX*I literal 0 HcmV?d00001 diff --git a/server_environment_ir_config_parameter/static/description/index.html b/server_environment_ir_config_parameter/static/description/index.html index 8842fdd59..75e68cecc 100644 --- a/server_environment_ir_config_parameter/static/description/index.html +++ b/server_environment_ir_config_parameter/static/description/index.html @@ -3,7 +3,7 @@ - + Server Environment Ir Config Parameter -
-

Server Environment Ir Config Parameter

+
+ + +Odoo Community Association + +
+

Server Environment Ir Config Parameter

-

Beta License: AGPL-3 OCA/server-env Translate me on Weblate Try me on Runboat

+

Beta License: AGPL-3 OCA/server-env Translate me on Weblate Try me on Runboat

Override System Parameters from server environment file.

Table of contents

@@ -388,7 +393,7 @@

Server Environment Ir Config Parameter

-

Configuration

+

Configuration

To configure this module, you need to add a section [ir.config_parameter] to you server_environment_files configurations, where the keys are the same as would normally be set in @@ -406,35 +411,35 @@

Configuration

-

Usage

+

Usage

Before using this module, you must be familiar with the server_environment module.

-

Known issues / Roadmap

+

Known issues / Roadmap

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.

-

Bug Tracker

+

Bug Tracker

Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed -feedback.

+feedback.

Do not contact contributors directly about support or help with technical issues.

-

Credits

+

Credits

-

Authors

+

Authors

  • ACSONE SA/NV
-

Other credits

+

Other credits

The migration of this module from 17.0 to 18.0 was financially supported by Camptocamp.

-

Maintainers

+

Maintainers

This module is maintained by the OCA.

Odoo Community Association @@ -457,10 +462,11 @@

Maintainers

OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.

-

This module is part of the OCA/server-env project on GitHub.

+

This module is part of the OCA/server-env project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

+
From c586c2304f74bda77d08c998dc37d16c7ea79bb6 Mon Sep 17 00:00:00 2001 From: Eric Lembregts Date: Thu, 2 Oct 2025 09:15:15 +0200 Subject: [PATCH 34/35] [MIG] server_environment_ir_config_parameter: Migration to 19.0 --- .../models/ir_config_parameter.py | 2 +- .../tests/test_server_environment_ircp.py | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) 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 5e929276e..29d403c10 100644 --- a/server_environment_ir_config_parameter/models/ir_config_parameter.py +++ b/server_environment_ir_config_parameter/models/ir_config_parameter.py @@ -31,7 +31,7 @@ def get_param(self, key, default=False): cvalue = serv_config.get(SECTION, key) if not cvalue: raise UserError( - self.env._("Key %(key)s is empty in server_environment_file", key) + self.env._("Key %s is empty in server_environment_file", key) ) if cvalue != value: # we write in db on first access; diff --git a/server_environment_ir_config_parameter/tests/test_server_environment_ircp.py b/server_environment_ir_config_parameter/tests/test_server_environment_ircp.py index 1e918aa70..d72fec530 100644 --- a/server_environment_ir_config_parameter/tests/test_server_environment_ircp.py +++ b/server_environment_ir_config_parameter/tests/test_server_environment_ircp.py @@ -34,7 +34,6 @@ def _load_xml(self, module, filepath): {}, mode="init", noupdate=False, - kind="test", ) def test_get_param(self): From 0aecaa64775c4317246af231f8962d12b78ee5f0 Mon Sep 17 00:00:00 2001 From: Eric Lembregts Date: Thu, 2 Oct 2025 09:19:32 +0200 Subject: [PATCH 35/35] [DON'T MERGE] test-requirements.txt --- test-requirements.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 test-requirements.txt diff --git a/test-requirements.txt b/test-requirements.txt new file mode 100644 index 000000000..5cbc91106 --- /dev/null +++ b/test-requirements.txt @@ -0,0 +1 @@ +odoo-addon-server_environment @ git+https://github.com/OCA/server-env.git@refs/pull/247/head#subdirectory=server_environment