diff --git a/openerp/tools/convert.py b/openerp/tools/convert.py index 4598e2e384a..870f9d19dd2 100644 --- a/openerp/tools/convert.py +++ b/openerp/tools/convert.py @@ -772,8 +772,8 @@ form: module.record_id""" % (xml_id,) f_ref = field.get("ref",'').encode('utf-8') f_search = field.get("search",'').encode('utf-8') f_model = field.get("model",'').encode('utf-8') - if not f_model and model._columns.get(f_name,False): - f_model = model._columns[f_name]._obj + if not f_model and model._all_columns.get(f_name,False): + f_model = model._all_columns[f_name].column._obj f_use = field.get("use",'').encode('utf-8') or 'id' f_val = False @@ -785,9 +785,9 @@ form: module.record_id""" % (xml_id,) # browse the objects searched s = f_obj.browse(cr, self.uid, f_obj.search(cr, self.uid, q)) # column definitions of the "local" object - _cols = self.pool.get(rec_model)._columns + _cols = self.pool.get(rec_model)._all_columns # if the current field is many2many - if (f_name in _cols) and _cols[f_name]._type=='many2many': + if (f_name in _cols) and _cols[f_name].column._type=='many2many': f_val = [(6, 0, map(lambda x: x[f_use], s))] elif len(s): # otherwise (we are probably in a many2one field), @@ -797,17 +797,17 @@ form: module.record_id""" % (xml_id,) if f_ref=="null": f_val = False else: - if f_name in model._columns \ - and model._columns[f_name]._type == 'reference': + if f_name in model._all_columns \ + and model._all_columns[f_name].column._type == 'reference': val = self.model_id_get(cr, f_ref) f_val = val[0] + ',' + str(val[1]) else: f_val = self.id_get(cr, f_ref) else: f_val = _eval_xml(self,field, self.pool, cr, self.uid, self.idref) - if model._columns.has_key(f_name): + if f_name in model._all_columns: import openerp.osv as osv - if isinstance(model._columns[f_name], osv.fields.integer): + if isinstance(model._all_columns[f_name].column, osv.fields.integer): f_val = int(f_val) res[f_name] = f_val