Esempio n. 1
0
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)