From e1bba990d20dbcf701b1b3da84892bd00122ca77 Mon Sep 17 00:00:00 2001 From: Fabien Pinckaers Date: Fri, 2 Nov 2007 20:37:10 +0000 Subject: [PATCH] Bugfix Default Value on Product bzr revid: fp@tinyerp.com-a75366485dcf34e51d3de898b6ca88bbd9336e74 --- bin/osv/orm.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/bin/osv/orm.py b/bin/osv/orm.py index 0059817ee26..425f23f15fd 100644 --- a/bin/osv/orm.py +++ b/bin/osv/orm.py @@ -899,12 +899,13 @@ class orm(object): res = ir_values_obj.get(cr, uid, 'default', False, [self._name]) for id, field, field_value in res: if field in fields: - if self._columns[field]._type in ('many2one', 'one2one'): - obj = self.pool.get(self._columns[field]._obj) + fld_def = (field in self._columns) and self._columns[field] or self._inherit_fields[field][2] + if fld_def._type in ('many2one', 'one2one'): + obj = self.pool.get(fld_def._obj) if not obj.search(cr, uid, [('id', '=', field_value)]): continue - if self._columns[field]._type in ('many2many'): - obj = self.pool.get(self._columns[field]._obj) + if fld_def._type in ('many2many'): + obj = self.pool.get(fld_def._obj) field_value2 = [] for i in range(len(field_value)): if not obj.search(cr, uid, [('id', '=', @@ -912,8 +913,8 @@ class orm(object): continue field_value2.append(field_value[i]) field_value = field_value2 - if self._columns[field]._type in ('one2many'): - obj = self.pool.get(self._columns[field]._obj) + if fld_def._type in ('one2many'): + obj = self.pool.get(fld_def._obj) field_value2 = [] for i in range(len(field_value)): field_value2.append({})