← Back to team overview

openerp-dev-web team mailing list archive

[Merge] lp:~openerp-dev/openobject-server/6.0-bug-745679-xrg into lp:openobject-server/6.0

 

xrg has proposed merging lp:~openerp-dev/openobject-server/6.0-bug-745679-xrg into lp:openobject-server/6.0.

Requested reviews:
  OpenERP Core Team (openerp)
Related bugs:
  Bug #745679 in OpenERP Addons: "Can't search for Active=False in Accounts if there is a result"
  https://bugs.launchpad.net/openobject-addons/+bug/745679

For more details, see:
https://code.launchpad.net/~openerp-dev/openobject-server/6.0-bug-745679-xrg/+merge/55890
-- 
https://code.launchpad.net/~openerp-dev/openobject-server/6.0-bug-745679-xrg/+merge/55890
Your team OpenERP R&D Team is subscribed to branch lp:~openerp-dev/openobject-server/6.0-bug-745679-xrg.
=== modified file 'bin/osv/orm.py'
--- bin/osv/orm.py	2011-03-23 19:20:43 +0000
+++ bin/osv/orm.py	2011-04-01 09:46:26 +0000
@@ -3049,10 +3049,19 @@
         for key, val in todo.items():
             if key:
                 res2 = self._columns[val[0]].get(cr, self, ids, val, user, context=context, values=res)
+                if not res2:
+                    logging.getLogger('orm').warning("%s.%s didn't provide us data for %s",
+                                    self._name, val[0], get_ids)
+                    res2 = {}
                 for pos in val:
                     for record in res:
-                        if isinstance(res2[record['id']], str): res2[record['id']] = eval(res2[record['id']]) #TOCHECK : why got string instend of dict in python2.6
-                        multi_fields = res2.get(record['id'],{})
+                        if not (record['id'] in res2):
+                            # Is it right not to have that?
+                            continue
+                        if isinstance(res2[record['id']], str):
+                            res2[record['id']] = eval(res2[record['id']])
+                            #TOCHECK : why got string instend of dict in python2.6
+                        multi_fields = res2[record['id']]
                         if multi_fields:
                             record[pos] = multi_fields.get(pos,[])
             else:


Follow ups