From ac14df7027fa99c56f73fc547ba8dd4a1b5b3700 Mon Sep 17 00:00:00 2001
From: Tomas Peterka <tomas.peterka@nexedi.com>
Date: Mon, 14 May 2018 16:09:36 +0200
Subject: [PATCH] [erp5_core] Mass Workflow Transition saves some time and
 memory by early return and iterators

---
 .../erp5_core/Folder_filterDocumentByWorkflow.py            | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Folder_filterDocumentByWorkflow.py b/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Folder_filterDocumentByWorkflow.py
index 11511d0fcd..c1d136e9e3 100644
--- a/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Folder_filterDocumentByWorkflow.py
+++ b/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Folder_filterDocumentByWorkflow.py
@@ -3,14 +3,14 @@
 portal_catalog = context.getPortalObject().portal_catalog
 action_tool = context.getPortalObject().portal_actions
 
-document_list = [result.getObject() for result in portal_catalog.searchResults(sort_on=sort_on, limit=limit, **kwargs)]
+result_list = portal_catalog.searchResults(sort_on=sort_on, limit=limit, **kwargs)
 
 if not workflow_action:
   # if we have no filter (=workflow action) we return back all documents
-  return document_list
+  return result_list
 
 filtered_list = []
-for document in document_list:
+for document in (result.getObject() for result in result_list):
   for action in action_tool.listFilteredActionsFor(document).get('workflow', []):
     if action['id'] == workflow_action:
       filtered_list.append(document)
-- 
2.30.9