From be0a0566da26ee9faf2926787e00269fd7c6d30c Mon Sep 17 00:00:00 2001
From: Wenjie Zheng <wenjie.zheng@tiolive.com>
Date: Thu, 7 May 2015 09:00:39 +0000
Subject: [PATCH] ERP5WorkflowTool.py: deploy universal state getter; clean the
 code.

---
 product/ERP5/Tool/ERP5WorkflowTool.py | 12 ++----------
 1 file changed, 2 insertions(+), 10 deletions(-)

diff --git a/product/ERP5/Tool/ERP5WorkflowTool.py b/product/ERP5/Tool/ERP5WorkflowTool.py
index b2576c17f0..2975f864e0 100644
--- a/product/ERP5/Tool/ERP5WorkflowTool.py
+++ b/product/ERP5/Tool/ERP5WorkflowTool.py
@@ -120,14 +120,6 @@ class ERP5WorkflowTool(BaseTool, OriginalWorkflowTool):
     PropertySheet.DublinCore,
   )
 
-
-  ### a getter for Workflow Tool. For other objects, this is not recommended.
-  def _getObjectByRef(self, ref):
-    for ob in self:
-      if wf.getRef() == ref:
-        return ob
-    return None
-
   def _jumpToStateFor(self, ob, state_id, wf_id=None, *args, **kw):
     """Inspired from doActionFor.
     This is public method to allow passing meta transition (Jump form
@@ -143,7 +135,7 @@ class ERP5WorkflowTool(BaseTool, OriginalWorkflowTool):
       for workflow in workflow_list:
         if not isinstance(workflow, InteractionWorkflowDefinition) or \
             not isinstance(workflow, InteractionWorkflow):
-          if state_id in workflow.states._mapping:
+          if state_id in workflow.getStateIdList():
             found = True
             break
       if not found:
@@ -165,7 +157,7 @@ class ERP5WorkflowTool(BaseTool, OriginalWorkflowTool):
     for workflow in (wf_id and (self[wf_id],) or self.getWorkflowValueListFor(ob.getPortalType())):
       if not isinstance(workflow, InteractionWorkflowDefinition) or \
           not isinstance(workflow, InteractionWorkflow):
-        if state_id in workflow.states._mapping:
+        if state_id in workflow.getStateIdList():
           return True
     return False
 
-- 
2.30.9