Commit 244ed820 authored by wenjie.zheng's avatar wenjie.zheng

ERP5TypeTestCase.py: convert the workflow before logout.

parent 8de824f5
...@@ -921,28 +921,26 @@ class ERP5TypeCommandLineTestCase(ERP5TypeTestCaseMixin): ...@@ -921,28 +921,26 @@ class ERP5TypeCommandLineTestCase(ERP5TypeTestCaseMixin):
if not quiet: if not quiet:
ZopeTestCase._print('done (%.3fs)\n' % (time.time() - start)) ZopeTestCase._print('done (%.3fs)\n' % (time.time() - start))
def dynamicalWorkflowConvertion(self): def dynamicalWorkflowConversion(self):
# Converting DCWorkflow dynamically # Converting DCWorkflow dynamically
workflow_tool = self.portal.portal_workflow workflow_tool = self.portal.portal_workflow
if workflow_tool.getPortalType() == "Workflow Tool": if workflow_tool.getPortalType() == "Workflow Tool":
start = DateTime() type_workflow_dict = workflow_tool.getChainsByType()
for workflow_id in workflow_tool: for workflow_id in workflow_tool:
workflow = workflow_tool._getOb(workflow_id) workflow = workflow_tool._getOb(workflow_id)
if workflow.getPortalType() not in ['Workflow', 'Interaction Workflow', 'Configuration Workflow']: if workflow.getPortalType() not in ['Workflow', 'Interaction Workflow', 'Configuration Workflow']:
new_workflow = workflow_tool.dc_workflow_asERP5Object(workflow_tool, workflow, temp=0) new_workflow = workflow_tool.dc_workflow_asERP5Object(workflow_tool, workflow, temp=0)
type_workflow_dict = workflow_tool.getChainsByType()
for ptype_id in type_workflow_dict: for ptype_id in type_workflow_dict:
ptype = getattr(workflow_tool.getPortalObject().portal_types, ptype_id, None) ptype = getattr(self.portal.portal_types, ptype_id, None)
if ptype is not None and workflow_id in workflow_tool.getChainsByType()[ptype_id]: if ptype is not None and workflow_id in workflow_tool.getChainsByType()[ptype_id]:
# 1. clean DC workflow assignement: # 1. clean DC workflow assignement:
workflow_tool.delTypeCBT(ptype_id, workflow_id) workflow_tool.delTypeCBT(ptype_id, workflow_id)
# 2. assign ERP5 Workflow to portal type: # 2. assign ERP5 Workflow to portal type:
type_workflow_list = ptype.getTypeWorkflowList() if workflow_id not in ptype.getTypeWorkflowList():
if workflow_id not in type_workflow_list:
ptype.addTypeWorkflowList(workflow_id) ptype.addTypeWorkflowList(workflow_id)
LOG("dynamicalWorkflowConvertion, converting (workflow_id, time)", 0, (workflow_id, (DateTime()-start)*86400))
self.commit() self.commit()
for pt_id in sorted(type_workflow_dict):
ptype = getattr(self.portal.portal_types, pt_id, None)
def setUpERP5Site(self, def setUpERP5Site(self,
business_template_list=(), business_template_list=(),
...@@ -1047,10 +1045,9 @@ class ERP5TypeCommandLineTestCase(ERP5TypeTestCaseMixin): ...@@ -1047,10 +1045,9 @@ class ERP5TypeCommandLineTestCase(ERP5TypeTestCaseMixin):
if hot_reindexing: if hot_reindexing:
setattr(app,'isIndexable', 1) setattr(app,'isIndexable', 1)
portal.portal_catalog.manage_hotReindexAll() portal.portal_catalog.manage_hotReindexAll()
portal.portal_types.resetDynamicDocumentsOnceAtTransactionBoundary() portal.portal_types.resetDynamicDocumentsOnceAtTransactionBoundary()
self.tic(not quiet) self.tic(not quiet)
self.dynamicalWorkflowConvertion() self.dynamicalWorkflowConversion()
# Log out # Log out
if not quiet: if not quiet:
ZopeTestCase._print('Logout ... \n') ZopeTestCase._print('Logout ... \n')
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment