WorkflowBaseAdmin.php 1.0 KB

1234567891011121314151617181920212223242526272829303132333435
  1. <?php
  2. namespace WorkflowBundle\Admin;
  3. use Base\AdminBundle\Admin\BaseAdmin;
  4. class WorkflowBaseAdmin extends BaseAdmin
  5. {
  6. /**
  7. * @return array
  8. */
  9. public function getBatchActions()
  10. {
  11. $actions = parent::getBatchActions();
  12. $workflows = $this->getRepository('WorkflowBundle:Workflow')->findAllByClass($this->getClass());
  13. foreach ($workflows as $workflow) {
  14. $transitions = $workflow->getDefinition($workflow->getSubject())->getTransitions();
  15. foreach ($transitions as $key => $transition) {
  16. $actions[$key] = array(
  17. 'label' => $this->trans('workflow.' . $workflow->getName() . '.transitions.' . $transition->getName(), array(), 'WorkflowLabel'),
  18. 'ask_confirmation' => true,
  19. 'workflow' => array(
  20. 'name' => $workflow->getName(),
  21. 'transition' => $transition->getName(),
  22. ),
  23. );
  24. }
  25. }
  26. return $actions;
  27. }
  28. }