[MERGE] forward port of branch 7.0 up to revid 5288 mat@openerp.com-20140423150215...
[odoo/odoo.git] / openerp / tools / convert.py
index 43ee966..2f2dcb4 100644 (file)
@@ -808,8 +808,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
 
@@ -821,9 +821,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[rec_model]._columns
+                _cols = self.pool[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),
@@ -833,17 +833,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