diff options
Diffstat (limited to 'odoo')
| -rw-r--r-- | odoo/addons/base/__init__.py | 7 | ||||
| -rw-r--r-- | odoo/addons/base/ir/ir_config_parameter.py | 38 | ||||
| -rw-r--r-- | odoo/addons/base/ir/ir_config_parameter_view.xml | 2 | ||||
| -rw-r--r-- | odoo/addons/base/security/base_security.xml | 10 | ||||
| -rw-r--r-- | odoo/addons/base/security/ir.model.access.csv | 1 |
5 files changed, 14 insertions, 44 deletions
diff --git a/odoo/addons/base/__init__.py b/odoo/addons/base/__init__.py index ee62dc5ce3d..2defb05a2a7 100644 --- a/odoo/addons/base/__init__.py +++ b/odoo/addons/base/__init__.py @@ -10,11 +10,6 @@ import tests def post_init(cr, registry): """Rewrite ICP's to force groups""" from odoo import api, SUPERUSER_ID - from odoo.addons.base.ir.ir_config_parameter import _default_parameters env = api.Environment(cr, SUPERUSER_ID, {}) - ICP = env['ir.config_parameter'] - for key, func in _default_parameters.iteritems(): - val = ICP.get_param(key) - _, groups = func() - ICP.set_param(key, val, groups) + env['ir.config_parameter'].init(force=True) diff --git a/odoo/addons/base/ir/ir_config_parameter.py b/odoo/addons/base/ir/ir_config_parameter.py index bca68a4638b..cbb44ca6457 100644 --- a/odoo/addons/base/ir/ir_config_parameter.py +++ b/odoo/addons/base/ir/ir_config_parameter.py @@ -16,10 +16,10 @@ _logger = logging.getLogger(__name__) A dictionary holding some configuration parameters to be initialized when the database is created. """ _default_parameters = { - "database.secret": lambda: (str(uuid.uuid4()), ['base.group_erp_manager']), - "database.uuid": lambda: (str(uuid.uuid1()), []), - "database.create_date": lambda: (fields.Datetime.now(), ['base.group_user']), - "web.base.url": lambda: ("http://localhost:%s" % config.get('xmlrpc_port'), []), + "database.secret": lambda: str(uuid.uuid4()), + "database.uuid": lambda: str(uuid.uuid1()), + "database.create_date": fields.Datetime.now, + "web.base.url": lambda: "http://localhost:%s" % config.get('xmlrpc_port'), } @@ -30,7 +30,6 @@ class IrConfigParameter(models.Model): key = fields.Char(required=True, index=True) value = fields.Text(required=True) - group_ids = fields.Many2many('res.groups', 'ir_config_parameter_groups_rel', 'icp_id', 'group_id', string='Groups') _sql_constraints = [ ('key_uniq', 'unique (key)', 'Key must be unique.') @@ -47,8 +46,7 @@ class IrConfigParameter(models.Model): # force=True skips search and always performs the 'if' body (because ids=False) params = self.sudo().search([('key', '=', key)]) if force or not params: - value, groups = func() - params.set_param(key, value, groups=groups) + params.set_param(key, func()) @api.model def get_param(self, key, default=False): @@ -68,43 +66,33 @@ class IrConfigParameter(models.Model): return params[0]['value'] if params else None @api.model - def set_param(self, key, value, groups=()): + def set_param(self, key, value): """Sets the value of a parameter. :param string key: The key of the parameter value to set. :param string value: The value to set. - :param list of string groups: List of group (xml_id allowed) to read this key. :return: the previous value of the parameter or False if it did not exist. :rtype: string """ - self._get_param.clear_cache(self) param = self.search([('key', '=', key)]) - - gids = [] - for group_xml in groups: - group = self.env.ref(group_xml, raise_if_not_found=False) - if group: - gids.append((4, group.id)) - else: - _logger.warning('Potential Security Issue: Group [%s] is not found.' % group_xml) - - vals = {'value': value} - if gids: - vals.update(group_ids=gids) if param: old = param.value if value is not False and value is not None: - param.write(vals) + param.write({'value': value}) else: param.unlink() return old else: - vals.update(key=key) if value is not False and value is not None: - self.create(vals) + self.create({'key': key, 'value': value}) return False + @api.model + def create(self, vals): + self.clear_caches() + return super(IrConfigParameter, self).create(vals) + @api.multi def write(self, vals): self.clear_caches() diff --git a/odoo/addons/base/ir/ir_config_parameter_view.xml b/odoo/addons/base/ir/ir_config_parameter_view.xml index 555c7b94b1d..6480f989a53 100644 --- a/odoo/addons/base/ir/ir_config_parameter_view.xml +++ b/odoo/addons/base/ir/ir_config_parameter_view.xml @@ -15,7 +15,6 @@ <tree string="System Parameters"> <field name="key"/> <field name="value"/> - <field name="group_ids"/> </tree> </field> </record> @@ -27,7 +26,6 @@ <group> <field name="key"/> <field name="value"/> - <field name="group_ids" widget="many2many_tags"/> </group> </sheet> </form> diff --git a/odoo/addons/base/security/base_security.xml b/odoo/addons/base/security/base_security.xml index 538892d9ba9..ab4191de93a 100644 --- a/odoo/addons/base/security/base_security.xml +++ b/odoo/addons/base/security/base_security.xml @@ -127,16 +127,6 @@ <field name="domain_force">['|','|',('company_id.child_ids','child_of',[user.company_id.id]),('company_id','child_of',[user.company_id.id]),('company_id','=',False)]</field> </record> - <record id="ir_config_parameter_rule" model="ir.rule"> - <field name="name">ICP read rule</field> - <field name="model_id" ref="model_ir_config_parameter"/> - <field name="domain_force">['|', ('group_ids','in',user.groups_id.ids), ('group_ids','=',False)]</field> - <field name="perm_read" eval="True"/> - <field name="perm_create" eval="False"/> - <field name="perm_write" eval="False"/> - <field name="perm_unlink" eval="False"/> - </record> - <record id="res_currency_rate_rule" model="ir.rule"> <field name="name">multi-company currency rate rule</field> <field name="model_id" ref="model_res_currency_rate"/> diff --git a/odoo/addons/base/security/ir.model.access.csv b/odoo/addons/base/security/ir.model.access.csv index 3bf72552f29..cf2affdcd3a 100644 --- a/odoo/addons/base/security/ir.model.access.csv +++ b/odoo/addons/base/security/ir.model.access.csv @@ -88,7 +88,6 @@ "access_res_bank_group_partner_manager","res_bank_group_partner_manager","model_res_bank","group_partner_manager",1,1,1,1 "access_res_bank_user","res_bank user","model_res_bank","group_user",1,0,0,0 "access_ir_filter all","ir_filters all","model_ir_filters",,1,1,1,1 -"access_ir_config_parameter","ir_config_parameter","model_ir_config_parameter",,1,0,0,0 "access_ir_config_parameter_system","ir_config_parameter_system","model_ir_config_parameter","group_system",1,1,1,1 "access_ir_mail_server","ir_mail_server","model_ir_mail_server","group_system",1,1,1,1 "access_ir_actions_client","ir_actions_client all","model_ir_actions_client",,1,0,0,0 |
