123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- <?php
- namespace WorkflowBundle\Admin;
- use Base\AdminBundle\Admin\BaseAdmin;
- use Sonata\AdminBundle\Datagrid\DatagridMapper;
- use Sonata\AdminBundle\Datagrid\ListMapper;
- use Sonata\AdminBundle\Form\FormMapper;
- use Sonata\AdminBundle\Show\ShowMapper;
- use Symfony\Component\Yaml\Yaml;
- use WorkflowBundle\Utils\WorkFlowEntityClasses;
- class WorkflowAdmin extends BaseAdmin
- {
- public function getTemplate($name)
- {
- switch ($name) {
- case 'edit':
- return 'WorkflowBundle:Workflow:workflow_edit.html.twig';
- break;
- default:
- return parent::getTemplate($name);
- break;
- }
- }
- /**
- * @param DatagridMapper $datagridMapper
- */
- protected function configureDatagridFilters(DatagridMapper $datagridMapper)
- {
- $datagridMapper
- ->add('name')
- ->add('description')
- ->add('enable')
- ->add('template')
- ;
- }
- /**
- * @param ListMapper $listMapper
- */
- protected function configureListFields(ListMapper $listMapper)
- {
- $listMapper
- ->add('name')
- ->add('description')
- ->add('enable')
- ->add('_action', null, array(
- 'actions' => array(
- 'show' => array(),
- 'edit' => array(),
- 'delete' => array()
- )
- ))
- ;
- }
- /**
- * @param FormMapper $formMapper
- */
- protected function configureFormFields(FormMapper $formMapper)
- {
- $_supports = WorkFlowEntityClasses::getClass();
- $supports = array();
- foreach($_supports as $key => $class) {
- if(class_exists($key)) {
- $supports[$key] = $key;
- }
- }
-
- $formMapper
- ->add('name')
- ->add('description')
- ->add('enable')
- ->add('type', 'choice', array('choices' => array('state_machine' => 'state_machine', 'workflow' => 'workflow')))
- ->add('markingType', 'choice', array('choices' => array('single_state' => 'single_state', 'multiple_state' => 'multiple_state')))
- ->add('markingName', 'choice', array('choices' => array('currentState' => 'currentState')))
- ->add('support', 'choice', array('choices' => $supports,'multiple' => true, 'required' => true))
- ->add('template', null, array('attr' => array('style' => 'height:500px;')))
- ->setHelps(array(
- 'name' => $this->trans("helps.workflow_label_name"),
- 'type' => $this->trans("helps.workflow_label_type"),
- 'markingType' => $this->trans("helps.workflow_label_marking_type"),
- 'markingName' => $this->trans("helps.workflow_label_marking_name"),
- ))
- ;
- }
- /**
- * @param ShowMapper $showMapper
- */
- protected function configureShowFields(ShowMapper $showMapper)
- {
- $showMapper
- ->add('id')
- ->add('name')
- ->add('description')
- ->add('enable')
- ->add('created')
- ->add('updated')
- ->add('type')
- ->add('markingType')
- ->add('markingName')
- ->add('support')
- ->add('template','string', array('template' => 'WorkflowBundle:Workflow:show_template.html.twig'))
- ;
- }
- }
|