dev-master
9999999-dev http://github.com/jeremyFreeAgent/FreeAgentWorkflowBundleSimple workflow bundle for Symfony2
MIT
The Requires
- php >=5.3.6
- symfony/symfony 2.*
by Jérémy Romey
workflow
Simple workflow bundle for Symfony2
Simple workflow bundle for Symfony2, (*2)
A Workflow is a configuration that contains an array of Step. Foreach Step you must define :, (*3)
An Action define what to do with the run() method., (*4)
An Validation define what to validate and return the result with the validate() method., (*5)
In your config.yml :, (*6)
free_agent_workflow: workflows: example: default_step: draft validations: - free_agent_workflow.validation.pre_validation - free_agent_workflow.validation.pre_validation actions: - free_agent_workflow.action.post_action - free_agent_workflow.action.post_action - free_agent_workflow.action.post_action steps: draft: label: Draft actions: - free_agent_workflow.action.example validations: - free_agent_workflow.validation.example - free_agent_workflow.validation.example possible_next_steps: - removed - validated removed: label: Removed actions: - free_agent_workflow.action.example validations: - free_agent_workflow.validation.example - free_agent_workflow.validation.example possible_next_steps: - draft validated: label: Validated actions: - free_agent_workflow.action.example validations: - free_agent_workflow.validation.example possible_next_steps: - published - removed - draft published: label: Published actions: - free_agent_workflow.action.example validations: - free_agent_workflow.validation.example - free_agent_workflow.validation.example possible_next_steps: - unpublished - removed - draft unpublished: label: Unpublished actions: - free_agent_workflow.action.example validations: - free_agent_workflow.validation.example - free_agent_workflow.validation.example possible_next_steps: - published - removed - draft example_two: steps: draft: label: Example actions: - free_agent_workflow.action.example validations: - free_agent_workflow.validation.example - free_agent_workflow.validation.example possible_next_steps: - removed
You need also to set up your Actions and Validations services., (*7)
<?php $manager = $this->getContainer()->get('free_agent_workflow.workflow.manager'); $manager->setModel($model); if ($manager->canReachStep('draft')) { $manager->reachStep('draft', 'This is my draft', time()); $model = $manager->getModel(); } else { $errors = $manager->getValidationErrors('draft'); }
Simple workflow bundle for Symfony2
MIT
workflow