From a04c4246f3c43c7eb101ca5a580d281a30d8e9a2 Mon Sep 17 00:00:00 2001
From: Sebastien Robin <seb@nexedi.com>
Date: Fri, 9 Jul 2004 08:38:58 +0000
Subject: [PATCH] improvement of workflow history management with
 portal_repository

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@1129 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5SyncML/Conduit/ERP5Conduit.py | 17 +++++++++++++++--
 1 file changed, 15 insertions(+), 2 deletions(-)

diff --git a/product/ERP5SyncML/Conduit/ERP5Conduit.py b/product/ERP5SyncML/Conduit/ERP5Conduit.py
index ae2dc5955b..4da76d2e86 100755
--- a/product/ERP5SyncML/Conduit/ERP5Conduit.py
+++ b/product/ERP5SyncML/Conduit/ERP5Conduit.py
@@ -991,8 +991,21 @@ class ERP5Conduit(XMLSyncUtilsMixin):
     if add_action and not simulate:
       LOG('addNode, setting status:',0,'ok')
       wf_tool.setStatusOf(wf_id,object,status)
-    #else:
-    #  return wf_conflict_list
+
+    # Specific CPS, try to remove duplicate lines in portal_repository._histories
+    tool = getToolByName(self,'portal_repostiry',None)
+    if tool is not None:
+      if hasattr(self,'getDocid'):
+        docid = self.getDocid()
+        history = tool.getHistory(docid)
+        new_history = ()
+        for history_line in history:
+          if history_line not in new_history:
+            new_history += (history_line,)
+        tool.setHistory(docid,new_history)
+
+
+
     return conflict_list
           
   security.declareProtected(Permissions.ModifyPortalContent, 'addLocalRoleNode')
-- 
2.30.9