[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.
This commit is contained in:
Frédéric van der Essen
2015-07-16 14:57:27 +02:00
committed by Antony Lesuisse
parent be294bbdcb
commit 343f462834
4 changed files with 4 additions and 126 deletions
+4 -56
View File
@@ -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):
@@ -154,67 +154,5 @@
<field eval="'ir.actions.act_window,%d'%company_normal_action_tree" name="value"/>
</record>
<record id="view_inventory_tree" model="ir.ui.view">
<field name="name">multi_company.default.tree</field>
<field name="model">multi_company.default</field>
<field name="priority" eval="8"/>
<field name="arch" type="xml">
<tree string="Multi Company">
<field name="company_id"/>
<field name="object_id"/>
<field name="field_id"/>
<field name="expression" />
<field name="sequence"/>
<field name="company_dest_id"/>
<field name="name"/>
</tree>
</field>
</record>
<record id="view_inventory_form" model="ir.ui.view">
<field name="name">multi_company.default.form</field>
<field name="model">multi_company.default</field>
<field name="priority" eval="8"/>
<field name="arch" type="xml">
<form string="Multi Company">
<sheet>
<group>
<group>
<field name="name"/>
<field name="company_id"/>
<field name="company_dest_id"/>
</group>
<group>
<field name="object_id"/>
<field name="field_id" domain="[('model_id','=',object_id)]"/>
<field name="expression"/>
<field name="sequence"/>
</group>
</group>
</sheet>
</form>
</field>
</record>
<record id="view_inventory_search" model="ir.ui.view">
<field name="name">multi_company.default.search</field>
<field name="model">multi_company.default</field>
<field name="priority" eval="8"/>
<field name="arch" type="xml">
<search string="Multi Company">
<field name="name" string="Name"/>
<field name="company_id"/>
<field name="company_dest_id"/>
<field name="object_id"/>
</search>
</field>
</record>
<record id="action_inventory_form" model="ir.actions.act_window">
<field name="name">Company Defaults</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">multi_company.default</field>
<field name="view_type">form</field>
<field name="search_view_id" ref="view_inventory_search"/>
</record>
<menuitem id="menu_action_inventory_form" parent="base.menu_ir_property" action="action_inventory_form"/>
</data>
</openerp>
@@ -67,12 +67,6 @@
<field name="perm_write" eval="False"/>
</record>
<record model="ir.rule" id="multi_company_default_rule">
<field name="name">Multi_company_default company</field>
<field name="model_id" ref="model_multi_company_default"/>
<field name="domain_force">[('company_id','child_of',[user.company_id.id])]</field>
</record>
<record model="ir.rule" id="ir_values_default_rule">
<field name="name">Defaults: alter personal values only</field>
<field name="model_id" ref="model_ir_values"/>
@@ -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
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
105 access_res_bank_group_system res_bank_group_system model_res_bank group_system 1 1 1 1
106 access_res_bank_group_partner_manager res_bank_group_partner_manager model_res_bank group_partner_manager 1 1 1 1
107 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
108 access_ir_filter all ir_filters all model_ir_filters 1 1 1 1
109 access_ir_config_parameter ir_config_parameter model_ir_config_parameter 1 0 0 0
110 access_ir_config_parameter_system ir_config_parameter_system model_ir_config_parameter group_system 1 1 1 1