Commit 7a4831d9 authored by wenjie.zheng's avatar wenjie.zheng Committed by Sebastien Robin

ERP5Site.py: deploy unique methods for both erp5 workflow and DC workflow.

parent 88d231e3
......@@ -760,14 +760,7 @@ class ERP5Site(FolderMixIn, CMFSite, CacheCookieMixin):
def getStateList(group):
state_dict = {}
for wf in self.portal_workflow.objectValues():
if getattr(wf, 'states', None):
# DC Workflow
for state in wf.states.objectValues():
if group in getattr(state, 'type_list', ()):
state_dict[state.getId()] = None
else:
# ERP5 Workflow
for state in wf.objectValues(portal_type='State'):
for state in wf.getStateList():
if group in getattr(state, 'type_list', ()):
state_dict[state.getReference()] = None
return tuple(state_dict.keys())
......@@ -1289,18 +1282,8 @@ class ERP5Site(FolderMixIn, CMFSite, CacheCookieMixin):
def getStateList():
state_dict = {}
for wf in self.portal_workflow.objectValues():
if getattr(wf, 'variables', None) and \
wf.variables.getStateVar() == 'simulation_state':
# DC Workflow
if getattr(wf, 'states', None):
for state in wf.states.objectValues():
if getattr(state, 'type_list', None):
state_dict[state.getId()] = None
elif wf.objectValues(portal_type='Variable') and \
wf.getStateVariable() == 'simulation_state':
# ERP5 Workflow
if wf.objectValues(portal_type='State'):
for state in wf.objectValues(portal_type='State'):
if wf.getVariableList() and wf.getStateVariable() == 'simulation_state':
for state in wf.getStateList():
if getattr(state, 'type_list', None):
state_dict[state.getReference()] = None
return tuple(sorted(state_dict.keys()))
......
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