From b39329bc2a77191ee76d0fd5de4470a88293005c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Sun, 17 May 2009 17:32:22 +0200 Subject: [PATCH] Fix set_default for inherited fields for issue1050 --- trytond/ir/default.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/trytond/ir/default.py b/trytond/ir/default.py index 908512d475..012b33bd0c 100644 --- a/trytond/ir/default.py +++ b/trytond/ir/default.py @@ -75,12 +75,17 @@ class Default(ModelSQL, ModelView): def set_default(self, cursor, user, model, field, clause, value, user_default, context=None): - model_obj = self.pool.get('ir.model') - field_obj = self.pool.get('ir.model.field') - model_id = model_obj.search(cursor, user, [ + ir_model_obj = self.pool.get('ir.model') + ir_field_obj = self.pool.get('ir.model.field') + + model_obj = self.pool.get(model) + if field not in model_obj._columns: + model = self.pool.get(model_obj._inherit_fields[field][0])._name + + model_id = ir_model_obj.search(cursor, user, [ ('model', '=', model), ], context=context)[0] - field_id = field_obj.search(cursor, user, [ + field_id = ir_field_obj.search(cursor, user, [ ('name', '=', field), ('model', '=', model_id), ], context=context)[0]