[FIX] Sparse field: get relation of the correct field
authorGuewen Baconnier <guewen.baconnier@camptocamp.com>
Thu, 5 Jan 2012 10:40:51 +0000 (11:40 +0100)
committerGuewen Baconnier <guewen.baconnier@camptocamp.com>
Thu, 5 Jan 2012 10:40:51 +0000 (11:40 +0100)
bzr revid: guewen.baconnier@camptocamp.com-20120105104051-7jn2n5kd92nexa31

openerp/osv/fields.py

index ea43eb2..776992a 100644 (file)
@@ -1274,10 +1274,10 @@ class sparse(function):
                     value = value or []
                     if value:
                         # filter out deleted records as superuser
-                        relation_obj = obj.pool.get(self.relation)
+                        relation_obj = obj.pool.get(obj._columns[field_name].relation)
                         value = relation_obj.exists(cr, openerp.SUPERUSER_ID, value)
                 if type(value) in (int,long) and field_type == 'many2one':
-                    relation_obj = obj.pool.get(self.relation)
+                    relation_obj = obj.pool.get(obj._columns[field_name].relation)
                     # check for deleted record as superuser
                     if not relation_obj.exists(cr, openerp.SUPERUSER_ID, [value]):
                         value = False