From afcf609b2c72216b16ce62f30206067d919c29d2 Mon Sep 17 00:00:00 2001
From: Romain Courteaud <romain@nexedi.com>
Date: Tue, 24 May 2005 07:48:14 +0000
Subject: [PATCH] Reindex applied rule before selecting movement.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@3063 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/Document/DeliveryBuilder.py | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/product/ERP5/Document/DeliveryBuilder.py b/product/ERP5/Document/DeliveryBuilder.py
index 1dafdfc842..06e9c69af4 100755
--- a/product/ERP5/Document/DeliveryBuilder.py
+++ b/product/ERP5/Document/DeliveryBuilder.py
@@ -116,6 +116,7 @@ class DeliveryBuilder(XMLObject, Amount, Predicate):
     for movement in root_group.getMovementList():
       movement.recursiveReindexObject()
 
+    # Call script on each delivery built
     if delivery_after_generation_script_id not in ["", None]:
       for delivery in delivery_list:
         getattr(delivery, delivery_after_generation_script_id)()
@@ -136,6 +137,8 @@ class DeliveryBuilder(XMLObject, Amount, Predicate):
     kw['portal_type'] = 'Simulation Movement'
     # Search only child movement from this applied rule
     if applied_rule is not None:
+      # XXX Be sure that applied rule is well indexed
+      applied_rule.recursiveImmediateReindexObject()
       kw['parent_uid'] = applied_rule.getUid()
     # XXX Add profile query
     # Add resource query
@@ -148,7 +151,6 @@ class DeliveryBuilder(XMLObject, Amount, Predicate):
     else:
       select_method = getattr(self, self.simulation_select_method_id)
       movement_list = select_method(kw)
-      sql_query = select_method(kw, src__=1)
 
     # XXX Use buildSQLQuery will be better
     movement_list = filter(lambda x: x.getDeliveryRelatedValueList()==[],
-- 
2.30.9