[FIX] Safer assignment to many2one.

bzr revid: jth@openerp.com-20100401192502-zojg3dxhup49oz1m
This commit is contained in:
Julien Thewys 2010-04-01 21:25:02 +02:00
parent f1b72c6743
commit 7043023dd8
1 changed files with 10 additions and 1 deletions

View File

@ -178,6 +178,15 @@ class YamlInterpreter(object):
def isnoupdate(self, node):
return self.noupdate or node.noupdate or False
def _get_first_result(self, results, default=False):
if len(results):
value = results[0]
if isinstance(value, types.TupleType):
value = value[0]
else:
value = default
return value
def process_comment(self, node):
return node
@ -296,7 +305,7 @@ class YamlInterpreter(object):
if column._type in ("many2many", "one2many"):
value = [(6, 0, elements)]
else: # many2one
value = elements[0]
value = self._get_first_result(elements)
elif column._type == "many2one":
value = self.get_id(expression)
elif column._type == "one2many":