[FIX] change size for multi company default from 32 to 256
[IMP] Prepare _company_default_get to support rules on object's field lp bug: https://launchpad.net/bugs/497685 fixed bzr revid: christophe.chauvet@syleam.fr-20091217213700-k1i6fdgojhn0uccs
This commit is contained in:
@@ -36,7 +36,7 @@ class multi_company_default(osv.osv):
|
||||
|
||||
_columns = {
|
||||
'sequence': fields.integer('Sequence'),
|
||||
'name': fields.char('Name', size=32, required=True, help='Name it to easily find a record'),
|
||||
'name': fields.char('Name', size=256, 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,
|
||||
@@ -45,6 +45,7 @@ class multi_company_default(osv.osv):
|
||||
help='Object affect by this rules'),
|
||||
'expression': fields.char('Expression', size=32, required=True,
|
||||
help='Expression, must be True to match'),
|
||||
'field_id': fields.many2one('ir.model.fields', 'Field', help='Select field property'),
|
||||
}
|
||||
|
||||
_defaults = {
|
||||
@@ -88,14 +89,18 @@ class res_company(osv.osv):
|
||||
}
|
||||
|
||||
|
||||
def _company_default_get(self, cr, uid, object=False, context=None):
|
||||
def _company_default_get(self, cr, uid, object=False, field=False, context=None):
|
||||
"""
|
||||
Check if the object for this company have a default value
|
||||
"""
|
||||
if not context:
|
||||
context = {}
|
||||
proxy = self.pool.get('multi_company.default')
|
||||
ids = proxy.search(cr, uid, [('object_id.model', '=', object)])
|
||||
args = [
|
||||
('object_id.model', '=', object),
|
||||
('field_id.name','=',field),
|
||||
]
|
||||
ids = proxy.search(cr, uid, args)
|
||||
for rule in proxy.browse(cr, uid, ids, context):
|
||||
user = self.pool.get('res.users').browse(cr, uid, uid)
|
||||
if eval(rule.expression, {'context': context, 'user': user}):
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
<tree string="Multi Company">
|
||||
<field name="company_id" groups="base.group_multi_company"/>
|
||||
<field name="object_id"/>
|
||||
<field name="field_id"/>
|
||||
<field name="expression" />
|
||||
<field name="sequence"/>
|
||||
<field name="company_dest_id"/>
|
||||
@@ -30,10 +31,12 @@
|
||||
<separator string="Matching" colspan="6"/>
|
||||
<field name="company_id" groups="base.group_multi_company"/>
|
||||
<field name="object_id"/>
|
||||
<field name="company_dest_id"/>
|
||||
<field name="field_id" domain="[('model_id','=',object_id)]"/>
|
||||
<separator string="Condition" colspan="6"/>
|
||||
<field name="expression" colspan="4"/>
|
||||
<field name="sequence"/>
|
||||
<separator string="Returning" colspan="6"/>
|
||||
<field name="company_dest_id"/>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
|
||||
Reference in New Issue
Block a user