From 343f4628345e4429014e003a3d500c35f034c2df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20van=20der=20Essen?= Date: Tue, 7 Jul 2015 16:08:08 +0200 Subject: [PATCH] [IMP] base: remove multi_company.default Multi_company.default was used to set the default company on newly created records in a multi-company environment. We remove it because it is redundant with User-Defined Default. The function _company_default_get is left for backward compatibility and to allow the creation of modules that implement more complex policies. --- openerp/addons/base/res/res_company.py | 60 ++---------------- openerp/addons/base/res/res_company_view.xml | 62 ------------------- .../addons/base/security/base_security.xml | 6 -- .../addons/base/security/ir.model.access.csv | 2 - 4 files changed, 4 insertions(+), 126 deletions(-) diff --git a/openerp/addons/base/res/res_company.py b/openerp/addons/base/res/res_company.py index da00343819d..0450496a821 100644 --- a/openerp/addons/base/res/res_company.py +++ b/openerp/addons/base/res/res_company.py @@ -10,47 +10,6 @@ from openerp.tools.translate import _ from openerp.tools.safe_eval import safe_eval as eval from openerp.tools import image_resize_image -class multi_company_default(osv.osv): - """ - Manage multi company default value - """ - _name = 'multi_company.default' - _description = 'Default multi company' - _order = 'company_id,sequence,id' - - _columns = { - 'sequence': fields.integer('Sequence'), - 'name': fields.char('Name', required=True, help='Name it to easily find a record'), - 'company_id': fields.many2one('res.company', 'Main Company', required=True, - help='Company where the user is connected'), - 'company_dest_id': fields.many2one('res.company', 'Default Company', required=True, - help='Company to store the current record'), - 'object_id': fields.many2one('ir.model', 'Object', required=True, - help='Object affected by this rule'), - 'expression': fields.char('Expression', required=True, - help='Expression, must be True to match\nuse context.get or user (browse)'), - 'field_id': fields.many2one('ir.model.fields', 'Field', help='Select field property'), - } - - _defaults = { - 'expression': 'True', - 'sequence': 100, - } - - def copy(self, cr, uid, id, default=None, context=None): - """ - Add (copy) in the name when duplicate record - """ - if not context: - context = {} - if not default: - default = {} - company = self.browse(cr, uid, id, context=context) - default = default.copy() - default['name'] = company.name + _(' (copy)') - return super(multi_company_default, self).copy(cr, uid, id, default, context=context) - -multi_company_default() class res_company(osv.osv): _name = "res.company" @@ -206,22 +165,11 @@ class res_company(osv.osv): @api.returns('self') def _company_default_get(self, cr, uid, object=False, field=False, context=None): """ - Check if the object for this company have a default value + Returns the default company (the user's company) + The 'object' and 'field' arguments are ignored but left here for + backward compatibility and potential override. """ - if not context: - context = {} - proxy = self.pool.get('multi_company.default') - args = [ - ('object_id.model', '=', object), - ('field_id', '=', field), - ] - - ids = proxy.search(cr, uid, args, context=context) - user = self.pool.get('res.users').browse(cr, SUPERUSER_ID, uid, context=context) - for rule in proxy.browse(cr, uid, ids, context): - if eval(rule.expression, {'context': context, 'user': user}): - return rule.company_dest_id.id - return user.company_id.id + return self.pool['res.users']._get_company(cr, uid, context=context) @tools.ormcache('uid', 'company') def _get_company_children(self, cr, uid=None, company=None): diff --git a/openerp/addons/base/res/res_company_view.xml b/openerp/addons/base/res/res_company_view.xml index 4b0612e0900..648efc3e6bf 100644 --- a/openerp/addons/base/res/res_company_view.xml +++ b/openerp/addons/base/res/res_company_view.xml @@ -154,67 +154,5 @@ - - multi_company.default.tree - multi_company.default - - - - - - - - - - - - - - - multi_company.default.form - multi_company.default - - -
- - - - - - - - - - - - - - - -
-
-
- - multi_company.default.search - multi_company.default - - - - - - - - - - - - Company Defaults - ir.actions.act_window - multi_company.default - form - - - - diff --git a/openerp/addons/base/security/base_security.xml b/openerp/addons/base/security/base_security.xml index 93584a55da0..d55d2c54d36 100644 --- a/openerp/addons/base/security/base_security.xml +++ b/openerp/addons/base/security/base_security.xml @@ -67,12 +67,6 @@ - - Multi_company_default company - - [('company_id','child_of',[user.company_id.id])] - - Defaults: alter personal values only diff --git a/openerp/addons/base/security/ir.model.access.csv b/openerp/addons/base/security/ir.model.access.csv index d58504fd66b..1dcfeb81c9c 100644 --- a/openerp/addons/base/security/ir.model.access.csv +++ b/openerp/addons/base/security/ir.model.access.csv @@ -105,8 +105,6 @@ "access_res_bank_group_system","res_bank_group_system","model_res_bank","group_system",1,1,1,1 "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_multi_company_default user","multi_company_default all","model_multi_company_default",,1,0,0,0 -"access_multi_company_default manager","multi_company_default Manager","model_multi_company_default","group_erp_manager",1,1,1,1 "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