diff --git a/product/ERP5/Document/BusinessPath.py b/product/ERP5/Document/BusinessPath.py index 24bfe3765236d42314cdea0d9f2143ba5c091667..a1c5f1252294c7a8086986a4f745505c223dfbaf 100644 --- a/product/ERP5/Document/BusinessPath.py +++ b/product/ERP5/Document/BusinessPath.py @@ -377,18 +377,17 @@ class BusinessPath(Path, Predicate): full simulation trees per applied rule """ portal_catalog = self.getPortalObject().portal_catalog - root_applied_rule_list = [] + root_applied_rule_set = set() delivery_simulation_movement_list = portal_catalog( delivery_uid=[x.getUid() for x in explanation.getMovementList()]) for simulation_movement in delivery_simulation_movement_list: applied_rule = simulation_movement.getRootAppliedRule().getPath() - if applied_rule not in root_applied_rule_list: - root_applied_rule_list.append(applied_rule) + root_applied_rule_set.add(applied_rule) simulation_movement_list = portal_catalog( portal_type='Simulation Movement', causality_uid=self.getUid(), - path=['%s/%%' % x for x in root_applied_rule_list]) + path=['%s/%%' % x for x in root_applied_rule_set]) return [simulation_movement.getObject() for simulation_movement in simulation_movement_list