def add_singlestate_workflow(tool): """2.1.x to 2.2.0 upgrade step handler """ wf_tool = getToolByName(tool, 'portal_workflow') if wf_tool.getWorkflowById(_SINGLESTATE_WF_ID) is None: from Products.DCWorkflow.DCWorkflow import DCWorkflowDefinition wf = DCWorkflowDefinition(_SINGLESTATE_WF_ID) wf.title = 'Single-state workflow' wf.initial_state = 'published' wf.state_var = 'review_state' wf.manager_bypass = False wf.permissions = ( access_contents_information , ModifyPortalContent , view ) wf.states.addState('published') public = wf.states.published public.title = 'Public' public.setPermission( access_contents_information , True , ('Anonymous', 'Manager') ) public.setPermission(ModifyPortalContent, False, ('Manager', 'Owner')) public.setPermission(view, True, ('Anonymous', 'Manager')) wf_tool._setObject(_SINGLESTATE_WF_ID, wf)