diff --git a/product/ERP5/Document/DeliveryBuilder.py b/product/ERP5/Document/DeliveryBuilder.py index 1dafdfc84277ca6802f4b4d3dfde1fd15eab5302..06e9c69af48df76e67e4075073061094f8e13c96 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()==[],