ActionAdmin.php 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. <?php
  2. namespace WorkflowBundle\Admin;
  3. use Base\AdminBundle\Admin\BaseAdmin;
  4. use Sonata\AdminBundle\Datagrid\DatagridMapper;
  5. use Sonata\AdminBundle\Datagrid\ListMapper;
  6. use Sonata\AdminBundle\Form\FormMapper;
  7. use Sonata\AdminBundle\Show\ShowMapper;
  8. use Symfony\Component\Yaml\Yaml;
  9. class ActionAdmin extends BaseAdmin
  10. {
  11. public function getTemplate($name)
  12. {
  13. switch ($name) {
  14. case 'edit':
  15. return 'WorkflowBundle:Action:action_edit.html.twig';
  16. break;
  17. default:
  18. return parent::getTemplate($name);
  19. break;
  20. }
  21. }
  22. /**
  23. * @param DatagridMapper $datagridMapper
  24. */
  25. protected function configureDatagridFilters(DatagridMapper $datagridMapper)
  26. {
  27. $datagridMapper
  28. ->add('name')
  29. ->add('workflowType')
  30. ->add('workflowName')
  31. ->add('objectClass')
  32. ->add('event')
  33. ->add('template')
  34. ;
  35. }
  36. /**
  37. * @param ListMapper $listMapper
  38. */
  39. protected function configureListFields(ListMapper $listMapper)
  40. {
  41. $listMapper
  42. ->add('name')
  43. ->add('workflowType')
  44. ->add('workflowName')
  45. ->add('objectClass')
  46. ->add('event')
  47. ->add('eventReference')
  48. ->add('_action', null, array(
  49. 'actions' => array(
  50. 'show' => array(),
  51. 'edit' => array(),
  52. 'delete' => array()
  53. )
  54. ))
  55. ;
  56. }
  57. /**
  58. * @param FormMapper $formMapper
  59. */
  60. protected function configureFormFields(FormMapper $formMapper)
  61. {
  62. $formMapper
  63. ->add('name')
  64. ->add('workflowType', 'choice', array('choices' => array('state_machine' => 'state_machine', 'workflow' => 'workflow')))
  65. ->add('workflowName')
  66. ->add('objectClass', 'choice', array('choices' => array('FTTHBundle\Entity\ONU' => 'FTTHBundle\Entity\ONU', 'FTTHBundle\Entity\OLT' => 'FTTHBundle\Entity\OLT')))
  67. ->add('event', 'choice', array('choices' => array('transition' => 'transition', 'leave' => 'leave', 'enter' => 'enter', 'guard' => 'guard')))
  68. ->add('eventReference')
  69. ->add('template', null, array('attr' => array('style' => 'height:500px;')))
  70. ->setHelps(array(
  71. 'workflowType' => $this->trans("helps.action_label_workflow_type"),
  72. 'workflowName' => $this->trans("helps.action_label_workflow_name"),
  73. 'name' => $this->trans("helps.action_label_name"),
  74. 'objectClass' => $this->trans("helps.action_label_object_class"),
  75. 'event' => $this->trans("helps.action_label_event"),
  76. 'eventReference' => $this->trans("helps.action_label_event_reference"),
  77. 'template' => $this->trans("helps.action_label_template")
  78. ))
  79. ;
  80. }
  81. /**
  82. * @param ShowMapper $showMapper
  83. */
  84. protected function configureShowFields(ShowMapper $showMapper)
  85. {
  86. $showMapper
  87. ->add('id')
  88. ->add('name')
  89. ->add('workflowType')
  90. ->add('workflowName')
  91. ->add('objectClass')
  92. ->add('event')
  93. ->add('eventReference')
  94. ->add('template','string', array('template' => 'WorkflowBundle:Action:show_template.html.twig'))
  95. ;
  96. }
  97. }