WorkflowAdmin.php 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  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 WorkflowAdmin extends BaseAdmin
  10. {
  11. public function getTemplate($name)
  12. {
  13. switch ($name) {
  14. case 'edit':
  15. return 'WorkflowBundle:Workflow:workflow_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('description')
  30. ->add('enable')
  31. ->add('template')
  32. ;
  33. }
  34. /**
  35. * @param ListMapper $listMapper
  36. */
  37. protected function configureListFields(ListMapper $listMapper)
  38. {
  39. $listMapper
  40. ->add('name')
  41. ->add('description')
  42. ->add('enable')
  43. ->add('_action', null, array(
  44. 'actions' => array(
  45. 'show' => array(),
  46. 'edit' => array(),
  47. 'delete' => array()
  48. )
  49. ))
  50. ;
  51. }
  52. /**
  53. * @param FormMapper $formMapper
  54. */
  55. protected function configureFormFields(FormMapper $formMapper)
  56. {
  57. $formMapper
  58. ->add('name')
  59. ->add('description')
  60. ->add('enable')
  61. ->add('type', 'choice', array('choices' => array('state_machine' => 'state_machine', 'workflow' => 'workflow')))
  62. ->add('markingType', 'choice', array('choices' => array('single_state' => 'single_state', 'multiple_state' => 'multiple_state')))
  63. ->add('markingName', 'choice', array('choices' => array('currentState' => 'currentState')))
  64. ->add('template', null, array('attr' => array('style' => 'height:500px;')))
  65. ->setHelps(array(
  66. 'name' => $this->trans("helps.workflow_label_name"),
  67. 'type' => $this->trans("helps.workflow_label_type"),
  68. 'markingType' => $this->trans("helps.workflow_label_marking_type"),
  69. 'markingName' => $this->trans("helps.workflow_label_marking_name"),
  70. ))
  71. ;
  72. }
  73. /**
  74. * @param ShowMapper $showMapper
  75. */
  76. protected function configureShowFields(ShowMapper $showMapper)
  77. {
  78. $showMapper
  79. ->add('id')
  80. ->add('name')
  81. ->add('description')
  82. ->add('enable')
  83. ->add('created')
  84. ->add('updated')
  85. ->add('type')
  86. ->add('markingType')
  87. ->add('markingName')
  88. ->add('template','string', array('template' => 'WorkflowBundle:Workflow:show_template.html.twig'))
  89. ;
  90. }
  91. }