[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:
committed by
Antony Lesuisse
parent
be294bbdcb
commit
343f462834
@@ -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
|
||||
|
||||
|
Reference in New Issue
Block a user