[IMP] use model._fields instead of model._all_columns to cover all fields
[odoo/odoo.git] / addons / pad / pad.py
index 68b19c3..3b84c79 100644 (file)
@@ -52,8 +52,8 @@ class pad_common(osv.osv_memory):
 
             #get attr on the field model
             model = self.pool[context["model"]]
-            field = model._all_columns[context['field_name']]
-            real_field = field.column.pad_content_field
+            field = model._fields[context['field_name']]
+            real_field = field.pad_content_field
 
             #get content of the real field
             for record in model.browse(cr, uid, [context["object_id"]]):
@@ -94,15 +94,14 @@ class pad_common(osv.osv_memory):
     # Set the pad content in vals
     def _set_pad_value(self, cr, uid, vals, context=None):
         for k,v in vals.items():
-            field = self._all_columns[k].column
+            field = self._fields[k]
             if hasattr(field,'pad_content_field'):
                 vals[field.pad_content_field] = self.pad_get_content(cr, uid, v, context=context)        
 
     def copy(self, cr, uid, id, default=None, context=None):
         if not default:
             default = {}
-        for k, v in self._all_columns.iteritems():
-            field = v.column
+        for k, field in self._fields.iteritems():
             if hasattr(field,'pad_content_field'):
                 pad = self.pad_generate_url(cr, uid, context)
                 default[k] = pad.get('url')