[FIX] multi company, speed improvement

bzr revid: fp@tinyerp.com-20091222212426-z7gmxxj356hgjvvh
This commit is contained in:
Fabien Pinckaers 2009-12-22 22:24:26 +01:00
parent 99fe46f0cb
commit ac61176c3e
2 changed files with 3 additions and 1 deletions

View File

@ -509,6 +509,7 @@ class many2many(_column):
d1, d2, tables = obj.pool.get('ir.rule').domain_get(cr, user, obj._name, context=context)
if d1:
d1 = ' and ' + ' and '.join(d1)
else: d1 = ''
cr.execute('SELECT '+self._rel+'.'+self._id2+','+self._rel+'.'+self._id1+' \
FROM '+self._rel+' , '+(','.join(tables))+' \
@ -547,6 +548,8 @@ class many2many(_column):
d1, d2,tables = obj.pool.get('ir.rule').domain_get(cr, user, obj._name, context=context)
if d1:
d1 = ' and ' + ' and '.join(d1)
else:
d1 = ''
cr.execute('delete from '+self._rel+' where '+self._id1+'=%s AND '+self._id2+' IN (SELECT '+self._rel+'.'+self._id2+' FROM '+self._rel+', '+','.join(tables)+' WHERE '+self._rel+'.'+self._id1+'=%s AND '+self._rel+'.'+self._id2+' = '+obj._table+'.id '+ d1 +')', [id, id]+d2)
for act_nbr in act[2]:

View File

@ -3157,7 +3157,6 @@ class orm(orm_template):
# compute the where, order by, limit and offset clauses
(qu1, qu2, tables) = self._where_calc(cr, user, args, context=context)
dom = self.pool.get('ir.rule').domain_get(cr, user, self._name, context=context)
print '***', dom, qu1,qu2,tables
qu1 = qu1 + dom[0]
qu2 = qu2 + dom[1]
for t in dom[2]: