From 6bbac26ffb6f2131cad62df48b5afa3849ee8276 Mon Sep 17 00:00:00 2001 From: Raphael Collet Date: Mon, 19 Nov 2012 12:02:06 +0100 Subject: [PATCH] [IMP] ir_confir_parameter: add parameter 'force' in method 'init' to reinitialize existing parameters This is useful when creating a new database from a dump (reinitialize database.uuid, etc.) bzr revid: rco@openerp.com-20121119110206-la2yaohf7wmi9yx2 --- openerp/addons/base/ir/ir_config_parameter.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/openerp/addons/base/ir/ir_config_parameter.py b/openerp/addons/base/ir/ir_config_parameter.py index 120fcfca554..3c88a3fbc31 100644 --- a/openerp/addons/base/ir/ir_config_parameter.py +++ b/openerp/addons/base/ir/ir_config_parameter.py @@ -51,12 +51,14 @@ class ir_config_parameter(osv.osv): ('key_uniq', 'unique (key)', 'Key must be unique.') ] - def init(self, cr): + def init(self, cr, force=False): """ Initializes the parameters listed in _default_parameters. + It overrides existing parameters if force is ``True``. """ for key, func in _default_parameters.iteritems(): - ids = self.search(cr, SUPERUSER_ID, [('key','=',key)]) + # force=True skips search and always performs the 'if' body (because ids=False) + ids = not force and self.search(cr, SUPERUSER_ID, [('key','=',key)]) if not ids: self.set_param(cr, SUPERUSER_ID, key, func())