This package is a shameless derivate of substanced.workflow module without
substanced dependencies (besides its LICENSE, of course).
Differences from substanced.workflow:
- workflow requires
state_attras its first positional argument similarly to the originalrepoze.workflow(and because of that parallel workflows should use differentstate_attr) - content-type related checks are removed, because there's no more
global content registry (
substanced.content).
Example of use:
from pyramid_workflow import Workflow
task_workflow = Workflow(state_attr='task_state',
initial_state='new',
type='task')
task_workflow.add_state('new')
task_workflow.add_state('working')
task_workflow.add_state('done')
task_workflow.add_transition('start',
from_state='new',
to_state='working')
task_workflow.add_transition('complete',
from_state='working',
to_state='done')
task_workflow.add_transition('abort',
from_state='working',
to_state='new')
def includeme(config):
config.add_workflow(task_workflow, content_types=('my_type',))See also: http://substanced.readthedocs.org/en/latest/workflows.html
Technical Debts
- Fix version for OpenCo namespace or merge back to orginal project