From 3c4cece63d6c216c70b5d66ea871b3d7b3b35de9 Mon Sep 17 00:00:00 2001
From: Kazuhiko Shiozaki <kazuhiko@nexedi.com>
Date: Fri, 25 Jun 2010 13:08:27 +0000
Subject: [PATCH] add a method that returns a list of (tester,
 simulation_movement) for each divergence.

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

diff --git a/product/ERP5/Document/Delivery.py b/product/ERP5/Document/Delivery.py
index 046e0432d8..7b355fdb32 100644
--- a/product/ERP5/Document/Delivery.py
+++ b/product/ERP5/Document/Delivery.py
@@ -963,3 +963,15 @@ class Delivery(XMLObject, ImmobilisationDelivery, CompositionMixin):
       sim_movement_list = search_method(portal_type='Simulation Movement',
                                         delivery_uid=movement_uid_list, **kw)
       return sim_movement_list
+
+    def getDivergentTesterAndSimulationMovementList(self):
+      """
+      This method returns a list of (tester, simulation_movement) for each divergence.
+      """
+      divergent_tester_list = []
+      for simulation_movement in self._getAllRelatedSimulationMovementList():
+        rule = simulation_movement.getParentValue().getSpecialiseValue()
+        for tester in rule._getDivergenceTesterList(exclude_quantity=False):
+          if tester.explain(simulation_movement) not in (None, []):
+            divergent_tester_list.append((tester, simulation_movement))
+      return divergent_tester_list
-- 
2.30.9