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
Wallogit.com
2017 © Pedro Peláez
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