diff --git a/addons/web/controllers/main.py b/addons/web/controllers/main.py index f847f7734b0..20e552cdf0b 100644 --- a/addons/web/controllers/main.py +++ b/addons/web/controllers/main.py @@ -1085,9 +1085,7 @@ class DataSet(openerpweb.Controller): records = Model.read(ids, fields or False, req.context) - index = {} - for r in records: - index[r['id']] = r + index = dict((r['id'], r) for r in records) records = [index[x] for x in ids if x in index] return { diff --git a/addons/web/tests/test_dataset.py b/addons/web/tests/test_dataset.py index a6faf9e6df1..778f23a25b6 100644 --- a/addons/web/tests/test_dataset.py +++ b/addons/web/tests/test_dataset.py @@ -22,6 +22,11 @@ class TestDataSetController(unittest2.TestCase): def test_regular_find(self): self.search.return_value = [1, 2, 3] + self.read.return_value = [ + {'id': 1, 'name': 'foo'}, + {'id': 2, 'name': 'bar'}, + {'id': 3, 'name': 'qux'} + ] self.dataset.do_search_read(self.request, 'fake.model') self.read.assert_called_once_with(