WorkflowBaseAdmin.php 1.1 KB

123456789101112131415161718192021222324252627282930313233343536
  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. $definition = $workflow->getDefinition($workflow->getSubject());
  15. $transitions = $definition ? $definition->getTransitions() : array();
  16. foreach ($transitions as $key => $transition) {
  17. $actions[$key] = array(
  18. 'label' => $this->trans('workflow.' . $workflow->getName() . '.transitions.' . $transition->getName(), array(), 'WorkflowLabel'),
  19. 'ask_confirmation' => true,
  20. 'workflow' => array(
  21. 'name' => $workflow->getName(),
  22. 'transition' => $transition->getName(),
  23. ),
  24. );
  25. }
  26. }
  27. return $actions;
  28. }
  29. }