[Erp5-report] r33622 kazuhiko - /erp5/trunk/products/ERP5/Document/BusinessTemplate.py

nobody at svn.erp5.org nobody at svn.erp5.org
Thu Mar 11 10:44:10 CET 2010


Author: kazuhiko
Date: Thu Mar 11 10:44:07 2010
New Revision: 33622

URL: http://svn.erp5.org?rev=33622&view=rev
Log:
delete removed workflows from the workflow chain in WorkflowTemplateItem.uninstall().

Modified:
    erp5/trunk/products/ERP5/Document/BusinessTemplate.py

Modified: erp5/trunk/products/ERP5/Document/BusinessTemplate.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Document/BusinessTemplate.py?rev=33622&r1=33621&r2=33622&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Document/BusinessTemplate.py [utf8] (original)
+++ erp5/trunk/products/ERP5/Document/BusinessTemplate.py [utf8] Thu Mar 11 10:44:07 2010
@@ -1654,6 +1654,21 @@
     else:
       ObjectTemplateItem.install(self, context, trashbin, **kw)
 
+  def uninstall(self, context, **kw):
+    object_path = kw.get('object_path', None)
+    if object_path is not None:
+      object_keys = [object_path]
+    else:
+      object_keys = self._archive.keys()
+    removed_workflow_id_list = set([x.split('/', 1)[1] for x in object_keys])
+    (default_chain, chain_dict) = getChainByType(context)
+    for portal_type, workflow_ids in chain_dict.iteritems():
+      workflow_ids = set([x.strip() for x in workflow_ids.split(',')]) - \
+                     removed_workflow_id_list
+      chain_dict[portal_type] = ', '.join(workflow_ids)
+    context.portal_workflow.manage_changeWorkflows(default_chain,
+                                                   props=chain_dict)
+    ObjectTemplateItem.uninstall(self, context, **kw)
 
 class PortalTypeTemplateItem(ObjectTemplateItem):
 




More information about the Erp5-report mailing list