From 3cc3ab62526610cdc849073fcb812882ea58d0be Mon Sep 17 00:00:00 2001 From: Vincent Vinet Date: Mon, 20 Apr 2015 13:52:06 -0400 Subject: [PATCH] [FIX] document: polynomial time reordering of document ids Triggered every time on list views as the list view uses a search_count (filtered but unlimited) to display pagination. closes #6397 --- addons/document/document.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/addons/document/document.py b/addons/document/document.py index df12431df7a..56324c6c462 100644 --- a/addons/document/document.py +++ b/addons/document/document.py @@ -110,8 +110,11 @@ class document_file(osv.osv): ids.extend(parents[parent_id]) # sort result according to the original sort ordering - ids = [id for id in orig_ids if id in ids] - return len(ids) if count else ids + if count: + return len(ids) + else: + set_ids = set(ids) + return [id for id in orig_ids if id in set_ids] def copy(self, cr, uid, id, default=None, context=None): if not default: