From 8041b935d8aad8c9f25ddef7a7681b7a2e6d1570 Mon Sep 17 00:00:00 2001 From: Christophe Chauvet Date: Wed, 9 Dec 2009 18:42:54 +0100 Subject: [PATCH 1/2] [FIX] #494620 missing company_id in domain that return the bad company when there is a multiple rules for teh same object lp bug: https://launchpad.net/bugs/494620 fixed bzr revid: christophe.chauvet@syleam.fr-20091209174254-pu5oxg8e4saqd48p --- bin/addons/base/res/res_company.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/bin/addons/base/res/res_company.py b/bin/addons/base/res/res_company.py index acd1e85a184..7ec19a971ff 100644 --- a/bin/addons/base/res/res_company.py +++ b/bin/addons/base/res/res_company.py @@ -94,13 +94,14 @@ class res_company(osv.osv): """ if not context: context = {} + user_company_id = self.pool.get('res.users').browse(cr, uid, uid).company_id.id proxy = self.pool.get('multi_company.default') - ids = proxy.search(cr, uid, [('object_id.model', '=', object)]) + ids = proxy.search(cr, uid, [('object_id.model', '=', object), ('company_id','=',user_company_id)]) 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}): return rule.company_dest_id.id - return self.pool.get('res.users').browse(cr, uid, uid).company_id.id + return user_company_id def _get_child_ids(self, cr, uid, uid2, context={}): company = self.pool.get('res.users').company_get(cr, uid, uid2) From 74d49f77e36394f0cec0fd57b06463ba00d38a21 Mon Sep 17 00:00:00 2001 From: Christophe Chauvet Date: Wed, 9 Dec 2009 21:27:33 +0100 Subject: [PATCH 2/2] [IMP] Name field in default company is too small, extend to 256 bzr revid: christophe.chauvet@syleam.fr-20091209202733-n8m5z275ms49r9jq --- bin/addons/base/res/res_company.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/addons/base/res/res_company.py b/bin/addons/base/res/res_company.py index 7ec19a971ff..d40894968e1 100644 --- a/bin/addons/base/res/res_company.py +++ b/bin/addons/base/res/res_company.py @@ -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,