KERNEL: allow subfield query on one2many

bzr revid: ced-067e4ec9e0ff4b8507528a6a2340fa6a889489ee
This commit is contained in:
ced 2007-06-19 13:34:06 +00:00
parent 0427cff53f
commit 071353e560
1 changed files with 11 additions and 2 deletions

View File

@ -1376,10 +1376,19 @@ class orm(object):
if (table._table not in tables):
tables.append(table._table)
joins.append(('id', 'join', '%s.%s' % (self._table, self._inherits[table._name]), table))
field = table._columns.get(args[i][0],False)
fargs = args[i][0].split('.', 1)
field = table._columns.get(fargs[0],False)
if not field:
i+=1
continue
if len(fargs) > 1:
if field._type == 'many2one':
args[i] = (fargs[0], 'in', self.pool.get(field._obj).search(cr, user, [(fargs[1], args[i][1], args[i][2])], context=context))
i+=1
continue
else:
i+=1
continue
if field._type=='one2many':
field_obj = self.pool.get(field._obj)
@ -1395,7 +1404,7 @@ class orm(object):
i+=1
elif field._type=='many2many':
#XXX Fixme
#FIXME
if args[i][1]=='child_of':
if isinstance(args[i][2], basestring):
ids2 = [x[0] for x in self.pool.get(field._obj).name_search(cr, user, args[i][2], [], 'like')]